Install a Tetrate Istio distribution using istioctl
You can install a Tetrate Istio distribution using istioctl. This is appropriate for quick testing, as an alternative to a helm install.
TID has adopted a new versioning format. See Versioning for more details. We recommend familiarizing yourself with this new format and gradually transitioning to it.
Post the TID 1.24.0 release, the old versioning scheme and its associated repository will be phased out, consolidating all users on the updated format in the new repository.
Before you begin
You need a Kubernetes cluster, and the kubectl
command-line tool must be configured to communicate with your cluster. Istio has a number of platform and networking/application requirements.
Run following command ro get obtain a list of TAGs, corresponding to Tetrate's supported Istio versions and builds.
curl -s https://containers.istio.tetratelabs.com/v2/proxyv2/tags/list | jq
You also need the correct version of the istioctl tool, matching the version of Istio you plan to install.
Installation Steps
Determine the Tetrate Istio distribution version
You need to determine Istio version that you want to install and set it as TAG variable
- New
- Legacy
You can get a list of all the tags available by running the following command:
curl -fSsL https://tis.tetrate.io/versions.json | jq -r '.istio_distributions[].version_flavor'
This command will have following output
1.20.0-tetrate0
1.20.0-tetratefips0
1.19.4-tetrate0
1.19.4-tetratefips0
1.19.3-tetrate0
1.19.3-tetratefips0
1.18.5-tetrate0Then set the tag as environment variable:
export TAG=1.20.0-tetrate0
You can get a list of all the tags available by running the following command:
curl -u "${TIS_USER}:${TIS_PASS}" -s https://addon-containers.istio.tetratelabs.com/v2/proxyv2/tags/list | jq
You can also browse the tags available by searching the Tetrate public repositories and replacing the search term 1.18 with the version you want.
Two version systemsTetrate container registries will have both version available during transition period
Then set the tag as environment variable:
export TAG=1.20.0-tetrate-v0
Download istioctl
Set the correct ARCH with one of following values:
ARCH=linux-armv7
ARCH=linux-amd64
ARCH=osx-arm64
ARCH=osx
Download the istioctl binary:
- New
- Legacy
export ARCH=linux-amd64
mkdir -p ~/.istioctl/bin
curl -fSsLO https://tis.tetrate.io/archives/istio-${TAG}/istioctl-${TAG}-${ARCH}.tar.gz
tar -xvzf istioctl-${TAG}-${ARCH}.tar.gz
cp istioctl ~/.istioctl/binexport ARCH=linux-arm64
mkdir -p ~/.istioctl/bin
curl -O https://dl.getistio.io/public/raw/files/istioctl-${TAG}-${ARCH}.tar.gz
tar -xvzf istioctl-${TAG}-${ARCH}.tar.gz
cp istioctl ~/.istioctl/binVerify the binary functions:
~/.istioctl/bin/istioctl version
Define the Install Version
If you've not already done so, follow the instructions above to set the required variables correctly:
export TAG="<chosen tag>"
Install Istio
~/.istioctl/bin/istioctl install --set profile=default \
--set tag=${TAG} \
--set hub=containers.istio.tetratelabs.comExpect output similar to:
istioctl install output
This will install the Istio 1.18.2 default profile with ["Istio core" "Istiod" "Ingress gateways"] components into the cluster. Proceed? (y/N) y
✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete
Making this installation the default for injection and validation.
Uninstalling Istio
Uninstall the Istio installation as follows:
~/.istioctl/bin/istioctl uninstall --purge
kubectl delete ns istio-system
Next Steps
Once you have installed and validated your Tetrate Istio distribution install, you can proceed to the Istio good practices guide.