12.2.4. CLI を使用したライブマイグレーションポリシーの作成
コマンドラインを使用してライブマイグレーションポリシーを作成できます。KubeVirt は、任意のラベルの組み合わせを使用して、選択した仮想マシン (VM) にライブマイグレーションポリシーを適用します。
-
size、os、gpuなどの仮想マシンラベル -
priority、bandwidth、またはhpc-workloadなどのプロジェクトラベル
ポリシーを特定の仮想マシングループに適用するには、仮想マシングループのすべてのラベルがポリシーのラベルと一致する必要があります。
複数のライブマイグレーションポリシーが仮想マシンに適用される場合は、一致するラベルの数が最も多いポリシーが優先されます。
複数のポリシーがこの基準を満たす場合、ポリシーは一致するラベルキーのアルファベット順に並べ替えられ、その順序の最初のポリシーが優先されます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
ライブマイグレーションポリシーを適用する仮想マシンオブジェクトを編集し、対応する仮想マシンラベルを追加します。
リソースの YAML 設定を開きます。
$ oc edit vm <vm_name>設定の
.spec.template.metadata.labelsセクションで必要なラベル値を調整します。たとえば、移行ポリシーの目的で仮想マシンをproduction仮想マシンとしてマークするには、kubevirt.io/environment: production行を追加します。apiVersion: migrations.kubevirt.io/v1alpha1 kind: VirtualMachine metadata: name: <vm_name> namespace: default labels: app: my-app environment: production spec: template: metadata: labels: kubevirt.io/domain: <vm_name> kubevirt.io/size: large kubevirt.io/environment: production # ...- 設定を保存して終了します。
対応するラベルを使用して
MigrationPolicyオブジェクトを設定します。次の例では、productionというラベルが付けられたすべての仮想マシンに適用されるポリシーを設定します。apiVersion: migrations.kubevirt.io/v1alpha1 kind: MigrationPolicy metadata: name: <migration_policy> spec: selectors: namespaceSelector: hpc-workloads: "True" xyz-workloads-type: "" virtualMachineInstanceSelector: kubevirt.io/environment: "production"各項目の説明:
namespaceSelector- プロジェクトのラベルを指定します。
virtualMachineInstanceSelector- 仮想マシンラベルを指定します。
次のコマンドを実行して、移行ポリシーを作成します。
$ oc create -f <migration_policy>.yaml