12.2. エビクションと実行ストラテジーの設定
仮想マシン (VM) またはクラスターのエビクションストラテジーを設定できます。デフォルトのエビクションストラテジーは LiveMigrate です。仮想マシンの LiveMigrate エビクションストラテジーは、ノードがメンテナンス状態になるか、drain (Pod の退避) が実行される場合に仮想マシンインスタンスが中断されないようにします。このエビクションストラテジーを採用した VMI は、別のノードにライブマイグレーションされます。
12.2.1. CLI を使用した仮想マシンのエビクションストラテジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して、仮想マシン (VM) のエビクションストラテジーを設定できます。
デフォルトのエビクションストラテジーは LiveMigrate です。移行不可能な仮想マシンが LiveMigrate エビクションストラテジーを使用していると、ノードの drain (Pod の退避) が妨げられたり、インフラストラクチャーのアップグレードがブロックされたりする可能性があります。これは、その仮想マシンがノードからエビクトされないためです。この状況では、仮想マシンを手動でシャットダウンしない限り、移行は Pending または Scheduling 中の状態のままになります。
移行不可能な仮想マシンのエビクションストラテジーを、アップグレードをブロックしない LiveMigrateIfPossible に設定する必要があります。移行すべきでない仮想マシンの場合は、None に設定する必要があります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
次のコマンドを実行して、
VirtualMachineリソースを編集します。$ oc edit vm <vm_name> -n <namespace>退避ストラテジーの例:
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: <vm_name> spec: template: spec: evictionStrategy: LiveMigrateIfPossible # ...-
spec.template.spec.evictionStrategyは、エビクションストラテジーを定義します。デフォルト値はLiveMigrateです。
-
仮想マシンを再起動して変更を適用します。
$ virtctl restart <vm_name> -n <namespace>