13.2. 退避と実行ストラテジーの設定
仮想マシン (VM) またはクラスターの退避ストラテジーを設定できます。デフォルトの退避ストラテジーは LiveMigrate です。仮想マシンの LiveMigrate 退避ストラテジーは、ノードがメンテナンス状態になるか、drain (Pod の退避) が実行される場合に仮想マシンインスタンスが中断されないようにします。この退避ストラテジーを採用した VMI は、別のノードにライブマイグレーションされます。
| 退避ストラテジー | 説明 | ワークフローを中断する | アップグレードをブロックする |
|---|---|---|---|
|
| アップグレードよりもワークロードの継続性を優先します。 | いいえ | はい 2 |
|
| ワークロードの継続性よりもアップグレードを優先して、環境が確実に更新されるようにします。 | はい | いいえ |
|
| 退避ストラテジーを使用せずに仮想マシンをシャットダウンします。 | はい | いいえ |
- マルチノードクラスターのデフォルトの退避ストラテジー。
- 仮想マシンがアップグレードをブロックする場合は、仮想マシンを手動でシャットダウンする必要があります。
- シングルノード OpenShift のデフォルトの退避ストラテジー。
13.2.1. CLI を使用した仮想マシンの退避ストラテジーの設定 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して、仮想マシン (VM) の退避ストラテジーを設定できます。
デフォルトの退避ストラテジーは LiveMigrate です。移行不可能な仮想マシンが LiveMigrate 退避ストラテジーを使用していると、ノードの drain が妨げられたり、インフラストラクチャーのアップグレードがブロックされたりする可能性があります。これは、その仮想マシンがノードから退避されないためです。この状況では、仮想マシンを手動でシャットダウンしない限り、移行は 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.退避 Strategy は、退去ストラテジーを定義します。デフォルト値はLiveMigrateです。
-
仮想マシンを再起動して変更を適用します。
$ virtctl restart <vm_name> -n <namespace>