將 Satellite 工作節點遷移至 RHCOS
Satellite
請依照以下步驟,將您的 Satellite 工作節點遷移至 RHCOS
若要遷移至 RHCOS,您必須佈建新的工作人員池,然後刪除先前的 RHEL 工作人員池。 新的 Worker pool 必須與先前的 Worker pool 位於同一區域。
步驟 1:升級您的群集主站
執行以下指令以更新主伺服器。
ibmcloud ks cluster master update --cluster CLUSTERNAMEORID --version 4.18_openshift
步驟 2:建立新的 RHCOS 工作者池
- 確保指定
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 的範例指令。 請注意,對於 Satellite 群集,您必須 先將主機附加到您的位置,才能建立工作人員池。
ibmcloud oc worker-pool create satellite --cluster CLUSTER --host-label "os=RHCOS" --name NAME --size-per-zone SIZE --operating-system RHCOS --zone ZONE [--label LABEL] -
確認工作人員池已建立,並註記工作人員池 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 docs 中的 Safely Drain a Node 或 Red Hat OpenShift docs 中的 Understanding how to evacuate pods on nodes。
-
透過劃定節點和刪除個別 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 的錯誤。