跳轉到

Istio Cross-Namespace xDS Authentication

概念概覽

問題場景

核心知識

問題場景

Istio Gateway pod 部署至非 istio-system 的 namespace(如 loadtest)時,istio-proxy sidecar 與 istiod 建立 xDS 連線會失敗。

錯誤訊息

authentication failure{via_upstream}
code = Unauthenticated desc = authentication failure
readiness probe 持續失敗(port 15021),**760 次 / 29 分鐘**為本次可量化症狀。

根本原因方向

  • istiod 的 AuthorizationPolicy 可能限制來源 namespace
  • MeshConfig.trustDomain 跨 namespace 信任域設定未配置
  • 跨 namespace 部署需額外 RBAC/trust domain 配置,不是 Istio 預設支援的拓撲

解法選擇

方案 優點 缺點
Gateway 移回 istio-system 符合預設信任域,立即解決 需更新 DNS record 指向新 NLB
配置 istiod 信任域 保留現有 NLB/DNS 設定複雜,文件少

生產環境建議優先將 Gateway 部署於 istio-system,除非有明確需求才在其他 namespace 並額外配置信任域。

經驗教訓

  • Gateway pod 跨 namespace 部署的 xDS 認證失敗,症狀與網路問題類似,容易誤診

  • readiness probe 持續失敗次數(760次/29分鐘)是量化診斷的有效依據

  • Istio 預設信任域以 istio-system 為中心,跨 namespace 需額外設定

常見陷阱

  • authentication failure 錯誤不直觀,容易誤判為網路連線問題

  • readiness probe 在 port 15021 持續失敗是 xDS 認證失敗的典型症狀

最佳實踐

  • Istio Gateway pod 預設部署於 istio-system 以避免信任域問題

  • 若必須跨 namespace,先驗證 MeshConfig.trustDomain 和 AuthorizationPolicy

相關概念

來源 Sessions

日期 Session 貢獻摘要

| 2026-03-22 | 64b0516b-af8e-4206-8a1b-037aee68b1bf | 確認了 Gateway pod 部署於非 istio-system namespace 時,xDS 信任域導致認證失敗的具體症狀與量化指標 |


本概念頁面由 Semi-Brain Wiki 系統自動維護

最後更新: 2026-03-22