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
.
If the KUBECONFIG
environment variable is set, that then takes precedence.
Supporting Multiple istioctl versions
We recommend always using GetMesh
to invoke istioctl
.
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:
getmesh show
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:
getmesh list
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 Flavor tetrate
.
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