Istio Cross-Namespace xDS Authentication¶
概念概覽
問題場景¶
核心知識¶
問題場景¶
Istio Gateway pod 部署至非 istio-system 的 namespace(如 loadtest)時,istio-proxy sidecar 與 istiod 建立 xDS 連線會失敗。
錯誤訊息¶
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
相關概念¶
- aws-node CNI IPAM Daemon Diagnosis
- EKS Cluster Version Upgrade
- Istio EKS ARM64 Installation
- Istio Header-Based Environment Routing
- Trusted Proxy Hardening
來源 Sessions¶
| 日期 | Session | 貢獻摘要 |
|---|---|---|
| 2026-03-22 | 64b0516b-af8e-4206-8a1b-037aee68b1bf | 確認了 Gateway pod 部署於非 istio-system namespace 時,xDS 信任域導致認證失敗的具體症狀與量化指標 |