5.3.6. KubeVirt 仮想マシンの削除
GPU パススルーを使用する場合など、KubeVirt 仮想マシン (VM) をライブマイグレーションできない場合は、ホステッドクラスターの NodePool リソースと同時に仮想マシンを退避させる必要があります。そうしないと、ワークロードの drain (Pod の退避) が実行されることなく、コンピュートノードがシャットダウンされる可能性があります。これは、OpenShift Virtualization Operator をアップグレードするときにも発生する可能性があります。同期された再起動を実現するために、hyperconverged リソースに evictionStrategy パラメーターを設定すると、ワークロードの drain が完了した仮想マシンだけを再起動させることができます。
手順
hyperconvergedリソースとevictionStrategyパラメーターに許可される値の詳細を確認するには、次のコマンドを入力します。$ oc explain hyperconverged.spec.evictionStrategy次のコマンドを入力して、
hyperconvergedリソースにパッチを適用します。$ oc -n openshift-cnv patch hyperconverged kubevirt-hyperconverged \ --type=merge \ -p '{"spec": {"evictionStrategy": "External"}}'次のコマンドを入力して、ワークロード更新ストラテジーとワークロード更新方法にパッチを適用します。
$ oc -n openshift-cnv patch hyperconverged kubevirt-hyperconverged \ --type=merge \ -p '{"spec": {"workloadUpdateStrategy": {"workloadUpdateMethods": ["LiveMigrate","Evict"]}}}'このパッチを適用すると、可能な場合は仮想マシンをライブマイグレーションし、ライブマイグレーションできない仮想マシンだけを退避させることを指定できます。
検証
次のコマンドを入力して、パッチコマンドが正しく適用されたかどうかを確認します。
$ oc -n openshift-cnv get hyperconverged kubevirt-hyperconverged -ojsonpath='{.spec.evictionStrategy}'出力例
External