Skip to content

Install Istio

In this lab you will install Istio.

Download Istio

  1. Run the following command from your home directory.

    curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.23.0 sh -
    
  2. Navigate into the directory created by the above command.

    cd istio-1.23.0
    

Add istioctl to your PATH

The istioctl CLI is located in the bin/ subdirectory.

Workaround for the Google Cloud Shell

Cloud Shell only preserves files located inside your home directory across sessions.

This means that if you install a binary to a PATH such as /usr/local/bin, after your session times out that file may no longer be there!

As a workaround, you will add ${HOME}/bin to your PATH and place the binary there.

  1. Create a bin subdirectory in your home directory:

    mkdir ~/bin
    
  2. Copy the CLI to that subdirectory:

    cp ./bin/istioctl ~/bin
    
  3. Add your home bin subdirectory to your PATH

    cat << EOF >> ~/.bashrc
    
    export PATH="~/bin:\$PATH"
    
    EOF
    

    And then:

    source ~/.bashrc
    

Verify that istioctl is installed with:

istioctl version

The output should indicate that the version is 1.23.0.

With the CLI installed, proceed to install Istio to Kubernetes.

Pre-check

The istioctl CLI provides a convenient precheck command that can be used to "inspect a Kubernetes cluster for Istio install and upgrade requirements."

To verify whether it is safe to install Istio on your Kubernetes cluster, run:

istioctl x precheck

Make sure that the output of the above command returns a green "checkmark" stating that no issues were found when checking the cluster.

Install Istio

  1. Istio can be installed directly with the CLI:

    istioctl install
    
  2. When prompted, enter y to proceed to install Istio.

Take a moment to learn more about Istio installation profiles.

Verify that Istio is installed

Post-installation, Istio provides the command verify-install: it runs a series of checks to ensure that the installation was successful and complete.

Go ahead and run it:

istioctl verify-install

Inspect the output and confirm that the it states that "✔ Istio is installed and verified successfully."

Keep probing:

  1. List Kubernetes namespaces and note the new namespace istio-system

    kubectl get ns
    
  2. Verify that the istiod controller pod is running in that namespace

    kubectl get pod -n istio-system
    
  3. Re-run istioctl version. The output should include a control plane version, indicating that Istio is indeed present in the cluster.

Next

With Istio installed, we are ready to deploy an application to the mesh.