Downloading the Release

Download and prepare for the installation

Istio is installed in its own istio-system namespace and can manage services from all other namespaces.

  1. Go to the Istio release page to download the installation file corresponding to your OS. On a macOS or Linux system, you can run the following command to download and extract the latest release automatically:

    $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.2.0 sh -
    
  2. Move to the Istio package directory. For example, if the package is istio-1.2.0:

    $ cd istio-1.2.0
    

    The installation directory contains:

    • Installation YAML files for Kubernetes in install/
    • Sample applications in samples/
    • The istioctl client binary in the bin/ directory. istioctl is used when manually injecting Envoy as a sidecar proxy.
    • The istio.VERSION configuration file
  3. Add the istioctl client to your PATH environment variable, on a macOS or Linux system:

    $ export PATH=$PWD/bin:$PATH
    

Helm Chart Release Repositories

To use the Istio release Helm chart repository, add the Istio release repository as follows:

$ helm repo add istio.io https://storage.googleapis.com/istio-release/releases/1.2.0/charts/

istioctl tab completion

If you are using Bash or ZSH, istioctl includes a helpful script that enables tab completion for the currently available istioctl commands.

Installing the istioctl tab completion file

If you are using Bash, the istioctl tab completion file is located in the tools directory. To use it, copy the istioctl.bash file to your home directory, then add the following line to source the istioctl tab completion file from your .bashrc file:

$ source ~/istioctl.bash

For ZSH users, an additional istioctl tab completion file is also located in the tools directory. In a similar fashion, you can copy the _istioctl file to your home directory, then source the istioctl tab completion file as follows:

$ source < _istioctl

You may also add the _istioctl file to a directory listed in the FPATH variable. To achieve this, place the _istioctl file in an existing directory in the FPATH, or create a new directory and add it to the FPATH variable in your ~/.zshrc file.

Prerequisites for macOS

If you are using macOS with the Bash shell, make sure that the bash-completion package is installed. If you are using the brew package manager for macOS, you can check to see if the bash-completion package is installed with the following command:

$ brew info bash-completion
bash-completion: stable 1.3 (bottled)

If the bash-completion package is not installed, proceed with installing the bash-completion package with the following command:

$ brew install bash-completion

Prerequisites for Linux

For Linux, to install the bash completion package, you would use the apt-get install bash-completion command for Debian-based Linux distributions or yum install bash-completion for RPM-based Linux distributions, the two most common occurrences.

Using istioctl auto-completion

If the istioctl completion file has been installed correctly, press the Tab key while writing an istioctl command, and it should return a set of command suggestions for you to choose from:

$ istioctl proxy-<TAB>
proxy-config proxy-status