mirror of https://github.com/istio/istio.io.git
Updates for DM installer for 1.1 part2 (#3010)
* Updates for DM installer for 1.1 * remove ServiceGraph references
This commit is contained in:
parent
2423cbf495
commit
aaedef2d22
Binary file not shown.
|
After Width: | Height: | Size: 132 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 84 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 49 KiB |
|
|
@ -41,21 +41,22 @@ caption="GKE-IAM Role"
|
|||
|
||||
### Launch Deployment Manager
|
||||
|
||||
1. Once you have an account and project enabled, click the following link to open the Deployment Manager.
|
||||
1. Once you have an account and project enabled, click the following link to open the Deployment Manager.
|
||||
|
||||
[Istio GKE Deployment Manager](https://accounts.google.com/signin/v2/identifier?service=cloudconsole&continue=https://console.cloud.google.com/launcher/config?templateurl={{< github_file >}}/install/gcp/deployment_manager/istio-cluster.jinja&followup=https://console.cloud.google.com/launcher/config?templateurl=https://raw.githubusercontent.com/istio/istio/master/install/gcp/deployment_manager/istio-cluster.jinja&flowName=GlifWebSignIn&flowEntry=ServiceLogin)
|
||||
|
||||
We recommend that you leave the default settings as the rest of this tutorial shows how to access the installed features. By default the tool creates a
|
||||
GKE alpha cluster with the specified settings, then installs the Istio [control plane](/docs/concepts/what-is-istio/#architecture), the
|
||||
GKE cluster with the specified settings, then installs the Istio [control plane](/docs/concepts/what-is-istio/#architecture), the
|
||||
[Bookinfo](/docs/examples/bookinfo/) sample app,
|
||||
[Grafana](/docs/tasks/telemetry/using-istio-dashboard/) with
|
||||
[Prometheus](/docs/tasks/telemetry/querying-metrics/),
|
||||
[Kiali](/docs/tasks/telemetry/kiali/),
|
||||
and [Tracing](/docs/tasks/telemetry/distributed-tracing/).
|
||||
You'll find out more about how to access all of these below. This script will enable Istio auto-injection on the `default` namespace only.
|
||||
|
||||
1. Click **Deploy**:
|
||||
1. Click **Deploy**:
|
||||
|
||||
{{< image width="100%" ratio="67.17%"
|
||||
{{< image width="60%" ratio="160%"
|
||||
link="./dm_launcher.png"
|
||||
caption="GKE-Istio Launcher"
|
||||
>}}
|
||||
|
|
@ -66,18 +67,18 @@ Wait until Istio is fully deployed. Note that this can take up to five minutes.
|
|||
|
||||
Once deployment is complete, do the following on the workstation where you've installed `gcloud`:
|
||||
|
||||
1. Bootstrap `kubectl` for the cluster you just created and confirm the cluster is
|
||||
1. Bootstrap `kubectl` for the cluster you just created and confirm the cluster is
|
||||
running and Istio is enabled
|
||||
|
||||
{{< text bash >}}
|
||||
$ gcloud container clusters list
|
||||
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
|
||||
istio-cluster us-central1-a 1.9.7-gke.1 35.232.222.60 n1-standard-2 1.9.7-gke.1 4 RUNNING
|
||||
istio-cluster us-central1-a 1.9.7-gke.11 35.188.172.144 n1-standard-2 1.9.7-gke.11 4 RUNNING
|
||||
{{< /text >}}
|
||||
|
||||
In this case, the cluster name is `istio-cluster`.
|
||||
|
||||
1. Now acquire the credentials for this cluster
|
||||
1. Now acquire the credentials for this cluster
|
||||
|
||||
{{< text bash >}}
|
||||
$ gcloud container clusters get-credentials istio-cluster --zone=us-central1-a
|
||||
|
|
@ -89,43 +90,45 @@ Verify Istio is installed in its own namespace
|
|||
|
||||
{{< text bash >}}
|
||||
$ kubectl get deployments,ing -n istio-system
|
||||
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
||||
deploy/grafana 1 1 1 1 4m
|
||||
deploy/istio-citadel 1 1 1 1 4m
|
||||
deploy/istio-egressgateway 1 1 1 1 4m
|
||||
deploy/istio-ingress 1 1 1 1 4m
|
||||
deploy/istio-ingressgateway 1 1 1 1 4m
|
||||
deploy/istio-pilot 1 1 1 1 4m
|
||||
deploy/istio-policy 1 1 1 1 4m
|
||||
deploy/istio-sidecar-injector 1 1 1 1 4m
|
||||
deploy/istio-statsd-prom-bridge 1 1 1 1 4m
|
||||
deploy/istio-telemetry 1 1 1 1 4m
|
||||
deploy/prometheus 1 1 1 1 4m
|
||||
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
||||
deployment.extensions/grafana 1 1 1 1 3m
|
||||
deployment.extensions/istio-citadel 1 1 1 1 3m
|
||||
deployment.extensions/istio-egressgateway 2 2 2 2 3m
|
||||
deployment.extensions/istio-galley 1 1 1 1 3m
|
||||
deployment.extensions/istio-ingressgateway 2 2 2 2 3m
|
||||
deployment.extensions/istio-pilot 1 1 1 1 3m
|
||||
deployment.extensions/istio-policy 1 1 1 1 3m
|
||||
deployment.extensions/istio-sidecar-injector 1 1 1 1 3m
|
||||
deployment.extensions/istio-telemetry 1 1 1 1 3m
|
||||
deployment.extensions/istio-tracing 1 1 1 1 3m
|
||||
deployment.extensions/kiali 1 1 1 1 1m
|
||||
deployment.extensions/prometheus 1 1 1 1 3m
|
||||
deployment.extensions/servicegraph 1 1 1 1 3m
|
||||
{{< /text >}}
|
||||
|
||||
Now confirm that the Bookinfo sample application is also installed:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl get deployments,ing
|
||||
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
||||
deploy/details-v1 1 1 1 1 7m
|
||||
deploy/productpage-v1 1 1 1 1 7m
|
||||
deploy/ratings-v1 1 1 1 1 7m
|
||||
deploy/reviews-v1 1 1 1 1 7m
|
||||
deploy/reviews-v2 1 1 1 1 7m
|
||||
deploy/reviews-v3 1 1 1 1 7m
|
||||
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
||||
deployment.extensions/details-v1 1 1 1 1 1m
|
||||
deployment.extensions/productpage-v1 1 1 1 1 1m
|
||||
deployment.extensions/ratings-v1 1 1 1 1 1m
|
||||
deployment.extensions/reviews-v1 1 1 1 1 1m
|
||||
deployment.extensions/reviews-v2 1 1 1 1 1m
|
||||
deployment.extensions/reviews-v3 1 1 1 1 1m
|
||||
{{< /text >}}
|
||||
|
||||
Now get the `istio-ingress` IP:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl get svc istio-ingressgateway -n istio-system
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
istio-ingressgateway LoadBalancer 10.59.251.109 35.194.26.85 80:31380/TCP,443:31390/TCP,31400:31400/TCP 6m
|
||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
istio-ingressgateway LoadBalancer 10.59.245.24 35.239.8.197 80:31380/TCP,443:31390/TCP,31400:31400/TCP,15029:32759/TCP,15030:31508/TCP,15031:32482/TCP,15032:31532/TCP,15443:30156/TCP 4m
|
||||
{{< /text >}}
|
||||
|
||||
Note down the IP address (EXTERNAL-IP) and port assigned to the Bookinfo product page
|
||||
(in the example above, it's `35.194.26.85:80`).
|
||||
(in the example above, it's `35.239.8.197:80`).
|
||||
|
||||
You can also view the installation using the **Kubernetes Engine -> Workloads** section on the [Cloud Console](https://console.cloud.google.com/kubernetes/workload):
|
||||
|
||||
|
|
@ -136,21 +139,21 @@ You can also view the installation using the **Kubernetes Engine -> Workloads**
|
|||
|
||||
### Access the Bookinfo sample
|
||||
|
||||
1. Set up an environment variable for Bookinfo's external IP address:
|
||||
1. Set up an environment variable for Bookinfo's external IP address:
|
||||
|
||||
{{< text bash >}}
|
||||
$ export GATEWAY_URL=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
$ echo $GATEWAY_URL
|
||||
{{< /text >}}
|
||||
|
||||
1. Verify you can access the Bookinfo `http://${GATEWAY_URL}/productpage`:
|
||||
1. Verify you can access the Bookinfo `http://${GATEWAY_URL}/productpage`:
|
||||
|
||||
{{< image width="100%" ratio="45.04%"
|
||||
link="./dm_bookinfo.png"
|
||||
caption="Bookinfo"
|
||||
>}}
|
||||
|
||||
1. Now send some traffic to it:
|
||||
1. Now send some traffic to it:
|
||||
|
||||
{{< text bash >}}
|
||||
$ for i in {1..100}; do curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage; done
|
||||
|
|
@ -164,17 +167,17 @@ If you are using Cloud Shell rather than the installed `gcloud` client, you can
|
|||
|
||||
### Grafana
|
||||
|
||||
Set up a tunnel to Grafana:
|
||||
1. Set up a tunnel to Grafana:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &
|
||||
{{< /text >}}
|
||||
{{< text bash >}}
|
||||
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &
|
||||
{{< /text >}}
|
||||
|
||||
then
|
||||
1. View the console at:
|
||||
|
||||
{{< text plain >}}
|
||||
http://localhost:3000/dashboard/db/istio-mesh-dashboard
|
||||
{{< /text >}}
|
||||
{{< text plain >}}
|
||||
http://localhost:3000/dashboard/db/istio-dashboard
|
||||
{{< /text >}}
|
||||
|
||||
You should see some statistics for the requests you sent earlier.
|
||||
|
||||
|
|
@ -189,15 +192,17 @@ For more details about using Grafana, see [About the Grafana Add-on](/docs/tasks
|
|||
|
||||
Prometheus is installed with Grafana. You can view Istio and application metrics using the console as follows:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &
|
||||
{{< /text >}}
|
||||
1. Set up a tunnel to Prometheus:
|
||||
|
||||
View the console at:
|
||||
{{< text bash >}}
|
||||
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &
|
||||
{{< /text >}}
|
||||
|
||||
{{< text plain >}}
|
||||
http://localhost:9090/graph
|
||||
{{< /text >}}
|
||||
1. View the console at:
|
||||
|
||||
{{< text plain >}}
|
||||
http://localhost:9090/graph
|
||||
{{< /text >}}
|
||||
|
||||
{{< image width="100%" ratio="43.88%"
|
||||
link="./dm_prometheus.png"
|
||||
|
|
@ -206,15 +211,41 @@ http://localhost:9090/graph
|
|||
|
||||
For more details, see [About the Prometheus Add-on](/docs/tasks/telemetry/querying-metrics/#about-the-prometheus-add-on).
|
||||
|
||||
### Install mesh visualization tools
|
||||
|
||||
#### Kiali
|
||||
|
||||
1. Set up a tunnel to Kiali:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001 &
|
||||
{{< /text >}}
|
||||
|
||||
1. You should see the Bookinfo service topology at
|
||||
|
||||
{{< text plain >}}
|
||||
http://localhost:20001/kiali/console/overview
|
||||
{{< /text >}}
|
||||
|
||||
Enter the username/password for the Kiali admin console you specified during setup.
|
||||
Otherwise, the default username/password for the console is `admin`/`mysecret`.
|
||||
|
||||
{{< image width="100%" ratio="53.33%"
|
||||
link="./dm_kiali.png"
|
||||
caption="Kiali"
|
||||
>}}
|
||||
|
||||
For more details, see [About the Kiali Add-on](/docs/tasks/telemetry/kiali/).
|
||||
|
||||
## Tracing
|
||||
|
||||
Set up a tunnel to the tracing dashboard:
|
||||
1. Set up a tunnel to the tracing dashboard:
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}') 16686:16686 &
|
||||
{{< /text >}}
|
||||
{{< text bash >}}
|
||||
$ kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath='{.items[0].metadata.name}') 16686:16686 &
|
||||
{{< /text >}}
|
||||
|
||||
You should see the trace statistics sent earlier on [http://localhost:16686](http://localhost:16686)
|
||||
1. You should see the trace statistics sent earlier on [http://localhost:16686](http://localhost:16686)
|
||||
|
||||
{{< image width="100%" ratio="42.35%"
|
||||
link="./dm-tracing.png"
|
||||
|
|
|
|||
Loading…
Reference in New Issue