This lesson demonstrates deploying the Bookinfo application on Istio and enabling automatic sidecar injection in Kubernetes.
This lesson demonstrates how to deploy the Bookinfo application on Istio, using the sample application provided in the downloaded samples folder. If your Istio samples are stored in a different directory, navigate to that folder before proceeding.
After deploying the application, several Kubernetes Deployments and Services are created. To verify this, check the status of the Pods in the default namespace by running:
From this output, you see pods for the product page, details, ratings, and three versions of the review service—all deployed in the default namespace.
Since Istio is installed, you would expect each pod to contain an additional proxy container (sidecar). However, the output indicates that each pod lists only a single container.
To investigate why the sidecar is missing, use the Istio CLI analyze command:
Copy
Ask AI
istioctl analyze
You will receive output similar to:
Copy
Ask AI
Info [IST0102] (Namespace default) The namespace is not enabled for Istio injection.Run 'kubectl label namespace default istio-injection=enabled' to enable it, or'kubectl label namespace default istio-injection=disabled' to explicitly mark it as not needing injection.
This diagnostic message reveals that automatic sidecar injection is not enabled for the default namespace. In Kubernetes clusters with multiple namespaces—such as kube-system, HR, or Payroll—you must explicitly enable Istio sidecar injection for the namespace where your applications are deployed.
The READY column now shows “2/2” for each pod, confirming that Istio has successfully injected sidecar proxies into every pod.
You have successfully configured Istio on your Kubernetes cluster with automatic sidecar injection. For further details on deploying applications on Istio, refer to the Istio Documentation.