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 不支援伺服器優先通訊協定。
- 您無法在 Knative 或 Google 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,則不會發生這個問題。
- 如果您使用 Google Cloud 主控台建立虛擬機器 (VM) 執行個體,部分
進階流量管理功能的限制
進階流量管理功能的限制包括:
- 如果
BackendService.sessionAffinity
的值不是 NONE,且BackendService.localityLbPolicy
設為MAGLEV
或RING_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 的限制」。