Verifying the installation

Let's perform the following steps to confirm that Istio has been installed successfully:

  1. Check the number of Istio CRDs that have been created. The following command should return 23, which is the number of CRDs that have been created by Istio:
$ kubectl get crds | grep 'istio.io' | wc -l
23

  1. Run the following command and confirm that the list of Istio core component services have been created:
$ kubectl get svc -n istio-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-citadel ClusterIP 100.66.235.211 <none> 8060/TCP,... 2m10s
istio-galley ClusterIP 100.69.206.64 <none> 443/TCP,... 2m11s
istio-ingressgateway LoadBalancer 100.67.29.143 domain.com 15020:31452/TCP,... 2m11s
istio-pilot ClusterIP 100.70.130.148 <none> 15010/TCP,... 2m11s
istio-policy ClusterIP 100.64.243.176 <none> 9091/TCP,... 2m11s
istio-sidecar-injector ClusterIP 100.69.244.156 <none> 443/TCP,... 2m10s
istio-telemetry ClusterIP 100.68.146.30 <none> 9091/TCP,... 2m11s
prometheus ClusterIP 100.71.172.191 <none> 9090/TCP 2m11s
  1. Make sure that all the pods listed are in the Running state:
$ kubectl get pods -n istio-system
  1. Confirm the Istio injection enabled namespaces. You should only see istio-injection for the default namespace:
$ kubectl get namespace -L istio-injection
NAME STATUS AGE ISTIO-INJECTION
default Active 5d8h enabled
istio-system Active 40m
kube-node-lease Active 5d8h
kube-public Active 5d8h
kube-system Active 5d8h

You can always enable injection for the other namespaces by adding the istio-injection=enabled label to a namespace.