使用 Istio API 支援的功能 (受管理的控制平面) 
  
本頁面說明使用 TRAFFIC_DIRECTOR 或 ISTIOD 做為控制平面的 Cloud Service Mesh 支援的功能和限制,以及各實作項目之間的差異。請注意,這些並非您可以選擇的選項。ISTIOD 實作項目僅適用於現有使用者。新安裝作業會盡可能使用 TRAFFIC_DIRECTOR 實作方式。
如要查看 Cloud Service Mesh 支援的叢集內控制平面功能清單,請參閱「使用 Istio API (叢集內 istiod 控制平面) 」。如果您不確定使用的 Cloud Service Mesh 控制平面為何,可以按照「找出控制平面實作 」一文中的操作說明,檢查控制平面實作方式。
限制 
  注意: 如要使用 Cloud Service Mesh,一個網格的所有 Cloud Service Mesh 叢集必須隨時註冊至同一個機群。Cloud Service Mesh 叢集專案中的其他叢集不得註冊至其他機群。 
限制如下:
GKE 叢集必須位於支援的區域 之一。 
GKE 版本必須是支援的版本 。 
僅支援「環境 」中列出的平台。 
系統不支援變更發布版本 。 
不支援從由 asmcli  管理的 Cloud Service Mesh 遷移至由車隊 API 管理的 Cloud Service Mesh 。同樣地,我們也不支援使用車隊 API 從 --management manual 佈建至 --management automatic 的受控 Cloud Service Mesh。 
遷移和升級作業僅支援使用 Mesh CA 安裝的叢集內 Cloud Service Mesh 1.9 以上版本。使用 Istio CA (舊稱 Citadel) 的已安裝環境必須先遷移至 Mesh CA 。 
請參閱這份指南 ,瞭解規模限制 
僅支援多叢集的多主機部署選項:不支援多叢集的主機-遠端部署選項。 
系統不支援 istioctl ps。您可以改用 疑難排解 一節所述的 gcloud beta container fleet mesh debug 指令。 
不支援的 API:
EnvoyFilter 個 API
WasmPlugin 個 API
IstioOperator 個 API
Kubernetes Ingress 個 API
 
如需不支援的 API 欄位清單,請參閱「受管理的 Cloud Service Mesh 中不支援的 Istio API 」。
您不必訂閱 GKE Enterprise 也能使用受管理的控制層,但 Google Cloud 控制台中的某些 UI 元素和功能僅供 GKE Enterprise 訂閱者使用。如要瞭解訂閱者和非訂閱者可用的功能,請參閱「GKE Enterprise 和 Cloud Service Mesh 的 UI 差異 」。
在代管控制層的佈建程序中,系統會在指定叢集中安裝與所選管道相對應的 Istio CRD。如果叢集中已有 Istio CRD,系統會將其覆寫。
代管 Cloud Service Mesh 僅支援預設 DNS 網域 .cluster.local。
代管 Cloud Service Mesh 的新安裝作業只會使用 Envoy 擷取 JWKS,除非機隊包含未啟用此行為的其他叢集。這等同於 PILOT_JWT_ENABLE_REMOTE_JWKS=envoy Istio 選項。與沒有 VPCSC_GA_SUPPORTED 條件的安裝作業相比 (請參閱下文),您可能需要為 ServiceEntry 和 DestinationRule 設定額外設定。如需範例,請參閱 requestauthn-with-se.yaml.tmplVPC Service Controls  (也就是顯示 VPCSC_GA_SUPPORTED 條件),藉此判斷目前的運作模式是否等同於 PILOT_JWT_ENABLE_REMOTE_JWKS=envoy。
受管理資料處理層僅支援沒有額外附屬程式 (Cloud Service Mesh 附屬程式除外) 的工作負載。
 
控制層差異 
ISTIOD 和 TRAFFIC_DIRECTOR 控制平面實作項目支援的功能有所不同。如要查看您使用的實作方式,請參閱「找出控制層實作方式 」。
啟用選用功能 」或功能表格中連結的功能指南所述。機構 層級的許可清單。如要申請存取權或查看許可清單狀態,請與支援團隊聯絡 Google Cloud  。 
 Google Cloud支援團隊完全支援預設和選用功能。表格中未明確列出的功能會盡力提供支援。
決定控制層實作方式的因素 
您第一次在機隊中佈建代管 Cloud Service Mesh 時,我們會決定要使用哪個控制層實作項目。在該機群中為受管理的 Cloud Service Mesh 佈建的所有叢集,都會使用相同的實作項目。
加入代管 Cloud Service Mesh 的新車隊會收到 TRAFFIC_DIRECTOR 控制層實作項目,但有以下例外狀況:
如果您是現有的代管 Cloud Service Mesh 使用者,在至少 2024 年 6 月 30 日前,只要將同一個 Google Cloud組織的新機群加入代管 Cloud Service Mesh,就會收到 ISTIOD 控制層實作項目。如果您是這類使用者,可以與支援團隊聯絡,進一步調整這項行為。如果使用者現有的用法與未變更的 TRAFFIC_DIRECTOR 實作不相容,將持續收到 ISTIOD 實作版本,直到 2024 年 9 月 8 日為止。(這些使用者收到了服務公告)。 
如果機群中的任何 GKE on Google Cloud 叢集在您佈建代管 Cloud Service Mesh 時包含叢集內的 Cloud Service Mesh 控制層,您就會收到 ISTIOD 控制層實作項目。 
如果機隊中的任何叢集都使用 GKE Sandbox ,則在您佈建代管 Cloud Service Mesh 時,就會收到 ISTIOD 控制平面實作項目。 
 
代管控制層支援的功能 
安裝、升級和復原 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  使用fleet  功能 API 在 GKE 叢集上安裝 
   
  從使用 Mesh CA 的 ASM 1.9 版本升級 
   
  從 1.9 之前的 Cloud Service Mesh 版本直接 (略過層級) 升級 (請參閱間接升級的注意事項) 
   
  從 Istio OSS 直接 (略過級別) 升級 (請參閱間接升級的注意事項) 
   
  
  透過 Istio-on-GKE 外掛程式直接 (略過層級) 升級 (請參閱間接升級的注意事項) 
   
  
  啟用選用功能  
   
 
注意:  系統支援間接遷移和升級作業,也就是說,您可以按照 Cloud Service Mesh 的標準升級路徑 ,逐一升級各個版本,直到 Cloud Service Mesh 1.25 提供叢集內控制層為止,然後再遷移至代管控制層。只有透過 Mesh CA 安裝的 Cloud Service Mesh 1.9 以上版本,才能支援直接遷移和升級。使用 Istio CA 的已安裝環境必須先遷移至 Mesh CA。 環境 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  目前在發布版本中提供 的 GKE 版本,適用於任一支援的區域  
  目前在發布版本中提供 的 GKE 版本,適用於任一支援的區域 ,以及 GKE Autopilot  叢集 
   Google Cloud 以外的環境(在本地端部署的 GKE Enterprise、其他公有雲中的 GKE Enterprise、Amazon EKS、Microsoft AKS 或其他 Kubernetes 叢集) 
   
 
擴充 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  每個叢集 1,000 項服務和 5,000 項工作負載 
   
  每個網格有 50 個無頭服務通訊埠 ,每個無頭服務通訊埠有 36 個 Pod 
   
 
注意:  這是每個叢集支援的服務和工作負載數量軟性限制。如果超過此上限,請與 Cloud 支援團隊聯絡。 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
單一網路 
 
多網路 
 
  
單一專案 
 
  
使用共用虛擬私有雲的多個專案 
 
 
多叢集部署 
術語注意事項 
多主設定表示設定必須在所有叢集中複製。 
主-遠端設定表示單一叢集包含設定,並視為可靠資料來源。 
Cloud Service Mesh 會使用簡化的網路定義,以便提供一般連線服務。如果工作負載執行個體能夠直接通訊,而不需要閘道,則表示位於相同網路。 
多叢集端點探索的簡單拓撲是指機群中的每個叢集都會參與或不參與端點探索。不支援的複雜拓樸包括:(a) 單向端點探索 (例如叢集 A 可探索叢集 B 中的端點,但反之則不行) 和 (b) 不連續的端點探索網路 (例如叢集 A 和 B 可探索彼此的端點,叢集 C 和 D 可探索彼此的端點,但 A/B 和 C/D 則無法探索彼此的端點)。 
 
基礎圖片 
† 採用代管 (TD) 控制層的 Cloud Service Mesh 僅支援無發行版映像檔類型。而且無法變更。
請注意,無發行版映像檔只有最少的二進位檔,因此您無法執行 bash 或 curl 等一般指令,因為這些指令並未出現在無發行版映像檔中。不過,您可以使用暫時性容器附加至執行中的工作負載 Pod,以便檢查並執行自訂指令。例如,請參閱「收集 Cloud Service Mesh 記錄 」。
安全性 
VPC Service Controls 
憑證發布和輪替機制 
憑證授權單位 (CA) 支援 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  Cloud Service Mesh 憑證授權單位 
   
  憑證授權單位服務  
  Istio CA 
   
  與自訂 CA 整合 
   
 
安全性功能 
除了支援 Istio 安全防護功能,Cloud Service Mesh 還提供更多功能,協助您保護應用程式。
授權政策 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  授權 v1beta1 政策 
   
  自訂授權政策 
  
 
† TRAFFIC_DIRECTOR 控制平面實作不支援 rules.from.source.RemoteIp 和 rules.from.source.NotRemoteIp 欄位。
同類應用程式驗證 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  
  自動 mTLS 
     
  mTLS PERMISSIVE 模式 
   
  mTLS 嚴格模式 
   
  mTLS DISABLE 模式 
   
 
要求驗證 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  JWT 驗證(附註 1)  
   
  以 JWT 憑證為基礎的轉送功能 
   
  JWT 將憑證附加資訊複製至標頭 
   
 
注意: 
第三方 JWT 預設為啟用。 
定義 RequestAuthentication API 時,請在 JWKSURI 中加入完整的 FQDN/主機名稱。 
指定 JWKS URI 時,代管控制層會強制 Envoy 擷取 JWKS。 
 
遙測 
指標 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  Cloud Monitoring (HTTP in-proxy metrics) 
   
  Cloud Monitoring (TCP 內部 Proxy 指標) 
   
  將 Prometheus 指標匯出至 Grafana (僅限 Envoy 指標) 
   
  將 Prometheus 指標匯出至 Kiali 
   
  Google Cloud Managed Service for Prometheus (不含 Cloud Service Mesh 資訊主頁) 
   
   Istio Telemetry API  
   
  自訂轉接器/後端 (在或離開程序) 
   
  任意遙測和記錄後端 
   
 
† TRAFFIC_DIRECTOR 控制層支援部分 Istio 遙測 API,用於設定存取記錄 和追蹤記錄 。TRAFFIC_DIRECTOR 控制平面不支援設定追蹤記錄取樣率。
注意:  您可以設定第三方遙測產品 (例如 Grafana 和 Prometheus),但我們無法保證未來的相容性,而且雲端支援團隊無法提供相關管理協助。 Proxy 要求記錄 
追蹤 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  Cloud Trace 
   
  Jaeger 追蹤 (可使用客戶管理的 Jaeger) 
  相容 
 
  Zipkin 追蹤 (可使用客戶管理的 Zipkin) 
  相容 
 
 
注意:  您可以設定第三方遙測產品 (例如 Jaeger、Zipkin 和 Grafana),但我們無法保證日後的相容性,且 Cloud 支援團隊無法提供相關管理協助。 網路 
流量攔截和重新導向機制 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  使用 init 容器搭配 CAP_NET_ADMIN 使用 iptables 
  †  
  Istio 容器網路介面 (CNI) 
   
  白箱邊車 
   
 
† 強烈建議您使用 Container Network Interface (CNI),而不要使用 init 容器。
通訊協定支援 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  IPv4 
   
  HTTP/1.1 
   
  HTTP/2 
   
  TCP 位元組串流  (附註 1)  
   
  gRPC  
  IPv6 
  †  
 
注意: 
雖然 TCP 是網路支援的通訊協定,且會收集 TCP 指標,但不會回報這些指標。 Google Cloud 控制台只會顯示 HTTP 服務的指標。 
系統不支援針對下列通訊協定,以第 7 層功能設定的服務:WebSocket、MongoDB、Redis、MySQL、Kafka、Cassandra、RabbitMQ、Cloud SQL。您可以使用 TCP 位元組串流支援功能,讓通訊協定運作。如果 TCP 位元組串流無法支援通訊協定 (例如 Kafka 在特定通訊協定回覆中傳送重新導向位址,而這項重新導向與 Cloud Service Mesh 的路由邏輯不相容),則系統不支援該通訊協定。雖然閘道通訊埠可以使用 Mongo、MySQL 和 Redis 通訊協定建立,但網格會將產生的流量視為標準 TCP,缺乏特定通訊協定的處理方式。 
† 在無 Proxy 的 gRPC 中,IPv6 雙堆疊功能僅支援 gRPC 1.66.1 以上版本 (在 C++  和 Python  中)、gRPC Go 1.71 以上版本 ,或 gRPC Node.js 1.12 以上版本 。如果您嘗試使用不支援雙堆疊的 gRPC 版本設定雙堆疊功能,用戶端只會使用 Traffic Director 傳送的第一個地址。 
 
Envoy 部署 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  補充資訊 
   
  Ingress 閘道 
   
  直接從 sidecar 輸出 
   
  使用輸出閘道輸出 
   
 
CRD 支援 
Istio 輸入閘道的負載平衡器 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  第三方外部負載平衡器 
   
  Google Cloud 內部負載平衡器 
   
 
服務網格雲端閘道 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  服務網格雲端閘道 
   
 
Kubernetes Gateway API 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  Kubernetes Gateway API 
   
 
負載平衡政策 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  循環制 
   
  連線數量最少 
   
  隨機 
   
  透視 
   
  一致的雜湊 
   
  縣市 
   
  GCPTrafficDistributionPolicy 
   
  GCPBackendPolicy 
   
 
服務項目 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  ServiceEntry v1beta1 
   
 
† TRAFFIC_DIRECTOR 控制平面實作不支援下列欄位和欄位值:
workloadSelector 欄位endpoints[].network 欄位endpoints[].locality 欄位endpoints[].weight 欄位endpoints[].serviceAccount 欄位resolution 欄位中的 DNS_ROUND_ROBIN 值location 欄位中的 MESH_INTERNAL 值endpoints[].address 欄位中的 Unix 網域通訊端地址subjectAltNames 欄位如果 resolution 欄位有 DNS 值,則會有兩個或多個 endpoints[] 項目 
 
目的地規則 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  DestinationRule v1beta1 
   
 
† TRAFFIC_DIRECTOR 控制平面實作不支援下列欄位。
trafficPolicy.loadBalancer.localityLbSetting 欄位trafficPolicy.tunnel 欄位trafficPolicy.tls.credentialName 欄位trafficPolicy.portLevelSettings[].tls.credentialName 欄位 
此外,TRAFFIC_DIRECTOR 控制平面實作要求定義子集的目的規則必須與 Kubernetes 服務或 ServiceEntry 位於相同的命名空間和叢集中。
補充資訊 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  Sidecar v1beta1 
   
 
† TRAFFIC_DIRECTOR 控制平面實作不支援下列欄位和欄位值:
ingress 欄位egress.port 欄位egress.bind 欄位egress.captureMode 欄位inboundConnectionPool 欄位 
DNS 代理程式 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  跨叢集的 Service 名稱解析 
   
  叢集中 ServiceEntry 的名稱解析 
   
  無頭 Service  的名稱解析 
  自動分配地址  
 
† 必須使用 1.21.5-asm.39 以上版本的 sidecar。
MeshConfig 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  DiscoverySelectors 
   
  clusterLocal 
   
  LocalityLB 
   
  ExtensionProviders 
   
  CACert 
   
  ImageType - distroless 
   
  OutboundTrafficPolicy 
   
  defaultProviders.accessLogging 
   
  defaultProviders.tracing 
   
  defaultConfig.tracing.stackdriver 
   
  accessLogFile 
   
 
ProxyConfig 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  支援 HTTP/1.0 (ISTIO_META_NETWORK) 
   
  映像檔選項 (distroless 或基本映像檔) 
   
  
   Kubernetes 原生 Proxy  (ENABLE_NATIVE_SIDECARS) 
   
 
† 系統會使用 Distroless 映像檔 進行插入。
區域 
GKE 叢集必須位於下列任一區域或下列區域內的任何可用區。
  區域 
  位置 
 
 
  africa-south1約翰尼斯堡 
 
  asia-east1台灣 
 
  asia-east2香港 
 
  asia-northeast1日本東京 
 
  asia-northeast2日本大阪 
 
  asia-northeast3南韓 
 
  asia-south1印度孟買 
 
  asia-south2印度德里 
 
  asia-southeast1新加坡 
 
  asia-southeast2 雅加達 
  
  australia-southeast1澳洲雪梨 
 
  australia-southeast2澳洲墨爾本 
 
  europe-central2波蘭 
 
  europe-north1芬蘭 
 
  europe-southwest1西班牙 
 
  europe-west1比利時 
 
  europe-west2英國 
 
  europe-west3德國法蘭克福 
 
  europe-west4荷蘭 
 
  europe-west6瑞士 
 
  europe-west8義大利米蘭 
 
  europe-west9法國 
 
  europe-west10德國柏林 
 
  europe-west12義大利杜林 
 
  me-central1杜哈 
 
  me-central2沙烏地阿拉伯達曼 
 
  me-west1特拉維夫市 
 
  northamerica-northeast1加拿大蒙特婁 
 
  northamerica-northeast2加拿大多倫多 
 
  southamerica-east1巴西 
 
  southamerica-west1智利 
 
  us-central1愛荷華州 
 
  us-east1南卡羅來納州 
 
  us-east4北維吉尼亞州 
 
  us-east5俄亥俄州 
 
  us-south1達拉斯 
 
  us-west1奧勒岡州 
 
  us-west2洛杉磯 
 
  us-west3鹽湖城 
 
  us-west4拉斯維加斯 
 
 
使用者介面 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
   Google Cloud 控制台中的 Cloud Service Mesh 資訊主頁 
   
  Cloud Monitoring 
   
  Cloud Logging 
   
 
  功能 
  代管 (TD) 
  受管理 (istiod) 
 
 
  gcloud beta container fleet mesh debug  工具