This message occurs regarding a pod when:
- Automatic sidecar injection is enabled (default enabled unless explicitly disabled during installation.)
- The pod is running in a namespace where sidecar injection is enabled (the
namespace has the label
- The proxy version running on the sidecar does not match the version used by the auto-injector
This often results after upgrading the Istio control plane; after upgrading Istio (which includes the sidecar injector), all running workloads with an Istio sidecar must be recreated to allow the new version of the sidecar to be injected.
To resolve this problem, update the sidecar version by redeploying your application using your normal rollout strategy. For a Kubernetes deployment:
- If you’re using Kubernetes 1.15 or higher, you can run
kubectl rollout restart <my-deployment>to trigger a new rollout.
- Alternatively, you can modify the deployment’s
templatefield to force a new rollout. This is often done by adding a label like
force-redeploy=<current-timestamp>to the pod definition in the template.