解決 Cloud Service Mesh 中的調整問題

本節說明常見的 Cloud Service Mesh 問題,以及如何解決這些問題。如需其他協助,請參閱取得支援

縮放比例係數

Istiod 會使用長效 gRPC 串流將設定傳送至每個側載。它具有幾項會影響資源調度的特性:

  • 要產生的設定大小:
    • 服務/Pod 和 Istio 資源總數
    • 如果規模較大,請調整 Sidecar 的設定,以縮減設定大小。
  • 環境變化速率:
    • 建立新服務或變更 Istio 設定時,系統會將完整更新內容傳送至 Proxy。
    • 新增端點不會影響效能,因為系統只會傳送增量更新。
  • 要產生設定的 Proxy 數量:
    • 會受到閘道和附屬 Pod 數量的影響。

資源調度考量

Istiod 可垂直 (大量要求) 和水平 (更多副本) 擴充。請確認 CPU 限制不會過於嚴格;如果 Istiod 達到 CPU 限制,可能會發生節流,進而對設定分發造成負面影響。如果遇到效能問題,建議您升級至最新版本的 Cloud Service Mesh,因為每個版本都會進行效能最佳化。

如需更多關於擴充網格的指南,請參閱可擴充性最佳做法指南

不平衡負載

由於連線會持續一段時間,叢集大小的大幅變更可能會導致負載暫時不平衡。為避免這種情況,我們設定了 30 分鐘的連線逾期時間,這可能會導致 Envoy 中的錯誤訊息 (例如 gRPC config stream closed: 13),讓負載自然重新平衡。

如要緩解這個問題,請建立多個 Istiod 備援機制 (預設為 2 個備援機制),並在預期叢集需要極度擴充時預先調整規模。