13.4. クラスター内の RHEL コンピュートマシンの更新
クラスターの更新後は、クラスター内の Red Hat Enterprise Linux (RHEL) コンピュートマシンを更新する必要があります。
RHEL コンピューティングマシンでは、Red Hat Enterprise Linux (RHEL) バージョン 8.6 以降がサポートされています。
RHEL をオペレーティングシステムとして使用する場合は、コンピュートマシンを別の OpenShift Container Platform のマイナーバージョンに更新することもできます。マイナーバージョンの更新の実行時に、RHEL から RPM パッケージを除外する必要はありません。
RHEL 7 コンピュートマシンを RHEL 8 にアップグレードすることはできません。新しい RHEL 8 ホストをデプロイする必要があり、古い RHEL 7 ホストを削除する必要があります。
前提条件
クラスターが更新されていること。
重要RHEL マシンには、更新プロセスを完了するためにクラスターで生成されるアセットが必要になるため、クラスターを更新してから、クラスター内の RHEL ワーカーマシンを更新する必要があります。
-
RHEL コンピュートマシンクラスターの追加に使用したマシンへのローカルアクセスがあること。RHEL マシンを定義する
hosts
Ansible インベントリーファイルおよびupgrade
Playbook にアクセスできる必要があります。 - マイナーバージョンへの更新の場合、RPM リポジトリーはクラスターで実行しているのと同じバージョンの OpenShift Container Platform を使用します。
手順
ホストで firewalld を停止し、無効にします。
systemctl disable --now firewalld.service
# systemctl disable --now firewalld.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記デフォルトでは、"最小" インストールオプションを持つベース OS RHEL により、firewalld サービスが有効になります。ホストで firewalld サービスを有効にすると、ワーカーで OpenShift Container Platform ログにアクセスできなくなります。ワーカーの OpenShift Container Platform ログへのアクセスを継続する場合は、firewalld を後で有効にしないでください。
OpenShift Container Platform 4.13 で必要なリポジトリーを有効にします。
Ansible Playbook を実行するマシンで、必要なリポジトリーを更新します。
subscription-manager repos --disable=rhocp-4.12-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.13-for-rhel-8-x86_64-rpms
# subscription-manager repos --disable=rhocp-4.12-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.13-for-rhel-8-x86_64-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要OpenShift Container Platform 4.11 の時点で、Ansible Playbook は RHEL 8 に対してのみ提供されています。RHEL 7 システムが OpenShift Container Platform 4.10 Ansible Playbook のホストとして使用された場合、Ansible ホストを RHEL 8 にアップグレードするか、RHEL 8 システムに新しい Ansible ホストを作成し、古い Ansible ホストからインベントリーをコピーする必要があります。
Ansible Playbook を実行するマシンで、Ansible パッケージを更新します。
yum swap ansible ansible-core
# yum swap ansible ansible-core
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Playbook を実行するマシンで、
openshift-ansible
を含む必要なパッケージを更新します。yum update openshift-ansible openshift-clients
# yum update openshift-ansible openshift-clients
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各 RHEL コンピュートノードで、必要なリポジトリーを更新します。
subscription-manager repos --disable=rhocp-4.12-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.13-for-rhel-8-x86_64-rpms
# subscription-manager repos --disable=rhocp-4.12-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.13-for-rhel-8-x86_64-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
RHEL ワーカーマシンを更新します。
次の例に示すように、
/<path>/inventory/hosts
にある Ansible インベントリーファイルを確認し、その内容を更新して、RHEL 8 マシンが[workers]
セクションにリストされるようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-ansible
ディレクトリーに移動します。cd /usr/share/ansible/openshift-ansible
$ cd /usr/share/ansible/openshift-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade
Playbook を実行します。ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml
$ ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<path>
については、作成した Ansible インベントリーファイルへのパスを指定します。
注記upgrade
Playbook は OpenShift Container Platform パッケージのみをアップグレードします。オペレーティングシステムパッケージは更新されません。
すべてのワーカーを更新したら、すべてのクラスターノードが新規バージョンに更新されていることを確認します。
oc get node
# oc get node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
upgrade
Playbook で更新されていないオペレーティングシステムパッケージを更新します。4.13 にないパッケージを更新するには、以下のコマンドを使用します。yum update
# yum update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記4.13 のインストール時に使用したものと同じ RPM リポジトリーを使用している場合は、RPM パッケージを除外する必要はありません。