8.2.2.2. CLI を使用して Web ページ上のイメージから仮想マシンを作成する
コマンドラインを使用して、Web ページ上のイメージから仮想マシンを作成できます。
仮想マシンが作成されると、イメージを含むデータボリュームが永続ストレージにインポートされます。
前提条件
- イメージが含まれている Web ページへのアクセス認証情報を持っている。
-
virtctlCLI がインストールされている。 -
OpenShift CLI (
oc) がインストールされている。
手順
仮想マシンの
VirtualMachineマニフェストを作成し、YAML ファイルとして保存します。たとえば、Web ページ上のイメージから最小限の Red Hat Enterprise Linux (RHEL) 仮想マシンを作成するには、次のコマンドを実行します。$ virtctl create vm --name vm-rhel-9 --instancetype u1.small --preference rhel.9 --volume-import type:http,url:https://example.com/rhel9.qcow2,size:10Gi仮想マシンの
VirtualMachineマニフェストを確認します。apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: vm-rhel-91 spec: dataVolumeTemplates: - metadata: name: imported-volume-6dcpf2 spec: source: http: url: https://example.com/rhel9.qcow23 storage: resources: requests: storage: 10Gi4 instancetype: name: u1.small5 preference: name: rhel.96 runStrategy: Always template: spec: domain: devices: {} resources: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: imported-volume-6dcpf name: imported-volume-6dcpf次のコマンドを実行して VM を作成します。
$ oc create -f <vm_manifest_file>.yamloc createコマンドは、データボリュームと仮想マシンを作成します。CDI コントローラーは適切なアノテーションを使用して基礎となる PVC を作成し、インポートプロセスが開始されます。インポートが完了すると、データボリュームのステータスがSucceededに変わります。仮想マシンを起動できます。データボリュームのプロビジョニングはバックグランドで実行されるため、これをプロセスをモニターする必要はありません。
検証
インポーター Pod は、指定された URL からイメージをダウンロードし、プロビジョニングされた永続ボリュームに保存します。インポーター Pod のステータスを表示します。
$ oc get podsデータボリュームの状態を監視します。
$ oc get dv <data_volume_name>プロビジョニングが成功すると、データボリュームのフェーズが
Succeededになります。出力例
NAME PHASE PROGRESS RESTARTS AGE imported-volume-6dcpf Succeeded 100.0% 18sプロビジョニングが完了し、シリアルコンソールにアクセスして仮想マシンが起動したことを確認します。
$ virtctl console <vm_name>仮想マシンが実行中でシリアルコンソールにアクセスできる場合、出力は次のようになります。
出力例
Successfully connected to vm-rhel-9 console. The escape sequence is ^]