Let’s get Istio installed in your Kubernetes cluster and a sample application deployed that we will use for testing. This workshop has been developed for Istio v1.19. If you run into any problems while following the guide, please check the Istio docs for the most up-to-date installation information.
Before installing Istio you will need to have a Kubernetes cluster running a supported version of Kubernetes. For Istio v.19 this is Kubernetes versions 1.25, 1.26, 1.27 or 1.28. See here for a list of supported Kubernetes versions if you are installing a different version of Istio.
curl -L https://istio.io/downloadIstio | sh -
istio-1.19.0
(or similar depending on which version you downloaded)cd istio-1.19.0
istioctl
to your PATH (Linux or macOS)export PATH=$PWD/bin:$PATH
istioctl
to install Istio in your cluster. The example below uses the demo
configuration profile which is ideal for the purposes of this guide. See the available configuration profiles for more info.istioctl install --set profile=demo -y
kubectl label namespace default istio-injection=enabled
You now have Istio installed and running in your cluster. Let’s take a look at what was installed. Run the following command:
kubectl get pods -n istio-system
You should see 3 pods: the istiod
control plane, an ingress gateway and an egress gateway. Let’s check the auto-injection label:
kubectl get namespaces --show-labels
You should see the default
namespace with the istio-injection=enabled
label. This label tells Istio to inject an Envoy sidecar proxy with all workloads in this namespace.
Now let’s deploy a sample application that we will use for testing our telemetry configuration.
next: Deploy Sample Application