Satellite 워커 노드를 RHCOS로 마이그레이션하기

Satellite

Satellite 워커 노드를 RHCOS로 마이그레이션하려면 다음 단계를 따르십시오.

RHCOS로 마이그레이션하려면 새 워커 풀을 프로비저닝한 다음 이전 RHEL 워커 풀을 삭제해야 합니다. 새 작업자 풀은 이전 작업자 풀과 동일한 영역에 있어야 합니다.

1단계: 클러스터 마스터 업그레이드

마스터를 업데이트하려면 다음 명령을 실행하십시오.

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

2단계: 새 RHCOS 워커 풀 만들기

  • RHCOS 을 새 풀의 --operating-system 으로 지정해야 합니다.
  • --size-per-zone 옵션으로 지정한 노드 수가 RHEL 워커 풀의 영역당 워커 수와 일치하는지 확인하세요. 작업자 풀의 영역과 영역당 작업자 수를 나열하려면 ibmcloud oc worker-pool get --worker-pool WORKER_POOL --cluster CLUSTER 을 실행하세요.
  • Cloud Pak 자격이 있는 경우 --entitlement ocp_entitled 옵션을 포함해야 합니다.
  1. ibmcloud oc worker-pool create 명령을 실행하여 새 작업자 풀을 만듭니다.

    RHCOS 워커 풀을 생성하는 명령 예제입니다. 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 옵션으로 지정한 워커 노드 수가 영역에 추가됩니다. 이러한 워커 노드는 RHCOS 운영 체제를 실행합니다. RHCOS 작업자 풀에 추가하는 영역은 교체하려는 RHEL 작업자 풀에 추가하는 영역과 일치하는 것이 좋습니다. 작업자 풀에 연결된 영역을 보려면 ibmcloud oc worker-pool zones --worker-pool WORKER_POOL --cluster CLUSTER 을 실행하세요. RHEL 작업자 풀과 일치하지 않는 영역을 추가하는 경우 새 영역으로 이동해도 워크로드에 영향을 미치지 않는지 확인하세요. 파일 또는 블록 스토리지는 여러 영역에서 지원되지 않습니다.

3단계: RHCOS 워커 풀에 워커 노드 추가하기

VPC 클러스터에서 작업자 풀에 영역 추가하기를 참조하세요.

4단계: 워크로드 마이그레이션

OpenShift Data Foundation 또는 Portworx 과 같은 소프트웨어 정의 스토리지(SDS) 솔루션을 사용하는 경우 새 워커 노드를 포함하도록 스토리지 구성을 업데이트하고 워크로드를 확인한 후 RHEL 워커 노드를 제거하세요.

워크로드 일정 변경에 대한 자세한 내용은 Kubernetes 문서에서 Node 안전하게 배출하기 또는 Red Hat OpenShift 문서에서 노드에서 파드를 비우는 방법 이해를 참조하세요.

  • 노드를 코딩하고 개별 파드를 삭제하여 포드별로 마이그레이션하세요.

    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 워커가 포함된 워커 풀을 제거합니다.

RHEL 작업자 풀을 축소하여 며칠 동안 유지한 후 제거하는 것이 좋습니다. 이렇게 하면 마이그레이션 과정에서 워크로드에 중단이 발생하는 경우 작업자 풀을 쉽게 다시 확장할 수 있습니다. 워크로드가 안정적이고 정상적으로 작동한다고 판단되면 RHEL 워커 풀을 안전하게 제거할 수 있습니다.

  1. 사용 중인 워커 풀을 나열하고, 제거하려는 워커 풀의 이름을 기록해 두십시오.
    ibmcloud oc worker-pool ls --cluster CLUSTER
    
  2. 명령을 실행하여 작업자 풀을 제거합니다.
    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 와 유사한 오류가 표시될 수 있습니다.