14장. vSphere에서 실행 중인 노드에서 하드웨어 업데이트

vSphere에서 실행 중인 노드가 OpenShift Container Platform에서 지원하는 하드웨어 버전에서 실행되고 있는지 확인해야 합니다. 현재 클러스터의 vSphere 가상 머신에서 하드웨어 버전 15 이상이 지원됩니다.

가상 하드웨어를 즉시 업데이트하거나 vCenter에 업데이트를 예약할 수 있습니다.

중요

OpenShift Container Platform 버전 4.12에는 VMware 가상 하드웨어 버전 15 이상이 필요합니다.

14.1. vSphere에서 가상 하드웨어 업데이트

VMware vSphere에서 VM(가상 머신)의 하드웨어를 업데이트하려면 가상 머신을 별도로 업데이트하여 클러스터의 다운타임 위험을 줄입니다.

14.1.1. vSphere에서 컨트롤 플레인 노드의 가상 하드웨어 업데이트

다운타임 위험을 줄이려면 컨트롤 플레인 노드를 직렬로 업데이트하는 것이 좋습니다. 이렇게 하면 Kubernetes API를 계속 사용할 수 있으며 etcd는 쿼럼을 유지합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터를 호스팅하는 vCenter 인스턴스에서 필요한 권한을 실행할 수 있는 클러스터 관리자 권한이 있습니다.
  • vSphere ESXi 호스트는 7.0U2 이상 버전입니다.

프로세스

  1. 클러스터의 컨트롤 플레인 노드를 나열합니다.

    $ oc get nodes -l node-role.kubernetes.io/master

    출력 예

    NAME                    STATUS   ROLES    AGE   VERSION
    control-plane-node-0    Ready    master   75m   v1.25.0
    control-plane-node-1    Ready    master   75m   v1.25.0
    control-plane-node-2    Ready    master   75m   v1.25.0

    컨트롤 플레인 노드의 이름을 확인합니다.

  2. 컨트롤 플레인 노드를 예약할 수 없음으로 표시합니다.

    $ oc adm cordon <control_plane_node>
  3. 컨트롤 플레인 노드와 연결된 VM(가상 머신)을 종료합니다. VM을 마우스 오른쪽 버튼으로 클릭하고 PowerShut Down Guest OS를 선택하여 vSphere 클라이언트에서 이 작업을 수행합니다. 안전하게 종료되지 않을 수 있으므로 Power Off (전원 끄기)를 사용하여 VM을 종료하지 마십시오.
  4. vSphere 클라이언트에서 VM을 업데이트합니다. 자세한 내용은 VMware 문서에서 수동으로 가상 머신의 호환성 업그레이드 를 따르십시오.
  5. 컨트롤 플레인 노드와 연결된 VM의 전원을 켭니다. VM을 마우스 오른쪽 버튼으로 클릭하고 Power On을 선택하여 vSphere 클라이언트에서 이 작업을 수행합니다.
  6. 노드가 Ready로 보고될 때까지 기다립니다.

    $ oc wait --for=condition=Ready node/<control_plane_node>
  7. 컨트롤 플레인 노드를 다시 예약 가능으로 표시합니다.

    $ oc adm uncordon <control_plane_node>
  8. 클러스터의 각 컨트롤 플레인 노드에 대해 이 절차를 반복합니다.

14.1.2. vSphere에서 컴퓨팅 노드의 가상 하드웨어 업데이트

다운타임 위험을 줄이려면 컴퓨팅 노드를 직렬로 업데이트하는 것이 좋습니다.

참고

여러 컴퓨팅 노드를 병렬로 업데이트할 수 있는 워크로드는 NotReady 상태에 여러 노드를 가질 수 있습니다. 관리자가 필요한 컴퓨팅 노드를 사용할 수 있는지 확인해야 합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터를 호스팅하는 vCenter 인스턴스에서 필요한 권한을 실행할 수 있는 클러스터 관리자 권한이 있습니다.
  • vSphere ESXi 호스트는 7.0U2 이상 버전입니다.

프로세스

  1. 클러스터의 컴퓨팅 노드를 나열합니다.

    $ oc get nodes -l node-role.kubernetes.io/worker

    출력 예

    NAME              STATUS   ROLES    AGE   VERSION
    compute-node-0    Ready    worker   30m   v1.25.0
    compute-node-1    Ready    worker   30m   v1.25.0
    compute-node-2    Ready    worker   30m   v1.25.0

    컴퓨팅 노드의 이름을 확인합니다.

  2. 컴퓨팅 노드를 예약 불가로 표시합니다.

    $ oc adm cordon <compute_node>
  3. 컴퓨팅 노드에서 pod를 비웁니다. 이 작업을 수행하는 방법에는 여러 가지가 있습니다. 예를 들어 노드의 모든 Pod 또는 선택한 Pod를 비울 수 있습니다.

    $ oc adm drain <compute_node> [--pod-selector=<pod_selector>]

    노드에서 pod를 비우기 위한 다른 옵션은 "노드에서 pod를 비우는 방법 이해" 섹션을 참조하십시오.

  4. 컴퓨팅 노드와 연결된 VM(가상 머신)을 종료합니다. VM을 마우스 오른쪽 버튼으로 클릭하고 PowerShut Down Guest OS를 선택하여 vSphere 클라이언트에서 이 작업을 수행합니다. 안전하게 종료되지 않을 수 있으므로 Power Off (전원 끄기)를 사용하여 VM을 종료하지 마십시오.
  5. vSphere 클라이언트에서 VM을 업데이트합니다. 자세한 내용은 VMware 문서에서 수동으로 가상 머신의 호환성 업그레이드 를 따르십시오.
  6. 컴퓨팅 노드와 연결된 VM의 전원을 켭니다. VM을 마우스 오른쪽 버튼으로 클릭하고 Power On을 선택하여 vSphere 클라이언트에서 이 작업을 수행합니다.
  7. 노드가 Ready로 보고될 때까지 기다립니다.

    $ oc wait --for=condition=Ready node/<compute_node>
  8. 컴퓨팅 노드를 다시 예약 가능으로 표시합니다.

    $ oc adm uncordon <compute_node>
  9. 클러스터의 각 컴퓨팅 노드에 대해 이 절차를 반복합니다.

14.1.3. vSphere에서 템플릿의 가상 하드웨어 업데이트

사전 요구 사항

  • OpenShift Container Platform 클러스터를 호스팅하는 vCenter 인스턴스에서 필요한 권한을 실행할 수 있는 클러스터 관리자 권한이 있습니다.
  • vSphere ESXi 호스트는 7.0U2 이상 버전입니다.

프로세스

  1. RHCOS 템플릿이 vSphere 템플릿으로 구성된 경우 다음 단계 를 수행하기 전에 템플릿을 VMware 설명서의 가상 머신으로 변환 합니다.

    참고

    템플릿에서 변환한 후에는 가상 머신의 전원을 켜지 마십시오.

  2. vSphere 클라이언트에서 VM을 업데이트합니다. 자세한 내용은 VMware 문서에서 수동으로 가상 머신의 호환성 업그레이드 를 따르십시오.
  3. vSphere 클라이언트의 VM을 VM에서 템플릿으로 변환합니다. 자세한 내용은 VMware 문서의 vSphere Client의 템플릿으로 가상 머신 변환 을 따르십시오.