Updates for DM installer for 1.1 part2 (#3010)

* Updates for DM installer for 1.1

* remove ServiceGraph references
This commit is contained in:
salrashid123 2019-01-02 12:38:55 -08:00 committed by Martin Taillefer
parent 2423cbf495
commit aaedef2d22
4 changed files with 83 additions and 52 deletions

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

View File

@ -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"