PodsIstioProxyImageMismatchInNamespace
當命名空間已啟用自動 Sidecar 注入,但命名空間中的某些 Pod 沒有注入正確的 Sidecar 時,會發生此訊息。
如果命名空間中有任何 Pod 沒有執行正確的 Sidecar 版本,將會回報此訊息。Pod 的名稱會列在訊息詳細資訊中。
這通常發生在升級 Istio 控制平面之後;升級 Istio(包括 Sidecar 注入器)後,所有執行 Istio Sidecar 的工作負載都必須重新建立,才能注入新版本的 Sidecar。
要解決此問題,請使用您正常的部署策略重新部署應用程式,以更新 Sidecar 版本。對於 Kubernetes 部署:
- 如果您使用 Kubernetes 1.15 或更高版本,您可以執行
kubectl rollout restart <my-deployment>
來觸發新的部署。 - 或者,您可以修改部署的
template
欄位來強制進行新的部署。這通常透過在範本中 Pod 定義中新增類似force-redeploy=<current-timestamp>
的標籤來完成。