9.3. ノードのメンテナンスモードへの設定
9.3.1. ノードのメンテナンスモードについて
ノードがメンテナンス状態になると、ノードにはスケジュール対象外のマークが付けられ、ノードからすべての仮想マシンおよび Pod がドレイン (解放) されます。LiveMigrate
エビクションストラテジーを持つ仮想マシンインスタンスのライブマイグレーションは、サービスが失われることなく実行されます。このエビクションストラテジーはデフォルトで共通テンプレートから作成される仮想マシンで設定されますが、カスタム仮想マシンの場合には手動で設定される必要があります。
エビクションストラテジーのない仮想マシンインスタンスは、ノードで削除され、別のノードで再作成されます。
仮想マシンでは、共有 ReadWriteMany (RWX) アクセスモードを持つ PersistentVolumeClaim (PVC) のライブマイグレーションが必要です。
Web コンソールまたは CLI のいずれかでノードをメンテナンス状態にします。
9.3.2. Web コンソールでのノードのメンテナンスモードへの設定
Compute
手順
-
Container-native Virtualization コンソールで Compute
Nodes をクリックします。 この画面からノードをメンテナンスモードに設定できます。 これにより、1 つの画面で複数のノードに対してアクションを実行することがより容易になります。 または、Node Details 画面からノードをメンテナンスモードに設定することもできます。 この場合、選択されたノードの総合的な詳細情報を確認できます。
- ノードの末尾の Options メニュー をクリックし、Start Maintenance を選択します。
-
ノード名をクリックし、Node Details 画面を開いて Actions
Stat Maintenance をクリックします。
- 確認ウィンドウで Start Maintenance をクリックします。
ノードは liveMigration
エビクションストラテジーを持つ仮想マシンインスタンスのライブマイグレーションを行い、このノードはスケジュール対象外となります。このノードの他のすべての Pod および仮想マシンは削除され、別のノードで再作成されます。
9.3.3. CLI でのノードのメンテナンスモードへの設定
ノード名、およびこれをメンテナンスモードに設定する理由を参照する NodeMaintenance
カスタムリソース (CR) オブジェクトを作成し、ノードをメンテナンスモードに設定します。
手順
ノードメンテナンス CR 設定を作成します。この例では、
node02-maintenance.yaml
という CR を使用します。apiVersion: kubevirt.io/v1alpha1 kind: NodeMaintenance metadata: name: node02-maintenance spec: nodeName: node02 reason: "Replacing node02"
NodeMaintenance
オブジェクトをクラスターに作成します。$ oc apply -f <node02-maintenance.yaml>
ノードは liveMigration
エビクションストラテジーを持つ仮想マシンインスタンスのライブマイグレーションを実行し、これがスケジュール対象外になるようにノードにテイントを設定します。このノードの他のすべての Pod および仮想マシンは削除され、別のノードで再作成されます。
追加リソース: