8.4. クラスター内の RHEL コンピュートマシンの更新

クラスターの更新後は、クラスター内の Red Hat Enterprise Linux (RHEL) コンピュートマシンを更新する必要があります。

重要

ワーカー (コンピュート) マシン用にサポートされているのは Red Hat Enterprise Linux (RHEL) バージョン 7.9 以降であるため、RHEL ワーカーマシンをバージョン 8 にアップグレードすることはできません。

RHEL をオペレーティングシステムとして使用する場合は、コンピュートマシンを別の OpenShift Container Platform のマイナーバージョンに更新することもできます。マイナーバージョンの更新の実行時に、RHEL から RPM パッケージを除外する必要はありません。

前提条件

  • クラスターが更新されていること。

    重要

    RHEL マシンには、更新プロセスを完了するためにクラスターで生成されるアセットが必要になるため、クラスターを更新してから、クラスター内の RHEL ワーカーマシンを更新する必要があります。

  • RHEL コンピュートマシンクラスターの追加に使用したマシンへのローカルアクセスがあること。RHEL マシンを定義する hosts Ansible インベントリーファイルおよび upgrade Playbook にアクセスできる必要があります。
  • マイナーバージョンへの更新の場合、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.8 で必要なリポジトリーを有効にします。

    1. Ansible Playbook を実行するマシンで、必要なリポジトリーを更新します。

      # subscription-manager repos --disable=rhel-7-server-ose-4.7-rpms \
                                   --enable=rhel-7-server-ansible-2.9-rpms \
                                   --enable=rhel-7-server-ose-4.8-rpms
    2. Ansible Playbook を実行するマシンで、openshift-ansible を含む必要なパッケージを更新します。

      # yum update openshift-ansible openshift-clients
    3. 各 RHEL コンピュートノードで、必要なリポジトリーを更新します。

      # subscription-manager repos --disable=rhel-7-server-ose-4.7-rpms \
                                   --enable=rhel-7-server-ose-4.8-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.21.0
      mycluster-control-plane-1   Ready                         master   145m   v1.21.0
      mycluster-control-plane-2   Ready                         master   145m   v1.21.0
      mycluster-rhel7-0           NotReady,SchedulingDisabled   worker   98m    v1.21.0
      mycluster-rhel7-1           Ready                         worker   98m    v1.21.0
      mycluster-rhel7-2           Ready                         worker   98m    v1.21.0
      mycluster-rhel7-3           Ready                         worker   98m    v1.21.0

      ステータスが 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 Playbook は OpenShift Container Platform パッケージのみをアップグレードします。オペレーティングシステムパッケージは更新されません。

  4. 直前の手順で実行したプロセスに従って、クラスター内の各 RHEL ワーカーマシンを更新します。
  5. すべてのワーカーを更新したら、すべてのクラスターノードが新規バージョンに更新されていることを確認します。

    # oc get node

    出力例

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

  6. オプション: upgrade Playbook で更新されていないオペレーティングシステムパッケージを更新します。4.8 にないパッケージを更新するには、以下のコマンドを使用します。

    # yum update
    注記

    4.8 のインストール時に使用したものと同じ RPM リポジトリーを使用している場合は、RPM パッケージを除外する必要はありません。