Cloud Service Mesh 與 Envoy 的限制

本文說明適用於 Cloud Service Mesh 與Google Cloud API 的限制,包括進階流量管理限制。但不適用於搭配 Istio API 使用的 Cloud Service Mesh。

如要瞭解限制,請參閱「配額與限制」一文。

一般限制

Cloud Service Mesh 的限制如下:

  • 搭配服務路由 API 的 Cloud Service Mesh 僅支援Google Cloud API。
  • 您可以使用 Cloud Service Mesh 設定下列要求通訊協定:HTTP (HTTP/1.1 或 HTTP/2)、HTTPS、TCP 和 gRPC。
  • 使用 Envoy 做為 Dataplane 代理程式時,stream_idle_timeout預設為 5 分鐘。這項設定無法透過 Cloud Service Mesh 設定。
  • 使用 TCPRoute 資源設定 TCP 要求通訊協定時,您無法使用進階流量管理功能。只有在您將資料層設定為處理 HTTP 或 gRPC 要求時,才能使用進階流量管理功能。
  • Cloud Service Mesh 支援使用服務路由 API 進行虛擬私有雲端網路對等互連
  • Cloud Service Mesh 不支援伺服器優先通訊協定。
  • 您無法在 KnativeGoogle Cloud 無伺服器運算服務中執行的服務中使用 Cloud Service Mesh。
  • 本文主要說明 Envoy Proxy,但您也可使用 Cloud Service Mesh 的任何公開標準 API (xDS) Proxy。不過,Google 目前只用過 Envoy Proxy 測試 Cloud Service Mesh。
  • 為確保所有已知的安全漏洞都已減輕,建議您使用最新的 Envoy 版本。如要瞭解 Envoy 安全性補充公告,請參閱「Envoy 安全性補充公告」。
  • Google Cloud 控制台不支援混合式連線網路端點群組 (NEG)。如要建立或刪除混合式連線 NEG,請使用 Google Cloud CLI。
  • 由於資料層會處理健康狀態檢查,因此您無法使用Google Cloud 主控台、API 或 gcloud CLI 擷取健康狀態檢查狀態。
  • 請檢查 iptables,確認設定正確無誤。如要進一步瞭解如何設定 iptables,請參閱 Envoy 的HTTP 篩選器設定相關說明。

    • 如果您使用 Google Cloud 主控台建立虛擬機器 (VM) 執行個體,部分 ipv6 相關模組無法在重新啟動前安裝或使用。因此,iptables.sh 會因為缺少依附元件而失敗。在這種情況下,請重新啟動 VM 並重新執行 run.sh 指令碼。
    • 如果您使用 gcloud CLI 建立 Compute Engine VM,則不會發生這個問題。

進階流量管理功能的限制

進階流量管理功能的限制包括:

  • 如果 BackendService.sessionAffinity 的值不是 NONE,且 BackendService.localityLbPolicy 設為 MAGLEVRING_HASH 以外的負載平衡政策,則工作階段親和性設定不會生效。
  • gcloud import 指令不會刪除資源的頂層欄位,例如後端服務和網址對應。舉例來說,如果您建立含有 circuitBreakers 設定的後端服務,即可使用後續的 gcloud import 指令更新這些設定。不過,您無法從後端服務中刪除這些設定。您可以刪除並重新建立資源本身,而不需要 circuitBreakers 設定。

Service Directory 的限制

  • Service Directory 和 Cloud Service Mesh 無法保證用戶端的網路可及性。
  • 後端服務只能參照下列其中一項:

    • 代管執行個體群組或非代管執行個體群組
    • 網路端點群組
    • 服務繫結
  • Service Directory 服務只能與 load-balancing-scheme=INTERNAL_SELF_MANAGED 的全球後端服務搭配使用。

  • 服務繫結參照的 Service Directory 服務可以刪除。如果刪除後端服務附加的基礎服務目錄服務,使用 Cloud Service Mesh 的應用程式就無法將流量傳送至這項服務,因此要求會失敗。如需最佳做法,請參閱可觀察性和偵錯

  • 將服務目錄服務繫結至後端服務時,您無法在該後端服務上設定健康狀態檢查。

後續步驟

  • 如要瞭解搭配無 Proxy gRPC 應用程式的 Cloud Service Mesh 適用的限制,請參閱「無 Proxy gRPC 的限制」。