
- Deploy the Bookinfo sample application.
- Verify pods and check whether Envoy sidecars are injected.
- If sidecars are missing, enable automatic injection for the namespace and re-deploy.
1/1, meaning each pod has only the application container. This indicates automatic sidecar injection did not occur in the namespace where the pods were created.
Diagnose missing sidecar injection using istioctl:
- Istio performs automatic sidecar injection at the namespace level. If the namespace is not labeled for injection, newly created pods in that namespace will not receive injected Envoy proxies.
- Labeling gives you control over which namespaces are part of the mesh (for example, you may want Istio enabled for application namespaces such as
hrorpayrollbut not forkube-system).
default namespace:
Label changes apply only to pods created after the label is set. To have existing pods receive an Envoy sidecar, they must be restarted or re-created (for example, delete and re-deploy the resources).
2/2, indicating two containers per pod (application + Envoy):
- After labeling the namespace for Istio injection and re-creating the pods, Envoy sidecar proxies will be injected automatically and your Bookinfo application becomes part of the service mesh.
- For more details, see the Istio documentation: Istio diagnostic tools — istioctl analyze and the Bookinfo sample in the Istio repository: samples/bookinfo/platform/kube.