9.4. 클러스터에서 RHEL 컴퓨팅 시스템 업데이트

클러스터를 업데이트한 후 클러스터의 RHEL (Red Hat Enterprise Linux) 컴퓨팅 시스템을 업데이트해야합니다.

중요

RHEL (Red Hat Enterprise Linux) 버전 8.4 및 버전 8.5는 RHEL 작업자 (compute) 시스템에서 지원됩니다.

RHEL을 운영 체제로 사용하는 경우 컴퓨팅 머신을 다른 OpenShift Container Platform 마이너 버전으로 업데이트할 수도 있습니다. 마이너 버전 업데이트를 수행할 때 RHEL에서 RPM 패키지를 제외할 필요가 없습니다.

중요

RHEL 7 컴퓨팅 머신을 RHEL 8로 업그레이드할 수 없습니다. 새 RHEL 8 호스트를 배포해야 하며 이전 RHEL 7 호스트를 제거해야 합니다.

사전 요구 사항

  • 클러스터가 업데이트되었습니다.

    중요

    RHEL 시스템에 업데이트 프로세스를 완료하기 위해 클러스터에서 생성한 자산이 필요하므로 RHEL 작업자 시스템을 업데이트하기 전에 클러스터를 업데이트해야 합니다.

  • RHEL 컴퓨팅 머신을 클러스터에 추가하는 데 사용한 로컬 시스템에 액세스할 수 있습니다. RHEL 시스템 및 upgrade Playbook을 정의하는 hosts Ansible 인벤토리 파일에 액세스할 수 있어야 합니다.
  • 마이너 버전을 업데이트하기 위해 RPM 리포지토리는 클러스터에서 실행 중인 동일한 버전의 OpenShift Container Platform을 사용하고 있습니다.

프로세스

  1. 호스트에서 firewalld를 중지하고 비활성화합니다.

    # systemctl disable --now firewalld.service
    참고

    기본적으로 "최소" 설치 옵션이 있는 기본 OS RHEL에서는 firewalld 서비스를 활성화합니다. 호스트에서 firewalld 서비스를 활성화하면 작업자의 OpenShift Container Platform 로그에 액세스할 수 없습니다. 작업자의 OpenShift Container Platform 로그에 계속 액세스하려면 나중에 firewalld를 활성화하지 마십시오.

  2. OpenShift Container Platform 4.9에 필요한 리포지토리를 활성화합니다.

    1. Ansible Playbook을 실행하는 컴퓨터에서 필요한 리포지토리를 업데이트합니다.

      # subscription-manager repos --disable=rhel-7-server-ose-4.8-rpms \
                                   --enable=rhel-7-server-ansible-2.9-rpms \
                                   --enable=rhel-7-server-ose-4.9-rpms
    2. Ansible Playbook을 실행하는 시스템에서 openshift-ansible을 포함하여 필요한 패키지를 업데이트합니다.

      # yum update openshift-ansible openshift-clients
    3. 각 RHEL 컴퓨팅 노드에 필요한 리포지토리를 업데이트합니다.

      # subscription-manager repos --disable=rhel-7-server-ose-4.8-rpms \
                                   --enable=rhel-7-server-ose-4.9-rpms  \
                                   --enable=rhel-7-fast-datapath-rpms   \
                                   --enable=rhel-7-server-optional-rpms
  3. RHEL 작업자 시스템을 업데이트합니다.

    1. 현재 노드 상태를 확인하고 업데이트할 RHEL 작업자를 결정합니다.

      # oc get node

      출력 예

      NAME                        STATUS                        ROLES    AGE    VERSION
      mycluster-control-plane-0   Ready                         master   145m   v1.22.1
      mycluster-control-plane-1   Ready                         master   145m   v1.22.1
      mycluster-control-plane-2   Ready                         master   145m   v1.22.1
      mycluster-rhel7-0           NotReady,SchedulingDisabled   worker   98m    v1.22.1
      mycluster-rhel7-1           Ready                         worker   98m    v1.22.1
      mycluster-rhel7-2           Ready                         worker   98m    v1.22.1
      mycluster-rhel7-3           Ready                         worker   98m    v1.22.1

      NotReady, SchedulingDisabled 상태인 시스템을 확인합니다.

    2. 다음 예와 같이 /<path>/inventory/hosts에서 Ansible 인벤토리 파일을 확인하고 NotReady, SchedulingDisabled 상태인 시스템만 [workers] 섹션에 나열되도록 내용을 업데이트합니다.

      [all:vars]
      ansible_user=root
      #ansible_become=True
      
      openshift_kubeconfig_path="~/.kube/config"
      
      [workers]
      mycluster-rhel7-0.example.com
    3. openshift-ansible 디렉토리로 변경합니다.

      $ cd /usr/share/ansible/openshift-ansible
    4. upgrade Playbook을 실행합니다.

      $ ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml 1
      1
      <path>에 대해 생성한 Ansible 인벤토리 파일의 경로를 지정합니다.
      참고

      upgrade 플레이북은 OpenShift Container Platform 패키지만 업그레이드합니다. 운영 체제 패키지를 업데이트하지 않습니다.

  4. 이전 단계의 프로세스에 따라 클러스터의 각 RHEL 작업자 시스템을 업데이트합니다.
  5. 모든 작업자를 업데이트한 후 모든 클러스터 노드가 새 버전으로 업데이트되었는지 확인합니다.

    # oc get node

    출력 예

    NAME                        STATUS                        ROLES    AGE    VERSION
    mycluster-control-plane-0   Ready                         master   145m   v1.22.1
    mycluster-control-plane-1   Ready                         master   145m   v1.22.1
    mycluster-control-plane-2   Ready                         master   145m   v1.22.1
    mycluster-rhel7-0           NotReady,SchedulingDisabled   worker   98m    v1.22.1
    mycluster-rhel7-1           Ready                         worker   98m    v1.22.1
    mycluster-rhel7-2           Ready                         worker   98m    v1.22.1
    mycluster-rhel7-3           Ready                         worker   98m    v1.22.1

  6. 선택 사항: upgrade 플레이북에서 업데이트하지 않은 운영 체제 패키지를 업데이트합니다. 4.9에 없는 패키지를 업데이트하려면 다음 명령을 사용합니다.

    # yum update
    참고

    4.9를 설치할 때 사용한 것과 동일한 RPM 리포지토리를 사용하는 경우 RPM 패키지를 제외할 필요가 없습니다.