This message is emitted regarding a pod when:
- Automatic sidecar injection is enabled (default enabled unless explicitly
disabled via the helm template variable
- 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.
The easiest way to update the sidecar version is to redeploy your application using your normal rollout strategy. For a Kubernetes deployment:
- If you’re using Kubernetes version 1.15 or above, 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.