叢內 Cloud Service Mesh 的必要條件
本頁說明在 GKE 安裝叢內 Cloud Service Mesh 的先決條件和需求,例如 GKE Enterprise 授權、叢集需求、機群需求和一般需求。
Cloud 專案
事前準備:
GKE Enterprise 授權
您可以透過 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。
一般規定
如要納入服務網格,服務通訊埠必須命名,且名稱須包含通訊埠的通訊協定,語法如下:
name: protocol[-suffix]方括號表示選用後置字元,且必須以破折號開頭。詳情請參閱「命名服務通訊埠」。如果您已在機構中建立服務範圍,可能需要將 Cloud Service Mesh 憑證授權單位服務新增至該範圍。詳情請參閱「將 Cloud Service Mesh 憑證授權單位新增至 service perimeter」。
如要變更
istio-proxy邊車容器的預設資源限制,新值必須大於預設值,才能避免發生記憶體不足 (OOM) 事件。Google Cloud 專案只能與一個網格建立關聯。
叢集需求
確認叢集版本列於「支援的平台」中。
GKE 叢集必須符合下列規定:
GKE 叢集必須為標準叢集。Autopilot 叢集僅支援代管 Cloud Service Mesh。
至少有 4 個 vCPU 的機型,例如
e2-standard-4。 如果叢集的機型沒有至少 4 個 vCPU,請按照「將工作負載遷移至其他機型」一文的說明變更機型。節點數量下限取決於機型。Cloud Service Mesh 至少需要 8 個 vCPU。如果機型有 4 個 vCPU,叢集至少要有 2 個節點。如果機型有 8 個 vCPU,叢集只需要 1 個節點。如要新增節點,請參閱「調整叢集大小」。
必須使用 GKE Workload Identity。建議您先啟用Workload Identity,再安裝 Cloud Service Mesh。啟用 Workload Identity 後,工作負載對 Google API 的呼叫安全機制會有所變更,詳情請參閱「Workload Identity 限制」。請注意,您不需要在現有節點集區上啟用 GKE 中繼資料伺服器。
建議您在發布管道中註冊叢集 (選用)。建議您加入「一般」發布管道,因為其他管道可能採用 Cloud Service Mesh 1.31.1不支援的 GKE 版本。詳情請參閱「支援的平台」。如果使用靜態 GKE 版本,請按照「在發布管道中註冊現有叢集」一文的指示操作。
如果您要在私人叢集上安裝 Cloud Service Mesh,必須在防火牆中開啟通訊埠 15017,才能取得用於自動加入邊車容器 和設定驗證的 Webhook。詳情請參閱「在私人叢集上開啟通訊埠」。
確認您用來安裝 Cloud Service Mesh 的用戶端電腦,已連線至 API 伺服器。
Cloud Service Mesh 不支援 Windows Server 工作負載。如果叢集同時有 Linux 和 Windows Server 節點集區,您仍可安裝 Cloud Service Mesh,並用於 Linux 工作負載。
機群規定
所有叢集都必須註冊至機群,且必須啟用機群工作負載身分。您可以自行設定叢集,也可以讓 asmcli 註冊叢集,但必須符合下列規定:
- GKE:(適用於叢集內和代管式 Cloud Service Mesh) 在 Google Kubernetes Engine 叢集上啟用 GKE Workload Identity (如果尚未啟用)。此外,您「必須」使用機群 Workload Identity 註冊叢集。
執行 asmcli install 時,請指定機群主專案的專案 ID。如果叢集尚未註冊,asmcli 會註冊叢集。