istio.io/archive/v0.4/docs/setup/kubernetes/quick-start-gke-dm.html

39 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en" itemscope itemtype="https://schema.org/WebPage" style="overflow-y: scroll;"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="title" content="Quick Start with Google Kubernetes Engine"><meta name="og:title" content="Quick Start with Google Kubernetes Engine"><meta name="og:image" content="/v0.4/img/logo.png"/><meta name="theme-color" content="#466BB0"/><meta name="description" content="Quick Start instructions to setup the Istio service using Google Kubernetes Engine (GKE)"><meta name="og:description" content="Quick Start instructions to setup the Istio service using Google Kubernetes Engine (GKE)"><title>Istioldie 0.4 / Quick Start with Google Kubernetes Engine</title><script> window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga('create', 'UA-98480406-2', 'auto'); ga('send', 'pageview'); </script> <script async src='https://www.google-analytics.com/analytics.js'></script><link rel="alternate" type="application/rss+xml" title="Istio Blog RSS" href="/v0.4/feed.xml"><link rel="shortcut icon" href="/v0.4/favicons/favicon.ico" ><link rel="apple-touch-icon" href="/v0.4/favicons/apple-touch-icon-180x180.png" sizes="180x180"><link rel="icon" type="image/png" href="/v0.4/favicons/favicon-16x16.png" sizes="16x16"><link rel="icon" type="image/png" href="/v0.4/favicons/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/v0.4/favicons/android-36x36.png" sizes="36x36"><link rel="icon" type="image/png" href="/v0.4/favicons/android-48x48.png" sizes="48x48"><link rel="icon" type="image/png" href="/v0.4/favicons/android-72x72.png" sizes="72x72"><link rel="icon" type="image/png" href="/v0.4/favicons/android-96x196.png" sizes="96x196"><link rel="icon" type="image/png" href="/v0.4/favicons/android-144x144.png" sizes="144x144"><link rel="icon" type="image/png" href="/v0.4/favicons/android-192x192.png" sizes="192x192"><link rel="manifest" href="/v0.4/manifest.json"><meta name="apple-mobile-web-app-title" content="Istio"><meta name="application-name" content="Istio"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><link rel="stylesheet" href="/v0.4/css/all.css"><link rel="stylesheet" href="/v0.4/css/prism.css"></head><body class="language-unknown"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script><div class="nav-hero-container" style="z-index: 200000;"><nav id="header-nav" class="navbar navbar-inverse" role="navigation" style="z-index: 200000;"><div class="container"><div class="row"><div class="col-md-11 nofloat center-block "><div class="navbar-header"> <button type="button" class="hamburger navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/v0.4/"><div> <img src="/v0.4/img/istio-logo.svg" alt="Istio Logo" height="54px"/> <span class="brand-name">Istioldie 0.4</span></div></a></div><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="/v0.4/about" >About</a></li><li><a href="/v0.4/blog/posts/2017/mixer-spof-myth.html" >Blog</a></li><li><a href="/v0.4/docs/welcome" class='current'>Docs</a></li><li><a href="/v0.4/help" >Help</a></li><li><a href="/v0.4/community" >Community</a></li><li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href=""> <i class='fa fa-lg fa-cog'></i> <span class="caret"></span> </a><ul class="dropdown-menu"><h6 class="dropdown-header">Other versions of this site</h6><li> <a href="https://istio.io">Current Release</a></li><li> <a href="https://preliminary.istio.io">Next Release</a></li><li> <a href="https://archive.istio.io">Older Releases</a></li></ul></li><li><form name="cse" id="searchbox_demo" class="navbar-form navbar-right" role="search"> <input type="hidden" name="cx" value="013699703217164175118:iwwf17ikgf4" /> <input type="hidden" name="ie" value="utf-8" /> <input type="hidden" name="hl" value="en" /><div class="form-group"><div class="input-group"> <input name="q" class="form-control search-box" type="text" size="30" /><div class="input-group-addon"> <span class="btn-search glyphicon glyphicon-search"></span></div></div></div></form> <script type="text/javascript" src="https://www.google.com/cse/brand?form=searchbox_demo"></script></li></ul></div></div></div></div></nav></div><div class="container"><div class="row"><div class="col-md-11 nofloat center-block" style="margin-top: 3px;"><ul class="col-sm-10 nav nav-tabs"><li role="presentation" ><a href="/v0.4/docs/welcome/">Welcome</a></li><li role="presentation" ><a href="/v0.4/docs/concepts/">Concepts</a></li><li role="presentation" class='active'><a href="/v0.4/docs/setup/">Setup</a></li><li role="presentation" ><a href="/v0.4/docs/tasks/">Tasks</a></li><li role="presentation" ><a href="/v0.4/docs/guides/">Guides</a></li><li role="presentation" ><a href="/v0.4/docs/reference/">Reference</a></li></ul></div></div></div><script src="/v0.4/js/navtree.min.js"></script><div class="container docs"><div class="row"><div class="col-md-11 nofloat center-block"><div class="row"><div id="sidebar-container" class="col-sm-3"><ul class="sidebar"><li><h5 class='sidebar-title'>Setup</h5></li><script type="text/javascript"> var docs = []; docs.push({path: [ "cloudfoundry", "index.md", ], url: "/docs/setup/cloudfoundry/", title: "Cloud Foundry", order: 40, overview: "Instructions for installing the Istio control plane in Cloud Foundry."}); docs.push({path: [ "cloudfoundry", "install.md", ], url: "/docs/setup/cloudfoundry/install.html", title: "Installation", order: 10, overview: "Instructions for installing the Istio control plane in Cloud Foundry."}); docs.push({path: [ "consul", "index.md", ], url: "/docs/setup/consul/", title: "Nomad & Consul", order: 20, overview: "Instructions for installing the Istio control plane in a Consul based environment, with or without Nomad."}); docs.push({path: [ "consul", "install.md", ], url: "/docs/setup/consul/install.html", title: "Installation", order: 30, overview: "Instructions for installing the Istio control plane in a Consul based environment, with or without Nomad."}); docs.push({path: [ "consul", "quick-start.md", ], url: "/docs/setup/consul/quick-start.html", title: "Quick Start on Docker", order: 10, overview: "Quick Start instructions to setup the Istio service mesh with Docker Compose."}); docs.push({path: [ "eureka", "index.md", ], url: "/docs/setup/eureka/", title: "Eureka", order: 30, overview: "Instructions for installing the Istio control plane in a Eureka based environment."}); docs.push({path: [ "eureka", "install.md", ], url: "/docs/setup/eureka/install.html", title: "Installation", order: 30, overview: "Instructions for installing the Istio control plane in an Eureka based environment."}); docs.push({path: [ "eureka", "quick-start.md", ], url: "/docs/setup/eureka/quick-start.html", title: "Quick Start on Docker", order: 10, overview: "Quick Start instructions to setup the Istio service mesh with Docker Compose."}); docs.push({path: [ "index.md", ], url: "/docs/setup/", title: "Setup", order: 15, overview: "Setup contains instructions for installing the Istio control plane in various environments (e.g., Kubernetes, Consul, etc.), as well as instructions for installing the sidecar in the application deployment."}); docs.push({path: [ "kubernetes", "index.md", ], url: "/docs/setup/kubernetes/", title: "Kubernetes", order: 10, overview: "Instructions for installing the Istio control plane on Kubernetes and adding VMs into the mesh."}); docs.push({path: [ "kubernetes", "mesh-expansion.md", ], url: "/docs/setup/kubernetes/mesh-expansion.html", title: "Istio Mesh Expansion", order: 60, overview: "Instructions for integrating VMs and bare metal hosts into an Istio mesh deployed on Kubernetes."}); docs.push({path: [ "kubernetes", "quick-start-gke-dm.md", ], url: "/docs/setup/kubernetes/quick-start-gke-dm.html", title: "Quick Start with Google Kubernetes Engine", order: 11, overview: "Quick Start instructions to setup the Istio service using Google Kubernetes Engine (GKE)"}); docs.push({path: [ "kubernetes", "quick-start.md", ], url: "/docs/setup/kubernetes/quick-start.html", title: "Quick Start", order: 10, overview: "Quick Start instructions to setup the Istio service mesh in a Kubernetes cluster."}); docs.push({path: [ "kubernetes", "sidecar-injection.md", ], url: "/docs/setup/kubernetes/sidecar-injection.html", title: "Installing Istio Sidecar", order: 50, overview: "Instructions for installing the Istio sidecar in application pods automatically using the Istio initializer or manually using istioctl CLI."}); docs.push({path: [ "mesos", "index.md", ], url: "/docs/setup/mesos/", title: "Mesos", order: 50, overview: "Instructions for installing the Istio control plane in Apache Mesos."}); docs.push({path: [ "mesos", "install.md", ], url: "/docs/setup/mesos/install.html", title: "Installation", order: 10, overview: "Instructions for installing the Istio control plane in Apache Mesos."}); genSideBarTree(docs) </script></ul></div><div id="tab-container" class="col-xs-1 tab-neg-margin pull-left"> <a id="sidebar-tab" class="glyphicon glyphicon-chevron-left" href="javascript:void 0;"> </a></div><div id="content-container" class="thin-left-border col-sm-9 markdown"><div id="toc" class="toc"></div><div id="doc-content"><h1>Quick Start with Google Kubernetes Engine</h1><p>Quick Start instructions to install and run Istio in <a href="https://cloud.google.com/kubernetes-engine/" target="_blank">Google Kubernetes Engine</a> (GKE) using <a href="https://cloud.google.com/deployment-manager/" target="_blank">Google Cloud Deployment Manager</a>.</p><p>This Quick Start creates a new GKE cluster, installs Istio and then deploys the <a href="/v0.4/docs/guides/bookinfo.html" target="_blank">BookInfo</a> sample application. It uses Deployment Manager to automate the steps detailed in the <a href="/v0.4/docs/setup/kubernetes/quick-start.html" target="_blank">Istio on Kubernetes setup guide</a> for Kubernetes Engine</p><blockquote><p><strong>Note:</strong> The default install will create a GKE <a href="https://cloud.google.com/kubernetes-engine/docs/alpha-clusters" target="_blank"><strong>alpha</strong> cluster</a> that allows for <a href="/v0.4/docs/setup/kubernetes/sidecar-injection.html#automatic-sidecar-injection" target="_blank">automatic sidecar injection</a>. As it is an alpha cluster, it does not support automatic node or master upgrades and will be automatically deleted after 30 days.</p></blockquote><h2 id="prerequisites">Prerequisites</h2><ul><li><p>This sample requires a valid Google Cloud Platform project with billing enabled. If you are not an existing GCP user, you may be able to enroll for a $300 US <a href="https://cloud.google.com/free/" target="_blank">Free Trial</a> credit.</p></li><li><p>Ensure that the <a href="https://console.cloud.google.com/apis/library/container.googleapis.com/" target="_blank">Google Container Engine API</a>is enabled for your project (also found by navigating to “APIs &amp; Services” -&gt; “Dashboard” in the navigation bar). If you do not see “API enabled”, then you may enable the API by clicking the “Enable this API” button.</p></li><li><p>You must install and configure the <a href="https://cloud.google.com/sdk/docs/" target="_blank">gcloud command line tool</a> and include the <code>kubectl</code> component (<code>gcloud components install kubectl</code>). If you dont want to install the <code>gcloud</code> client on your own machine, you can use <code>gcloud</code> via <a href="https://cloud.google.com/shell/docs/" target="_blank">Google Cloud Shell</a> to perform the same tasks.</p></li><li><p><img src="/v0.4/img/exclamation-mark.svg" alt="Warning" title="Warning" style="width: 32px; display:inline" /> You must set your default compute service account to include:</p><blockquote><ul><li><code>roles/container.admin</code> (Kubernetes Engine Admin)</li><li><code>Editor</code> (on by default)</li></ul></blockquote><p>To set this, navigate to the <strong>IAM</strong> section of the <a href="https://console.cloud.google.com/iam-admin/iam/project" target="_blank">Cloud Console</a> and find your default GCE/GKE service account in the following form: <code>projectNumber-compute@developer.gserviceaccount.com</code>: by default it should just have the <strong>Editor</strong> role. Then in the <strong>Roles</strong> drop-down list for that account, find the <strong>Kubernetes Engine</strong> group and select the role <strong>Kubernetes Engine Admin</strong>. The <strong>Roles</strong> listing for your account will change to <strong>Multiple</strong>.</p></li></ul><h2 id="setup">Setup</h2><h3 id="launch-deployment-manager">Launch Deployment Manager</h3><ol><li><p>Once you have an account and project enabled, click the following link to open the Deployment Manager.</p><ul><li><a href="https://accounts.google.com/signin/v2/identifier?service=cloudconsole&amp;continue=https://console.cloud.google.com/launcher/config?templateurl=https://raw.githubusercontent.com/istio/istio/master/install/gcp/deployment_manager/istio-cluster.jinja&amp;followup=https://console.cloud.google.com/launcher/config?templateurl=https://raw.githubusercontent.com/istio/istio/master/install/gcp/deployment_manager/istio-cluster.jinja&amp;flowName=GlifWebSignIn&amp;flowEntry=ServiceLogin" target="_blank">Istio GKE Deployment Manager</a></li></ul><p>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 <a href="/v0.4/docs/concepts/what-is-istio/overview.html#architecture" target="_blank">control plane</a>, the <a href="/v0.4/docs/guides/bookinfo.html" target="_blank">BookInfo</a> sample app, <a href="/v0.4/docs/tasks/telemetry/using-istio-dashboard.html" target="_blank">Grafana</a> with <a href="/v0.4/docs/tasks/telemetry/querying-metrics.html" target="_blank">Prometheus</a>, <a href="/v0.4/docs/tasks/telemetry/servicegraph.html" target="_blank">ServiceGraph</a>, and <a href="/v0.4/docs/tasks/telemetry/distributed-tracing.html#zipkin" target="_blank">Zipkin</a>. Youll find out more about how to access all of these below.</p></li><li><p>Click <strong>Deploy</strong>:</p><p><img src="img/dm_launcher.png" alt="GKE-Istio Launcher" /></p><p>Wait until Istio is fully deployed. Note that this can take up to five minutes.</p></li></ol><h3 id="bootstrap-gcloud">Bootstrap gcloud</h3><p>Once deployment is complete, do the following on the workstation where youve installed <code>gcloud</code>:</p><ol><li><p>Bootstrap kubectl for the cluster you just created and confirm the cluster is running and istio is enabled</p><pre><code>gcloud container clusters list
</code></pre><pre><code>NAME ZONE MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
istio-cluster us-central1-a 1.7.8-gke.0 ALPHA (29 days left) 130.211.216.64 n1-standard-2 1.7.8-gke.0 3 RUNNING
</code></pre><p>In this case, the cluster name is <code>istio-cluster</code></p></li><li><p>Now acquire the credentials for this cluster</p><pre><code>gcloud container clusters get-credentials istio-cluster --zone=us-central1-a
</code></pre></li></ol><h2 id="verify-installation">Verify installation</h2><p>Verify Istio is installed in its own namespace</p><pre><code class="language-bash">kubectl get deployments,ing -n istio-system
</code></pre><pre><code>NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/grafana 1 1 1 1 3m
deploy/istio-ca 1 1 1 1 3m
deploy/istio-ingress 1 1 1 1 3m
deploy/istio-initializer 1 1 1 1 3m
deploy/istio-mixer 1 1 1 1 3m
deploy/istio-pilot 1 1 1 1 3m
deploy/prometheus 1 1 1 1 3m
deploy/servicegraph 1 1 1 1 3m
deploy/zipkin 1 1 1 1 3m
</code></pre><p>Now confirm that the BookInfo sample application is also installed:</p><pre><code class="language-bash">kubectl get deployments,ing
</code></pre><pre><code>NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/details-v1 1 1 1 1 3m
deploy/productpage-v1 1 1 1 1 3m
deploy/ratings-v1 1 1 1 1 3m
deploy/reviews-v1 1 1 1 1 3m
deploy/reviews-v2 1 1 1 1 3m
deploy/reviews-v3 1 1 1 1 3m
NAME HOSTS ADDRESS PORTS AGE
ing/gateway * 35.202.120.89 80 3m
</code></pre><p>Note down the IP and Port assigned to BookInfo product page. (in the example above, its <code>35.202.120.89:80</code>.</p><p>You can also view the installation using the <strong>*Kubernetes Engine -&gt; Workloads</strong> section on the <a href="https://console.cloud.google.com/kubernetes/workload" target="_blank">Cloud Console</a>:</p><p><img src="img/dm_kubernetes_workloads.png" alt="GKE-Workloads" /></p><h3 id="access-the-bookinfo-sample">Access the BookInfo sample</h3><ol><li><p>Set up an environment variable for BookInfos external IP address:</p><pre><code class="language-bash">kubectl get ingress -o wide
</code></pre><pre><code class="language-bash">export GATEWAY_URL=35.202.120.89
</code></pre></li><li><p>Verify you can access the BookInfo <code>http://${GATEWAY_URL}/productpage</code>:</p><p><img src="img/dm_bookinfo.png" alt="BookInfo" /></p></li><li><p>Now send some traffic to it:</p><pre><code class="language-bash">for i in {1..100}; do curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage; done
</code></pre></li></ol><h2 id="verify-installed-istio-plugins">Verify installed Istio plugins</h2><p>Once you have verified that the Istio control plane and sample application are working, try accessing the installed Istio plugins.</p><p>If you are using Cloud Shell rather than the installed <code>gcloud</code> client, you can port forward and proxy using its <a href="https://cloud.google.com/shell/docs/using-web-preview#previewing_the_application" target="_blank">Web Preview</a> feature. For example, to access Grafana from Cloud Shell, change the kubectl port mapping from 3000:3000 to 8080:3000. You can simultaneously preview four other consoles via Web Preview proxied on ranges 8080 to 8084.</p><h3 id="grafana">Grafana</h3><p>Set up a tunnel to Grafana:</p><pre><code class="language-bash">kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &amp;
</code></pre><p>then</p><pre><code> http://localhost:3000/dashboard/db/istio-dashboard
</code></pre><p>You should see some statistics for the requests you sent earlier.</p><p><img src="img/dm_grafana.png" alt="Grafana" /></p><p>For more details about using Grafana, see <a href="/v0.4/docs/tasks/telemetry/using-istio-dashboard.html#about-the-grafana-add-on">About the Grafana Add-on</a>.</p><h3 id="prometheus">Prometheus</h3><p>Prometheus is installed with Grafana. You can view Istio and application metrics using the console as follows:</p><pre><code class="language-bash">kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &amp;
</code></pre><p>View the console at:</p><pre><code> http://localhost:9090/graph
</code></pre><p><img src="img/dm_prometheus.png" alt="Prometheus" /></p><p>For more details, see <a href="/v0.4/docs/tasks/telemetry/querying-metrics.html#about-the-prometheus-add-on">About the Prometheus Add-on</a>.</p><h3 id="servicegraph">ServiceGraph</h3><p>Set up a tunnel to ServiceGraph:</p><pre><code class="language-bash">kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=servicegraph -o jsonpath='{.items[0].metadata.name}') 8088:8088 &amp;
</code></pre><p>You should see the BookInfo service topology at</p><pre><code>http://localhost:8088/dotviz
</code></pre><p><img src="img/dm_servicegraph.png" alt="ServiceGraph" /></p><p>For more details, see <a href="/v0.4/docs/tasks/telemetry/servicegraph.html#about-the-servicegraph-add-on">About the ServiceGraph Add-on</a>.</p><h2 id="tracing">Tracing</h2><p>Set up a tunnel to Zipkin:</p><pre><code class="language-bash">kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=zipkin -o jsonpath='{.items[0].metadata.name}') 9411:9411 &amp;
</code></pre><p>You should see the trace statistics sent earlier:</p><pre><code>http://localhost:9411
</code></pre><p><img src="img/dm_zipkin.png" alt="Zipkin" /></p><p>For more details on tracing see <a href="/v0.4/docs/tasks/telemetry/distributed-tracing.html#understanding-what-happened">Understanding what happened</a>.</p><h2 id="whats-next">Whats next?</h2><p>You can further explore the BookInfo app and Istio functionality by following any of the tutorials in the <a href="/v0.4/docs/guides/">Guides</a> section. However, to do this you need to install <code>istioctl</code> to interact with Istio. You can either <a href="/v0.4/docs/setup/kubernetes/quick-start.html#installation-steps">install</a> it directly on our workstation or within Cloud Shell.</p><h2 id="uninstalling">Uninstalling</h2><ol><li><p>Navigate to the Deployments section of the Cloud Console at <a href="https://console.cloud.google.com/deployments" target="_blank">https://console.cloud.google.com/deployments</a></p></li><li><p>Select the deployment and click <strong>Delete</strong>.</p></li><li><p>Deployment Manager will remove all the deployed GKE artifacts - however, items such as Ingress and LoadBalancers will remain. You can delete those artifacts by again going to the cloud console under <a href="https://console.cloud.google.com/net-services/loadbalancing/loadBalancers/list" target="_blank"><strong>Network Services</strong> -&gt; <strong>LoadBalancers</strong></a></p></li></ol></div></div></div></div></div></div><script src="/v0.4/js/sidebar.min.js"></script><footer><div class="container"><div class="row"><div class="col-lg-2 col-md-2 col-sm-2"></div><div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 center-block"><ul><li><a class="header" href="/v0.4/docs/welcome">Docs</a></li><li><a href="/v0.4/docs/concepts">Concepts</a></li><li><a href="/v0.4/docs/setup">Setup</a></li><li><a href="/v0.4/docs/tasks">Tasks</a></li><li><a href="/v0.4/docs/guides">Guides</a></li><li><a href="/v0.4/docs/reference">Reference</a></li></ul></div><div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 center-block"><ul><li><a class="header" href="/v0.4/help">Help</a></li><li><a href="/v0.4/faq">FAQ</a></li><li><a href="/v0.4/glossary">Glossary</a></li><li><a href="/v0.4/troubleshooting">Troubleshooting</a></li><li><a href="/v0.4/bugs">Report Bugs</a></li><li><a href="https://github.com/istio/istio.github.io/issues/new?title=Issue with _docs/setup/kubernetes/quick-start-gke-dm.md">Doc Bugs & Gaps</a></li><li><a href="https://github.com/istio/istio.github.io/edit/master/_docs/setup/kubernetes/quick-start-gke-dm.md">Edit This Page</a></li></ul></div><div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 center-block"><ul><li> <a class="header" href="/v0.4/community">Community</a></li><li> <a href="https://groups.google.com/forum/#!forum/istio-users" target="_blank" rel="noopener">User</a> | <a href="https://groups.google.com/forum/#!forum/istio-dev" target="_blank" rel="noopener">Dev Mailing Lists</a></li><li><a href="https://twitter.com/IstioMesh" target="_blank" rel="noopener">Twitter</a></li><li><a href="https://stackoverflow.com/questions/tagged/istio" target="_blank" rel="noopener">Stack Overflow</a></li><li><a href="https://github.com/istio/community" target="_blank" rel="noopener">GitHub</a></li><li><a href="https://github.com/istio/community/blob/master/WORKING-GROUPS.md" target="_blank" rel="noopener">Working Groups</a></li></ul></div><div class="col-lg-1 col-md-1 col-sm-1"></div></div><div class="row"><p class="description small text-center"> Istio 0.4, Copyright &copy; 2017 Istio Authors<br> Archived on 20-Dec-2017</p></div></div></footer><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.1/jquery.form.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-visible/1.2.0/jquery.visible.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="/v0.4/js/common.min.js"></script> <script src="/v0.4/js/search.js"></script> <script src="/v0.4/js/prism.min.js"></script></body></html>