xDS 控制層 API

Cloud Service Mesh 及其用戶端 (Envoy 代理程式或無代理程式的 gRPC 程式庫) 會使用 開放原始碼 xDS API 交換資訊。設定 Cloud Service Mesh 時 (例如使用轉送規則和後端服務等資源),Cloud Service Mesh 會將這些資源轉換為 xDS 設定,並與客戶端共用。

xDS 版本支援

Cloud Service Mesh 僅支援 xDS 3 版。

如要判斷哪些 Envoy 和 gRPC 版本支援 xDS 3.0,請參閱 EnvoygRPC 說明文件。

如果您仍在使用 xDS 第 2 版,請按照下列操作說明,將其遷移至 xDS 第 3 版。

從 xDS v2 遷移至 xDS v3

遷移程序分為兩個步驟:

  1. 更新服務帳戶的 Identity and Access Management (IAM) 權限,這些權限會在用戶端 (Envoy Proxy 或無 Proxy gRPC 程式庫) 連線至 Cloud Service Mesh 時使用。
  2. 更新並重新部署應用程式。具體步驟會因部署方式而異,請參閱以下各節。

更新服務帳戶的 IAM 權限

請確認 Cloud Service Mesh 用戶端 (Envoy、無 Proxy 的 gRPC) 使用的服務帳戶具備 trafficdirector.networks.reportMetricstrafficdirector.networks.getConfigs 權限。這些權限包含在 IAM Cloud Service Mesh 用戶端角色 (roles/trafficdirector.client) 中。

如果您使用的是自訂 IAM 角色,可以將這些權限新增至自訂角色。新增權限後,您可以從服務帳戶中移除 Compute 網路檢視者角色 (roles/compute.networkViewer) 和/或 Compute 網路管理員角色 (roles/compute.networkAdmin)。

建議您使用 Cloud Service Mesh 用戶端角色,而非 Compute Network 檢視者角色 (roles/compute.networkViewer) 或 Compute Network 管理員角色 (roles/compute.networkAdmin)。使用 Cloud Service Mesh 用戶端角色可限制授予服務帳戶的權限,避免授予過於廣泛的權限。

更新應用程式

更新服務帳戶的 IAM 權限後,請更新應用程式。

Compute Engine 上的 Envoy

如要使用 Compute Engine 更新 Envoy 上的應用程式,請對代管執行個體群組進行逐步重新啟動或替換。系統會自動將支援 xDS v3 的 Envoy 版本新增至虛擬機器 (VM) 執行個體。

GKE 中的 Envoy

如果您使用自動 Envoy 注入功能搭配 Google Kubernetes Engine (GKE),請在您搭配 Cloud Service Mesh 使用的 GKE 叢集上重新安裝側載注入器。建立新 Pod 時,系統會自動在工作負載 Pod 中注入支援 xDS v3 的 Envoy 附屬 Proxy。

如果您在 GKE 上使用手動側載物植入功能,請在每個 GKE 叢集中重新部署側載物 Proxy

無 Proxy gRPC

遷移程序分為兩個步驟:

  1. 請確認您使用的 gRPC 版本支援 xDS 3.0。詳情請參閱「gRPC 中的 xDS 功能」。

  2. 請按照下列步驟更新 Bootstrap 設定:

    1. "xds_servers" 欄位中,新增 "server_features": ["xds_v3"],如這個 Bootstrap 檔案範例所示。
    2. 節點 ID 必須採用以下格式,如上一個範例所示:

      "projects/PROJECT_NUMBER/networks/NETWORK_NAME/nodes/ID"
      

對應用程式進行上述變更後,請建構並重新部署應用程式。

上述對引導設定所做的變更,不會影響不支援 xDS 3.0 的 gRPC 版本。此外,如果上述變更未出現在引導設定中,則支援 xDS v3 的 gRPC 版本會使用 xDS v2。

為方便起見,您可以使用 Cloud Service Mesh gRPC 啟動輔助程式產生器 0.16.0 以上版本產生與 xDS 3 相容的啟動輔助設定。

確認 Cloud Service Mesh 用戶端是否使用 xDS 3.0

如要檢查 Cloud Service Mesh 為其用戶端產生的設定,您可以使用用戶端狀態工具。這項工具會指出設定是 xDS v2 還是 xDS v3。

後續步驟