Supporting Multiple Clusters
The GetMesh tool connects to the kubernetes cluster pointed to by the default kubernetes config file. Switch between these using
kubectl config use-context.
KUBECONFIG environment variable is set, that then takes precedence.
Supporting Multiple istioctl versions
We recommend always using
GetMesh to invoke
GetMesh eases switching between multiple versions of istioctl, and does version compatibility and configuration checks to ensure that only certified Istio is deployed.
Refer to Istio documentation for the latest istioctl commands and options.
Real-life requirements very often dictate the use of a different version of istioctl (than the latest version) or leveraging multiple versions of
istioctl due custom configuration. The steps to achieve that are explained below.
List the currently downloaded versions of Istio through Tetrate Istio Distro using the show command:
Example output would be
1.7.6-distro-v0 1.8.1-distro-v0 1.8.2-distro-v0 (Active)
If the required version of Istio is not yet downloaded, the operator can first query the list of trusted Istio versions through the list command:
Example output would be:
ISTIO VERSION FLAVOR FLAVOR VERSION K8S VERSIONS *1.8.2 tetrate 0 1.16,1.17,1.18 1.8.1 tetrate 1 1.16,1.17,1.18 1.7.6 tetratefips 2 1.16,1.17,1.18 1.7.5 tetratefips 3 1.16,1.17,1.18 1.7.4 tetrate 0 1.16,1.17,1.18
Below is an example of obtaining version 1.8.1 of Istio by leveraging the fetch command:
getmesh fetch --version 1.8.1 --flavor tetrate --flavor-version 0
In the example above,
Flavor tetrate maps to upstream Istio with the addition of possible patches and
Flavor tetratefips is a FIPS-compliant version of the
Use the show command
getmesh show to cross check if the Istio version is downloaded and the output will list all versions and mark the active one:
$ getmesh show 1.7.4-distro-v0 1.7.6-distro-v0 1.8.1-distro-v0 (Active) 1.8.2-distro-v0
To switch to a different version of istioctl, run the switch command for example:
getmesh switch --version 1.8.1 --flavor tetrate --flavor-version=0
Output would be something similar to:
istioctl switched to 1.8.1-tetrate-v0 now