4.3. 클러스터 업데이트 단계

OpenShift Container Platform에서 클러스터 업데이트는 다음 두 단계로 수행됩니다.

  • CVO(Cluster Version Operator) 대상 업데이트 페이로드 배포
  • MCO(Machine Config Operator) 노드 업데이트

4.3.1. Cluster Version Operator 대상 업데이트 페이로드 배포

CVO(Cluster Version Operator)는 대상 업데이트 릴리스 이미지를 검색하고 클러스터에 적용합니다. 이 단계에서 Pod로 실행되는 모든 구성 요소가 업데이트되는 반면 호스트 구성 요소는 MCO(Machine Config Operator)에서 업데이트합니다. 이 프로세스에는 60~20분이 걸릴 수 있습니다.

참고

업데이트의 CVO 단계는 노드를 재시작하지 않습니다.

4.3.2. Machine Config Operator 노드 업데이트

MCO(Machine Config Operator)는 각 컨트롤 플레인 및 컴퓨팅 노드에 새 머신 구성을 적용합니다. 이 프로세스 중에 MCO는 클러스터의 각 노드에서 다음 작업을 수행합니다.

  1. 모든 노드를 드레인 (Cordon and drain all the nodes)
  2. 운영 체제 (OS) 업데이트
  3. 노드 재부팅
  4. 모든 노드 설정 해제 및 노드에 워크로드 예약
참고

노드가 차단되면 워크로드를 예약할 수 없습니다.

이 프로세스를 완료하는 시간은 노드 및 인프라 구성을 비롯한 여러 요인에 따라 달라집니다. 이 프로세스는 노드당 완료하는 데 5분 이상 걸릴 수 있습니다.

MCO 외에도 다음 매개변수의 영향을 고려해야 합니다.

  • 컨트롤 플레인 노드 업데이트 기간은 예측 가능하며, 컨트롤 플레인 워크로드가 정상 업데이트 및 빠른 드레인을 위해 조정되므로 컴퓨팅 노드보다 더 짧은 경우가 많습니다.
  • MCP(Machine Config Pool)에서 maxUnavailable 필드를 1 이상으로 설정하여 컴퓨팅 노드를 병렬로 업데이트할 수 있습니다. MCO는 maxUnavailable에 지정된 노드 수를 제한하고 업데이트에 사용할 수 없는 것으로 표시합니다.
  • MCP에서 maxUnavailable 을 늘리면 풀이 더 빨리 업데이트할 수 있습니다. 그러나 maxUnavailable 이 너무 높고 여러 노드가 동시에 연결되면 예약 가능한 노드가 복제본을 실행하는 데 사용할 수 없으므로 Pod 중단 예산 (PDB) 보호 워크로드가 드레이닝되지 않을 수 있습니다. MCP에 maxUnavailable 을 늘리면 PDB 보호 워크로드가 드레인될 수 있도록 스케줄링 가능한 노드가 충분히 있는지 확인하십시오.
  • 업데이트를 시작하기 전에 모든 노드를 사용할 수 있는지 확인해야 합니다. 노드가 maxUnavailable 및 Pod 중단 예산에 영향을 미치므로 사용 불가능한 노드가 업데이트 기간에 상당한 영향을 미칠 수 있습니다.

    터미널에서 노드 상태를 확인하려면 다음 명령을 실행합니다.

    $ oc get node

    출력 예

    NAME                                        STATUS                      ROLES   AGE     VERSION
    ip-10-0-137-31.us-east-2.compute.internal   Ready,SchedulingDisabled    worker  12d     v1.23.5+3afdacb
    ip-10-0-151-208.us-east-2.compute.internal  Ready                       master  12d     v1.23.5+3afdacb
    ip-10-0-176-138.us-east-2.compute.internal  Ready                       master  12d     v1.23.5+3afdacb
    ip-10-0-183-194.us-east-2.compute.internal  Ready                       worker  12d     v1.23.5+3afdacb
    ip-10-0-204-102.us-east-2.compute.internal  Ready                       master  12d     v1.23.5+3afdacb
    ip-10-0-207-224.us-east-2.compute.internal  Ready                       worker  12d     v1.23.5+3afdacb

    노드 상태가 NotReady 또는 SchedulingDisabled 인 경우 노드를 사용할 수 없으며 업데이트 기간에 영향을 미칩니다.

    컴퓨팅 → 노드를 확장하여 웹 콘솔의 관리자 화면에서 노드의 상태를 확인할 수 있습니다.