將 VPC 工作節點遷移至 RHCOS

虛擬私有雲

請依照以下步驟,將您的 VPC 工作節點遷移至 RHCOS

本頁面的資訊僅適用於 VPC 群集。 它不適用於 Satellite 或 Classic 集群。

從叢集版本開始 4.18:

  • Red Hat Enterprise Linux CoreOS (RHCOS) 是 VPC 群集的預設作業系統。
  • RHEL Worker 節點已不適用於 VPC 群集。
  • 4.22 版本是最後一個支援在 VPC 上運行 RHEL 工作節點的版本。 未來版本將需要 RHCOS 工作節點。

儘快將您的 VPC 群集遷移到使用 RHCOS 工作節點。

RHEL 廢棄時間表
里程碑 說明
4.18 釋放:2025 年 5 月 23 日 自叢集版本 4.18 起,Red Hat Cluster Red Hat Enterprise LinuxCoreOS OS (RHCOS) 成為預設作業系統,而 RHEL 工作節點在此版本中已遭廢棄。 RHEL Worker 仍可在 4.18 版本中使用,僅供完成遷移至 RHCOS Worker 之用。
4.22 釋放 4.22 版本是最後一個支援在 VPC 上運行 RHEL 工作節點的版本。 在升級至未來版本之前,請先將您的 RHEL 9 工作節點遷移至 RHCOS。

完成以下步驟將工 作人員節點遷移至 RHCOS。

若要遷移至 RHCOS,您必須佈建新的工作人員池,然後刪除先前的 RHEL 工作人員池。 新的 Worker pool 必須與先前的 Worker pool 位於同一區域。

步驟 1:升級您的群集主站

執行以下指令以更新主伺服器。

ibmcloud ks cluster master update --cluster CLUSTERNAMEORID --version 4.18_openshift

步驟 2:建立新的 RHCOS 工作者池

在建立新的 RHCOS 工作池之前,請先檢視實例群組的配額限制。 每個 RHCOS 叢集最多可包含 12 個實例群組。 每個工作池中的每個區域都會建立一個實例群組。 舉例來說,如果您有 3 個工作群組,每個群組包含 3 個區域,那麼您將使用 12 個可用實例群組中的 9 個。 如果您需要超過 12 個叢集 ,請聯絡 IBM 技術支援, 申請提高帳戶整體配額,此調整將適用於您帳戶中的所有叢集。

  • 確保指定 RHCOS 為新池的 --operating-system
  • 確保 --size-per-zone 選項指定的節點數與 RHEL Worker 池每個區域的 Worker 數目相符。 若要列出 Worker 池的區域和每個區域的 Worker 數量,請執行 ibmcloud oc worker-pool get --worker-pool WORKER_POOL --cluster CLUSTER
  • 如果您有 Cloud Pak 權利,請務必包含 --entitlement ocp_entitled 選項。
  1. 執行 ibmcloud oc worker-pool create 指令以建立新的 Worker pool。

    建立 RHCOS Worker pool 的範例指令。 如需 worker pool create vpc-gen2 指令的詳細資訊,請參閱 CLI 參考資料 以取得指令詳細資訊。 在 VPC 集群中新增工作站節點

    ibmcloud oc worker-pool create vpc-gen2 --name WORKER_POOL_NAME --cluster CLUSTER_NAME_OR_ID --flavor FLAVOR --size-per-zone NUMBER_OF_WORKERS_PER_ZONE --operating-system RHCOS [--entitlement ocp_entitled]
    
  2. 確認工作人員池已建立,並註記工作人員池 ID。

    ibmcloud oc worker-pool ls --cluster CLUSTER_NAME_OR_ID
    

    輸出範例

    Name            ID                              Flavor                 OS              Workers
    my_workerpool   aaaaa1a11a1aa1aaaaa111aa11      b3c.4x16.encrypted     REDHAT_8_64    0
    
  3. 將一個或多個區域加入工作人員池。 當您新增一個區域時,您使用 --size-per-zone 選項指定的 Worker 節點數量會被新增至該區域。 這些工作節點執行 RHCOS 作業系統。 建議您新增至 RHCOS Worker pool 的區域與新增至您要取代的 RHEL Worker pool 的區域相符。 若要檢視附加至 Worker pool 的區域,請執行 ibmcloud oc worker-pool zones --worker-pool WORKER_POOL --cluster CLUSTER。 如果您新增的區域與 RHEL Worker pool 的區域不一致,請確定您的工作負載不會因為移動到新的區域而受到影響。 請注意,檔案或區塊儲存不支援跨區。

步驟 3:新增工作站節點到您的 RHCOS 工作站池

請參閱 將區域新增至 VPC 群集中的工作人員池

步驟 4:遷移工作負載

若您使用軟體定義儲存(SDS)解決方案(例如 OpenShift Data Foundation 或 Portworx ),請在移除 RHEL 工作節點前,更新儲存配置以納入新的工作節點,並驗證工作負載狀態。

有關重新排程工作負載的詳細資訊,請參閱《Kubernetes Kubernetes 文件》中的 〈安全地將 Pod Node節點中移除〉或《Kubernetes Red Hat OpenShift 文件》中的〈了解如何將 Pod 從節點中撤離〉。

  • 透過劃定節點和刪除個別 pod 來遷移每個 pod。

    oc adm cordon no/<nodeName>
    oc delete po -n <namespace> <podName>
    
  • 透過排出節點來遷移每個 Node。 如需詳細資訊,請參閱 安全排出節點

  • 透過刪除整個 RHEL 工作人員池來遷移每個工作人員池。

    ibmcloud ks worker-pool rm --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID
    

步驟 5:移除 RHEL 工作節點

移除包含 RHEL Worker 的 Worker 池。

考慮縮小 RHEL Worker 池的規模,並在移除前保留數天。 這樣,如果您的工作負載在遷移過程中發生中斷,您就可以輕鬆地重新擴充工作人員池。 當您確定工作負載穩定且運作正常時,就可以安全地移除 RHEL Worker 池。

  1. 列出您的工作人員池,並註記您要移除的工作人員池名稱。
    ibmcloud oc worker-pool ls --cluster CLUSTER
    
  2. 執行指令移除 Worker 池。
    ibmcloud oc worker-pool rm --worker-pool WORKER_POOL --cluster CLUSTER
    

可選步驟 5:卸載並重新安裝 Object Storage 外掛程式

如果您在群集中使用 COS 外掛程式,從 RHEL 遷移到 RHCOS 之後,您必須解除安裝並重新安裝,因為兩個作業系統的 kube-driver 路徑不同。 如果沒有這樣做,您可能會看到類似 Error: failed to mkdir /usr/libexec/kubernetes: mkdir /usr/libexec/kubernetes: read-only file system 的錯誤。