遷移至 cgroup v2

在 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 相容的映像檔。

管理員叢集

  1. 開啟管理員叢集設定檔。
  2. 找出 osImageType 欄位。
  3. 將值變更為 ubuntu_cgv2 (如果您使用 Ubuntu) 或 cos_cgv2 (如果您使用 COS)。

如要進一步瞭解這個欄位,請參閱 osImageType 的說明文件。

使用者叢集

  1. 開啟使用者叢集設定檔。
  2. 在 nodePools 區段中找出 osImageType 欄位。
  3. 將值變更為 ubuntu_cgv2 (如果您使用 Ubuntu) 或 cos_cgv2 (如果您使用 COS)。

如要進一步瞭解這個欄位,請參閱 nodePools[i].osImageType 的說明文件。

升級叢集

更新設定檔中的 osImageType 後,請升級叢集。

  1. 執行下列指令來升級叢集:

    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 叢集。