Spring Boot on GCP
  • Introduction
  • Getting Started
    • Google Cloud Platform
    • Cloud Shell
    • gcloud CLI
    • Hello World!
      • Cloud Shell
      • App Engine
      • Cloud Run
      • Kubernetes Engine
      • Compute Engine
      • Cloud Functions
  • Application Development
    • Development Tools
    • Spring Cloud GCP
    • Cloud Services
      • Databases
        • Cloud SQL
        • Cloud Spanner
        • Cloud Firestore
          • Datastore Mode
          • Native Mode
      • Messaging
        • Cloud Pub/Sub
        • Kafka
      • Secret Management
      • Storage
      • Cache
        • Memorystore Redis
        • Memorystore Memcached (beta)
      • Other Services
    • Observability
      • Trace
      • Logging
      • Metrics
      • Profiling
      • Debugging
    • DevOps
      • Artifact Repository
  • Deployment
    • Runtime Environments
    • Container
      • Container Image
      • Secure Container Image
      • Container Awareness
      • Vulnerability Scanning
      • Attestation
    • Kubernetes
      • Kubernetes Cluster
      • Deployment
      • Resources
      • Service
      • Health Checks
      • Load Balancing
        • External Load Balancing
        • Internal Load Balancing
      • Scheduling
      • Workload Identity
      • Binary Authorization
    • Istio
      • Getting Started
      • Sidecar Proxy
  • Additional Resources
    • Code Labs
    • Presentations / Videos
    • Cheat Sheets
Powered by GitBook
On this page
  • Install Istio
  • Install istioctl
  • Install Istio
  • Install Addons

Was this helpful?

  1. Deployment
  2. Istio

Getting Started

PreviousIstioNextSidecar Proxy

Last updated 4 years ago

Was this helpful?

This section requires basic understanding of Kubernetes - make sure you do the tutorial in sequence.

Install Istio

First, make sure you already have a up and running.

Install istioctl

You need to get the istioctl CLI to install Istio into the cluster.

cd $HOME

# Specify an Istio version to install
curl -L https://istio.io/downloadIstio | \
  ISTIO_VERSION=1.7.4 sh -

Add Istio's bin path to shell's PATH.

echo 'export PATH="$PATH:$HOME/istio-1.7.4/bin"' >> ~/.bash_profile

source $HOME/.bash_profile

Verify istioctl is installed properly and with the correct version:

istioctl version

Install Istio

Install the demo profile of Istio, which comes with the basic settings for most of the things you'll want to learn about. In addition, because the cluster in this guide enabled Network Policy, so we can use Istio with Container Network Interface (CNI).

istioctl install \
  --set profile=demo \
  --set values.cni.cniBinDir=/home/kubernetes/bin \
  --set components.cni.enabled=true \
  --set components.cni.namespace=kube-system

Validate that Istio is installed. istioctl version should show you the control plane version.

istioctl version

In addition, Istio is installed into the istio-system namespace.

kubectl get ns

kubectl -n=istio-system get pods

Install Addons

In addition to core-Istio, you can install addons for observability, for example to see distributed traces and out-of-the-box metrics/dashboard.

# Zipkin
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/extras/zipkin.yaml

# Prometheus
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/prometheus.yaml

# Grafana
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/grafana.yaml

# Wait for Grafana a bit before Kiali
sleep 20

# Kiali
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/kiali.yaml
Kubernetes
Kubernetes cluster