在 VMware 1.35 版上使用 Google Distributed Cloud 軟體時,需要 cgroup v2。自 1.35 版起,Kubernetes 不再支援 cgroup v1。本文說明如何將叢集遷移至 cgroup v2。
事前準備
如要在 Kubernetes 1.35 版的 VMware 上安裝或升級 Google Distributed Cloud 軟體,請確認下列事項:
- 確認軟體版本:您必須在 VMware 1.35.00 以上版本使用 Google Distributed Cloud 軟體。
- 作業系統 cgroup v2 相容性:您必須使用支援 cgroup v2 的作業系統。
- 設定 cgroup v2 (如有需要):如果您的 OS 預設不是 cgroup v2 (例如 Ubuntu 18.04/20.04),則必須手動設定。詳情請參閱 Kubernetes 說明文件中的「遷移至 cgroup v2」。
- 更新叢集設定:將
osImageType欄位從ubuntu、ubuntu_containerd或cos變更為ubuntu_cgv2或cos_cgv2,然後再升級至 1.35 版。 - 準備 vSphere 映像檔:如果 vSphere 缺少映像檔,請執行
gkectl prepare。 - 更新自動化指令碼:檢查並更新所有自動化指令碼,改用新的
ubuntu_cgv2或cos_cgv2圖片類型。
更新 OS 映像檔類型
執行 gkectl upgrade 前,請先在叢集 YAML 檔案中,將 osImageType 變更為與 cgroup v2 相容的映像檔。
管理員叢集
- 開啟管理員叢集設定檔。
- 找出
osImageType欄位。 - 將值變更為
ubuntu_cgv2(如果您使用 Ubuntu) 或cos_cgv2(如果您使用 COS)。
如要進一步瞭解這個欄位,請參閱 osImageType 的說明文件。
使用者叢集
- 開啟使用者叢集設定檔。
- 在
nodePools區段中找出osImageType欄位。 - 將值變更為
ubuntu_cgv2(如果您使用 Ubuntu) 或cos_cgv2(如果您使用 COS)。
如要進一步瞭解這個欄位,請參閱 nodePools[i].osImageType 的說明文件。
升級叢集
更新設定檔中的 osImageType 後,請升級叢集。
執行下列指令來升級叢集:
gkectl upgrade cluster --config USER_CLUSTER_CONFIG --admin-config ADMIN_CLUSTER_CONFIG請將
USER_CLUSTER_CONFIG替換為使用者叢集設定檔的路徑,請將ADMIN_CLUSTER_CONFIG替換為管理員叢集設定檔的路徑。
預檢
VMware 上的 GKE 1.35 不支援 ubuntu、ubuntu_containerd 和 cos OS 映像檔類型。如果您嘗試使用這些映像檔類型建立或升級叢集或節點集區,系統會在預檢期間封鎖要求。
新的預設 OS 映像檔類型
VMware 中 GKE 1.35 的預設 osImageType 為 ubuntu_cgv2。
如果您建立新的叢集設定,並將 osImageType 欄位留空,系統會預設部署啟用 cgroup v2 的節點。
如果您偏好使用 Container-Optimized OS (COS) 而非 Ubuntu,請在設定檔中將 osImageType 欄位明確設為 cos_cgv2。
後續步驟
- 更新「管理員叢集設定檔」
osImageType欄位。 - 更新節點集區中的「使用者叢集設定檔」
osImageType欄位。 - 進一步瞭解如何升級 GKE on VMware 叢集。