將 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 選項。
  1. 執行 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]
    
  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 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 池。

  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 的錯誤。