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> 的標籤來完成。