將 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 工作節點。
| 里程碑 | 說明 |
|---|---|
| 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選項。
-
執行
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] -
確認工作人員池已建立,並註記工作人員池 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 -
將一個或多個區域加入工作人員池。 當您新增一個區域時,您使用
--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 池。
- 列出您的工作人員池,並註記您要移除的工作人員池名稱。
ibmcloud oc worker-pool ls --cluster CLUSTER - 執行指令移除 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 的錯誤。