9.17.9.5. カスタムスケジューラーを使用した仮想マシンのスケジュール設定
カスタムスケジューラーを使用して、ノード上の仮想マシンをスケジュールできます。
前提条件
- セカンダリースケジューラーがクラスター用に設定されています。
-
OpenShift CLI (
oc) がインストールされている。
手順
VirtualMachineマニフェストを編集して、カスタムスケジューラーを仮想マシン設定に追加します。以下に例を示します。apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: vm-fedora spec: runStrategy: Always template: spec: schedulerName: my-scheduler domain: devices: disks: - name: containerdisk disk: bus: virtio # ...schedulerName-
カスタムスケジューラーの名前。
schedulerName値が既存のスケジューラーと一致しない場合、virt-launcherPod は、指定されたスケジューラーが見つかるまでPending状態のままになります。
検証
virt-launcherPod イベントをチェックして、仮想マシンがVirtualMachineマニフェストで指定されたカスタムスケジューラーを使用していることを確認します。次のコマンドを入力して、クラスター内の Pod のリストを表示します。
$ oc get pods出力例:
NAME READY STATUS RESTARTS AGE virt-launcher-vm-fedora-dpc87 2/2 Running 0 24m次のコマンドを実行して Pod イベントを表示します。
$ oc describe pod virt-launcher-vm-fedora-dpc87出力の
Fromフィールドの値により、スケジューラー名がVirtualMachineマニフェストで指定されたカスタムスケジューラーと一致することが検証されます。出力例:
[...] Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 21m my-scheduler Successfully assigned default/virt-launcher-vm-fedora-dpc87 to node01 [...]