4.6. クラスター内の RHEL コンピュートマシンの更新
クラスターの更新後は、クラスター内の Red Hat Enterprise Linux (RHEL) コンピュートマシンを更新する必要があります。
前提条件
クラスターが更新されていること。
重要RHEL マシンには、更新プロセスを完了するためにクラスターで生成されるアセットが必要になるため、クラスターを更新してから、クラスター内の RHEL コンピュートマシンを更新する必要があります。
-
RHEL コンピュートマシンクラスターの追加に使用したマシンへのアクセスがあること。RHEL マシンを定義する
hosts
Ansible インベントリーファイルおよびupgrade
Playbook にアクセスできる必要があります。
手順
ホストで firewalld を停止し、無効にします。
# systemctl disable --now firewalld.service
注記firewalld は、後で有効にすることはできません。これを実行する場合、ワーカー上の OpenShift Container Platform ログにはアクセスできません。
OpenShift Container Platform 4.3 で必要なリポジトリーを有効にします。
Ansible Playbook を実行するマシンで、必要なリポジトリーを更新します。
# subscription-manager repos --disable=rhel-7-server-ansible-2.7-rpms \ --disable=rhel-7-server-ose-4.2-rpms \ --enable=rhel-7-server-ansible-2.8-rpms \ --enable=rhel-7-server-ose-4.3-rpms
Ansible Playbook を実行するマシンで、
openshift-ansible
を含む必要なパッケージを更新します。# yum update openshift-ansible openshift-clients
各 RHEL コンピュートノードで、必要なリポジトリーを更新します。
# subscription-manager repos --disable=rhel-7-server-ose-4.2-rpms \ --enable=rhel-7-server-ose-4.3-rpms
RHEL ワーカーマシンを更新します。
現在のノードステータスを確認し、更新する RHEL ワーカーを判別します。
# oc get node NAME STATUS ROLES AGE VERSION mycluster-control-plane-0 Ready master 145m v1.16.2 mycluster-control-plane-1 Ready master 145m v1.16.2 mycluster-control-plane-2 Ready master 145m v1.16.2 mycluster-rhel7-0 NotReady,SchedulingDisabled worker 98m v1.14.6+97c81d00e mycluster-rhel7-1 Ready worker 98m v1.14.6+97c81d00e mycluster-rhel7-2 Ready worker 98m v1.14.6+97c81d00e mycluster-rhel7-3 Ready worker 98m v1.14.6+97c81d00e
ステータスが
NotReady,SchedulingDisabled
のマシンに留意してください。/<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
openshift-ansible
ディレクトリーに切り替え、upgrade
Playbook を実行します。$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml 1
- 1
<path>
については、作成した Ansible インベントリーファイルへのパスを指定します。
- 直前の手順で実行したプロセスに従って、クラスター内の各 RHEL ワーカーマシンを更新します。
すべてのワーカーを更新したら、すべてのクラスターノードが新規バージョンに更新されていることを確認します。
# oc get node NAME STATUS ROLES AGE VERSION mycluster-control-plane-0 Ready master 145m v1.16.2 mycluster-control-plane-1 Ready master 145m v1.16.2 mycluster-control-plane-2 Ready master 145m v1.16.2 mycluster-rhel7-0 NotReady,SchedulingDisabled worker 98m v1.16.2 mycluster-rhel7-1 Ready worker 98m v1.16.2 mycluster-rhel7-2 Ready worker 98m v1.16.2 mycluster-rhel7-3 Ready worker 98m v1.16.2