3.6.2. vSphere でのコンピュートノードの仮想ハードウェア更新
vSphere 上のコンピュートノードの仮想ハードウェアを更新できます。
ダウンタイムのリスクを軽減するには、コンピュートノードを順次更新することが推奨されます。
ワークロードでは、NotReady の状態の複数のノードに対応できるという前提で、複数のコンピュートノードを並行して更新できます。管理者が責任を持って、必要なコンピュートノードを利用できる状態にしてください。
前提条件
- OpenShift Container Platform クラスターをホストする vCenter インスタンスで必要なパーミッションを実行するためのクラスター管理者パーミッションがある。
- お使いの vSphere ESXi ホストは、バージョン 8.0 Update 1 以降、または VMware vSphere Foundation 9、または VMware Cloud Foundation 9 である必要があります。
手順
次のコマンドを実行して、クラスター内のコンピュートノードをリスト表示します。
$ oc get nodes -l node-role.kubernetes.io/worker出力例
NAME STATUS ROLES AGE VERSION compute-node-0 Ready worker 30m v1.33.4 compute-node-1 Ready worker 30m v1.33.4 compute-node-2 Ready worker 30m v1.33.4コンピュートノードの名前を書き留めておきます。
以下のコマンドを実行して、コンピュートノードをスケジューリング不可としてマークします。
$ oc adm cordon <compute_node>コンピュートノードから Pod を退避します。これにはいくつかの方法があります。たとえば、以下のコマンドを実行することで、ノード上のすべての Pod、または選択した Pod を退避させることができます。
$ oc adm drain <compute_node> [--pod-selector=<pod_selector>]ノードから Pod を退避させるその他の方法については、ノード上の Pod の退避を参照してください。
-
コンピュートノードに関連付けられた仮想マシンをシャットダウンします。仮想マシンを右クリックし、Power
Shut Down Guest OS を選択して、vSphere クライアントでこれを実行します。安全にシャットダウンされない場合があるため、Power Off を使用して仮想マシンをシャットダウンしないでください。 - vSphere クライアントで VM を更新します。仮想マシンの互換性を手動でアップグレードする (VMware vSphere ドキュメント) を参照してください。
- コンピュートノードに関連付けられた仮想マシンの電源を入れます。仮想マシンを右クリックし、Power On を選択して、vSphere クライアントでこれを実行します。
以下のコマンドを実行し、ノードが
準備完了と報告するまで待ちます。$ oc wait --for=condition=Ready node/<compute_node>以下のコマンドを実行して、コンピュートノードを再度スケジューリング可能な状態にします。
$ oc adm uncordon <compute_node>- クラスター内のコンピュートノードごとに、この手順を繰り返します。