Cloud Service Mesh 先決條件

本頁面說明安裝 Cloud Service Mesh 的必要條件和相關要求,例如 GKE Enterprise 授權、叢集要求、機群要求和一般要求。

Cloud 專案

事前準備:

GKE Enterprise 授權

GKE

您可以透過 GKE Enterprise 使用 Cloud Service Mesh,也可以單獨使用這項服務。Google API 會決定計費方式。如要將 Cloud Service Mesh 做為獨立服務使用,請勿在專案中啟用 GKE Enterprise API。asmcli 會為您啟用所有其他必要的 Google API。如要瞭解 Cloud Service Mesh 的定價,請參閱「定價」。

  • GKE Enterprise 訂閱者,請務必啟用 GKE Enterprise API。

啟用 API

  • 即使您不是 GKE Enterprise 訂閱者,仍可安裝 Cloud Service Mesh,但 Google Cloud 控制台中的某些 UI 元素和功能僅供 GKE Enterprise 訂閱者使用。如要瞭解訂閱者和非訂閱者可用的功能,請參閱「GKE Enterprise 和 Cloud Service Mesh 的 UI 差異」。

  • 如果您已啟用 GKE Enterprise API,但想要將 Cloud Service Mesh 做為獨立服務使用,請停用 GKE Enterprise API

Google Cloud 以外

如要在內部部署環境、AWS 上的 GKE、Amazon EKS 或 Microsoft AKS 上安裝 Cloud Service Mesh,您必須是 GKE Enterprise 客戶。GKE Enterprise 客戶無須另外支付 Cloud Service Mesh 的費用,因為這項服務已包含在 GKE Enterprise 定價中。詳情請參閱 GKE Enterprise 定價指南

一般規定

叢集需求

GKE

  • 請確認您的叢集版本列於支援的平台中。

  • GKE 叢集必須符合下列要求:

    • GKE 叢集必須是標準叢集。只有代管式 Cloud Service Mesh 支援 Autopilot 叢集。

    • 至少有 4 個 vCPU 的機器類型,例如 e2-standard-4。如果叢集的機器類型沒有至少 4 個 vCPU,請按照「將工作負載遷移至其他機器類型」一文所述,變更機器類型。

    • 節點的最低數量取決於機器類型。Cloud Service Mesh 至少需要 8 個 vCPU。如果機器類型有 4 個 vCPU,叢集至少必須有 2 個節點。如果機器類型有 8 個 vCPU,叢集只需要 1 個節點。如果需要新增節點,請參閱調整叢集大小

  • 必須使用 GKE Workload Identity。建議您在安裝 Cloud Service Mesh 前,先啟用 Workload Identity。啟用 Workload Identity 後,系統會改變從工作負載至 Google API 的呼叫安全性,如「Workload Identity 限制」所述。請注意,您不需要在現有節點集區上啟用 GKE 中繼資料伺服器

  • 選用,但建議在發布版本中註冊叢集。我們建議您加入一般發布管道,因為其他管道可能會採用 Cloud Service Mesh 不支援的 GKE 版本 1.25.3。詳情請參閱「支援的平台」。如果您使用的是靜態 GKE 版本,請按照「在發布版本中註冊現有叢集」一文中的指示操作。

  • 如果您要在私人叢集中安裝 Cloud Service Mesh,必須在防火牆中開啟通訊埠 15017,才能取得用於自動側載注入和設定驗證的 webhook。詳情請參閱「在私人叢集中開啟通訊埠」。

  • 請確認安裝 Cloud Service Mesh 的用戶端電腦與 API 伺服器之間有網路連線。

  • 對於 Windows Server 工作負載,Cloud Service Mesh 不受支援。如果叢集同時包含 Linux 和 Windows Server 節點集區,您仍可安裝 Cloud Service Mesh,並在 Linux 工作負載上使用。

Google Cloud外部

  • 請確認您安裝 Cloud Service Mesh 的使用者叢集至少有 4 個 vCPU、15 GB 記憶體和 4 個節點。

  • 請確認您的叢集版本列於支援的平台中。

  • 請確認安裝 Cloud Service Mesh 的用戶端電腦與 API 伺服器之間有網路連線。

  • 如果您要在應用程式 Pod 中部署附屬程式,但該 Pod 無法直接連線至 CA 服務 (例如 meshca.googleapis.comprivateca.googleapis.com),則必須設定以 CONNECT 為基礎的明確 HTTPS Proxy

  • 如果公開叢集中的輸出防火牆規則組合會封鎖隱含規則,請務必設定 HTTP/HTTPS 和 DNS 規則,以便存取公開 Google API。

機群需求

在 Cloud Service Mesh 1.11 以上版本中,所有叢集都必須註冊至機群,且必須啟用機群工作負載身分。您可以自行設定叢集,也可以讓 asmcli 註冊叢集,前提是叢集必須符合下列條件:

  • GKE(適用於叢集內和受管理的 Cloud Service Mesh) 在 Google Kubernetes Engine 叢集中啟用 GKE 工作負載身分 (如果尚未啟用)。此外,您必須使用機群 Workload Identity 註冊叢集

  • GKE 叢集位於 Google Cloud(適用於叢集內的 Cloud Service Mesh) Google Distributed CloudGoogle Distributed CloudGKE on AWSGKE on Azure 會在叢集建立時自動註冊至您的專案車隊。自 GKE Enterprise 1.8 起,所有這些叢集類型在註冊時都會自動啟用機群 Workload Identity。升級至 GKE Enterprise 1.8 時,現有的已註冊叢集會更新為使用機群 Workload Identity。

  • Amazon EKS 叢集(適用於叢集內的 Cloud Service Mesh) 叢集必須有公開的 IAM OIDC 身分識別資訊提供者。請按照「為群集建立 IAM OIDC 供應器」一文中的指示,檢查是否有供應器,並視需要建立供應器。

執行 asmcli install 時,您會指定車隊主機專案的專案 ID。如果叢集尚未註冊,asmcli 會註冊叢集。

後續步驟