12.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 マシンを定義する
hostsAnsible インベントリーファイルおよびupgradePlaybook にアクセスできる必要があります。 - マイナーバージョンへの更新の場合、RPM リポジトリーはクラスターで実行しているのと同じバージョンの OpenShift Container Platform を使用します。
手順
ホストで firewalld を停止し、無効にします。
systemctl disable --now firewalld.service
# systemctl disable --now firewalld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記デフォルトでは、"最小" インストールオプションを持つベース OS RHEL により、firewalld サービスが有効になります。ホストで firewalld サービスを有効にすると、ワーカーで OpenShift Container Platform ログにアクセスできなくなります。ワーカーの OpenShift Container Platform ログへのアクセスを継続する場合は、firewalld を後で有効にしないでください。
OpenShift Container Platform 4.12 で必要なリポジトリーを有効にします。
Ansible Playbook を実行するマシンで、必要なリポジトリーを更新します。
subscription-manager repos --disable=rhocp-4.11-for-rhel-8-x86_64-rpms \ --disable=ansible-2.9-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.12-for-rhel-8-x86_64-rpms# subscription-manager repos --disable=rhocp-4.11-for-rhel-8-x86_64-rpms \ --disable=ansible-2.9-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.12-for-rhel-8-x86_64-rpmsCopy 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-coreCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Playbook を実行するマシンで、
openshift-ansibleを含む必要なパッケージを更新します。yum update openshift-ansible openshift-clients
# yum update openshift-ansible openshift-clientsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各 RHEL コンピュートノードで、必要なリポジトリーを更新します。
subscription-manager repos --disable=rhocp-4.11-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.12-for-rhel-8-x86_64-rpms# subscription-manager repos --disable=rhocp-4.11-for-rhel-8-x86_64-rpms \ --enable=rhocp-4.12-for-rhel-8-x86_64-rpmsCopy 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-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow upgradePlaybook を実行します。ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml
$ ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<path>については、作成した Ansible インベントリーファイルへのパスを指定します。
注記upgradePlaybook は OpenShift Container Platform パッケージのみをアップグレードします。オペレーティングシステムパッケージは更新されません。
すべてのワーカーを更新したら、すべてのクラスターノードが新規バージョンに更新されていることを確認します。
oc get node
# oc get nodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
upgradePlaybook で更新されていないオペレーティングシステムパッケージを更新します。4.12 にないパッケージを更新するには、以下のコマンドを使用します。yum update
# yum updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記4.12 のインストール時に使用したものと同じ RPM リポジトリーを使用している場合は、RPM パッケージを除外する必要はありません。