Now let's install Istio. Starting with the 0.2 release, Istio is installed in its own istio-system namespace, and can manage microservices from all other namespaces. The installation includes Istio core components, tools, and samples.
Follow the below steps in the cloud shell
- Download the Istio installation files according to your OS. Here we are taking Linux cause Cloud Shell is based on Debian
wget https://github.com/istio/istio/releases/download/1.0.3/istio-1.0.3-linux.tar.gz
- Extract the files and go to the istio directory and make the istioctl binary global
tar -xvf istio-1.0.3-linux.tar.gz
cd istio-1.0.3
sudo cp bin/istioctl /usr/local/bin
- Now it's time to install Istio core components with mutual authentication between sidecars
kubectl apply -f install/kubernetes/istio-demo-auth.yaml
- Once it's done then verify the istio installation
kubectl get pods -n istio-system
kubectl get svc -n istio-system
When we configure and run the services, Envoy sidecars can be automatically injected into each pod for the service. For that to work, we need to enable sidecar injection for the namespace (‘default’) that we will use for our microservices. We do that by applying a label
kubectl label namespace default istio-injection=enabled