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。
- 即使您不是 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 定價指南。
一般規定
- 如要將服務通訊埠納入服務中介,必須為其命名,且名稱必須包含以下語法中的通訊埠通訊協定: - name: protocol[-suffix],其中方括號表示可選的後置字串,必須以破折號開頭。詳情請參閱「命名服務通訊埠」。
- 如果您已在貴機構中建立服務範圍,可能需要將 Cloud Service Mesh 憑證授權單位服務新增至範圍。詳情請參閱「將 Cloud Service Mesh 憑證授權單位新增至服務邊界」。 
- 如果您想變更 - istio-proxy附屬容器的預設資源限制,新值必須大於預設值,才能避免記憶體不足 (OOM) 事件。
- Google Cloud 專案只能與一個網格建立關聯。 
叢集需求
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.27.1。詳情請參閱「支援的平台」。如果您使用的是靜態 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.com和- privateca.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 Cloud、Google Distributed Cloud、GKE on AWS 和 GKE 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 會註冊叢集。