8.3. CLI を使用した仮想マシンの作成
8.3.1. CLI から仮想マシンを作成する
VirtualMachine
マニフェストを編集または作成することで、コマンドラインから仮想マシン (VM) を作成できます。仮想マシンマニフェストで インスタンスタイプ を使用すると、仮想マシン設定を簡素化できます。
Web コンソールを使用してインスタンスタイプから仮想マシンを作成 することもできます。
8.3.1.1. VirtualMachine マニフェストからの仮想マシンの作成
VirtualMachine
マニフェストから仮想マシンを作成できます。これらのマニフェストの作成を簡素化するには、virtctl
コマンドラインツールを使用できます。
前提条件
-
virtctl
クライアントをインストールしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
仮想マシンの
VirtualMachine
マニフェストを作成し、YAML ファイルとして保存します。たとえば、最小限の Red Hat Enterprise Linux (RHEL) 仮想マシンを作成するには、次のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctl create vm --name rhel-9-minimal --volume-import type:ds,src:openshift-virtualization-os-images/rhel9
$ virtctl create vm --name rhel-9-minimal --volume-import type:ds,src:openshift-virtualization-os-images/rhel9
仮想マシンの
VirtualMachine
マニフェストを確認します。注記このサンプルマニフェストでは、仮想マシン認証は設定されません。
RHEL 仮想マシンのマニフェストの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel-9-minimal spec: dataVolumeTemplates: - metadata: name: imported-volume-mk4lj spec: sourceRef: kind: DataSource name: rhel9 namespace: openshift-virtualization-os-images storage: resources: {} instancetype: inferFromVolume: imported-volume-mk4lj inferFromVolumeFailurePolicy: Ignore preference: inferFromVolume: imported-volume-mk4lj inferFromVolumeFailurePolicy: Ignore runStrategy: Always template: spec: domain: devices: {} memory: guest: 512Mi resources: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: imported-volume-mk4lj name: imported-volume-mk4lj
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel-9-minimal
1 spec: dataVolumeTemplates: - metadata: name: imported-volume-mk4lj spec: sourceRef: kind: DataSource name: rhel9
2 namespace: openshift-virtualization-os-images
3 storage: resources: {} instancetype: inferFromVolume: imported-volume-mk4lj
4 inferFromVolumeFailurePolicy: Ignore preference: inferFromVolume: imported-volume-mk4lj
5 inferFromVolumeFailurePolicy: Ignore runStrategy: Always template: spec: domain: devices: {} memory: guest: 512Mi resources: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: imported-volume-mk4lj name: imported-volume-mk4lj
マニフェストファイルを使用して仮想マシンを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <vm_manifest_file>.yaml
$ oc create -f <vm_manifest_file>.yaml
オプション: 仮想マシンを起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctl start <vm_name>
$ virtctl start <vm_name>
次のステップ
8.3.2. コンテナーディスクを使用した仮想マシンの作成
オペレーティングシステムイメージから構築されたコンテナーディスクを使用して、仮想マシンを作成できます。
コンテナーディスクの自動更新を有効にすることができます。詳細は、ブートソースの自動更新の管理 を参照してください。
コンテナーディスクが大きい場合は、I/O トラフィックが増加し、ワーカーノードが使用できなくなる可能性があります。この問題を解決するには、次のタスクを実行できます。
次の手順を実行して、コンテナーディスクから仮想マシンを作成します。
- オペレーティングシステムイメージをコンテナーディスクに構築し、それをコンテナーレジストリーにアップロードします。
- コンテナーレジストリーに TLS がない場合は、レジストリーの TLS を無効にするように環境を設定します。
- Web コンソール または コマンドライン を使用して、コンテナーディスクをディスクソースとして使用する仮想マシンを作成します。
Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェント をインストールする必要があります。
8.3.2.1. コンテナーディスクの構築とアップロード
仮想マシンイメージをコンテナーディスクに構築し、レジストリーにアップロードできます。
コンテナーディスクのサイズは、コンテナーディスクがホストされているレジストリーの最大レイヤーサイズによって制限されます。
Red Hat Quay の場合、Red Hat Quay の初回デプロイ時に作成される YAML 設定ファイルを編集して、最大レイヤーサイズを変更できます。
前提条件
-
podman
がインストールされている必要があります。 - QCOW2 または RAW イメージファイルが必要です。
手順
Dockerfile を作成して、仮想マシンイメージをコンテナーイメージにビルドします。仮想マシンイメージは、UID
107
を持つ QEMU によって所有され、コンテナー内の/disk/
ディレクトリーに配置される必要があります。次に、/disk/
ディレクトリーのパーミッションは0440
に設定する必要があります。以下の例では、Red Hat Universal Base Image (UBI) を使用して最初の段階でこれらの設定変更を処理し、2 番目の段階で最小の
scratch
イメージを使用して結果を保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat > Dockerfile << EOF FROM registry.access.redhat.com/ubi8/ubi:latest AS builder ADD --chown=107:107 <vm_image>.qcow2 /disk/ RUN chmod 0440 /disk/* FROM scratch COPY --from=builder /disk/* /disk/ EOF
$ cat > Dockerfile << EOF FROM registry.access.redhat.com/ubi8/ubi:latest AS builder ADD --chown=107:107 <vm_image>.qcow2 /disk/
1 RUN chmod 0440 /disk/* FROM scratch COPY --from=builder /disk/* /disk/ EOF
- 1
<vm_image>
は、QCOW2 または RAW 形式のイメージです。リモートイメージを使用する場合は、<vm_image>.qcow2
を完全な URL に置き換えます。
コンテナーをビルドし、これにタグ付けします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman build -t <registry>/<container_disk_name>:latest .
$ podman build -t <registry>/<container_disk_name>:latest .
コンテナーイメージをレジストリーにプッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman push <registry>/<container_disk_name>:latest
$ podman push <registry>/<container_disk_name>:latest
8.3.2.2. コンテナーレジストリーの TLS を無効にする
HyperConverged
カスタムリソースの insecureRegistries
フィールドを編集して、1 つ以上のコンテナーレジストリーの TLS(トランスポート層セキュリティー) を無効にできます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
以下のコマンドを実行して、デフォルトのエディターで
HyperConverged
CR を開きます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
セキュアでないレジストリーのリストを
spec.storageImport.insecureRegistries
フィールドに追加します。HyperConverged
カスタムリソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: storageImport: insecureRegistries: - "private-registry-example-1:5000" - "private-registry-example-2:5000"
apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: openshift-cnv spec: storageImport: insecureRegistries:
1 - "private-registry-example-1:5000" - "private-registry-example-2:5000"
- 1
- このリストのサンプルを、有効なレジストリーホスト名に置き換えます。
8.3.2.3. Web コンソールを使用してコンテナーディスクから仮想マシンを作成する
OpenShift Container Platform Web コンソールを使用してコンテナーレジストリーからコンテナーディスクをインポートすることで、仮想マシンを作成できます。
手順
-
Web コンソールで Virtualization
Catalog に移動します。 - 使用可能なブートソースのないテンプレートタイルをクリックします。
- Customize VirtualMachine をクリックします。
- Customize template parameters ページで、Storage を展開し、Disk source リストから Registry (creates PVC) を選択します。
-
コンテナーイメージの URL を入力します。例:
https://mirror.arizona.edu/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2
- ディスクサイズを設定します。
- Next をクリックします。
- Create VirtualMachine をクリックします。
8.3.2.4. CLI を使用してコンテナーディスクから仮想マシンを作成する
コマンドラインを使用して、コンテナーディスクから仮想マシンを作成できます。
前提条件
- コンテナーディスクを含むコンテナーレジストリーへのアクセス認証情報が必要です。
-
virtctl
クライアントをインストールしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
仮想マシンの
VirtualMachine
マニフェストを作成し、YAML ファイルとして保存します。たとえば、コンテナーディスクから最小限の Red Hat Enterprise Linux (RHEL) 仮想マシンを作成するには、次のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctl create vm --name vm-rhel-9 --instancetype u1.small --preference rhel.9 --volume-containerdisk src:registry.redhat.io/rhel9/rhel-guest-image:9.5
$ virtctl create vm --name vm-rhel-9 --instancetype u1.small --preference rhel.9 --volume-containerdisk src:registry.redhat.io/rhel9/rhel-guest-image:9.5
仮想マシンの
VirtualMachine
マニフェストを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: vm-rhel-9 spec: instancetype: name: u1.small preference: name: rhel.9 runStrategy: Always template: metadata: creationTimestamp: null spec: domain: devices: {} resources: {} terminationGracePeriodSeconds: 180 volumes: - containerDisk: image: registry.redhat.io/rhel9/rhel-guest-image:9.5 name: vm-rhel-9-containerdisk-0
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: vm-rhel-9
1 spec: instancetype: name: u1.small
2 preference: name: rhel.9
3 runStrategy: Always template: metadata: creationTimestamp: null spec: domain: devices: {} resources: {} terminationGracePeriodSeconds: 180 volumes: - containerDisk: image: registry.redhat.io/rhel9/rhel-guest-image:9.5
4 name: vm-rhel-9-containerdisk-0
次のコマンドを実行して VM を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <vm_manifest_file>.yaml
$ oc create -f <vm_manifest_file>.yaml
検証
仮想マシンのステータスを監視します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get vm <vm_name>
$ oc get vm <vm_name>
プロビジョニングが成功すると、仮想マシンのステータスが
Running
になります。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME AGE STATUS READY vm-rhel-9 18s Running True
NAME AGE STATUS READY vm-rhel-9 18s Running True
プロビジョニングが完了し、シリアルコンソールにアクセスして仮想マシンが起動したことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctl console <vm_name>
$ virtctl console <vm_name>
仮想マシンが実行中でシリアルコンソールにアクセスできる場合、出力は次のようになります。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Successfully connected to vm-rhel-9 console. The escape sequence is ^]
Successfully connected to vm-rhel-9 console. The escape sequence is ^]
8.3.3. PVC のクローン作成による仮想マシンの作成
カスタムイメージを使用して既存の永続ボリューム要求 (PVC) のクローンを作成することで、仮想マシンを作成できます。
Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェント をインストールする必要があります。
PVC のクローンを作成するには、ソース PVC を参照するデータボリュームを作成します。
8.3.3.1. クローン作成について
データボリュームのクローンを作成する場合、Containerized Data Importer (CDI) は、次の Container Storage Interface (CSI) クローンメソッドのいずれかを選択します。
- CSI ボリュームのクローン作成
- スマートクローン作成
CSI ボリュームのクローン作成方法とスマートクローン作成方法はどちらも効率的ですが、使用するには特定の要件があります。要件が満たされていない場合、CDI はホスト支援型クローン作成を使用します。ホスト支援型クローン作成は、最も時間がかかり、最も効率の悪いクローン作成方法ですが、他の 2 つのクローン作成方法よりも要件の数が少ないです。
8.3.3.1.1. CSI ボリュームのクローン作成
Container Storage Interface (CSI) のクローン作成では、CSI ドライバー機能を使用して、ソースデータボリュームのクローンをより効率的に作成します。
CSI ボリュームのクローン作成には次の要件があります。
- 永続ボリューム要求 (PVC) のストレージクラスをサポートする CSI ドライバーは、ボリュームのクローン作成をサポートする必要があります。
-
CDI によって認識されないプロビジョナーの場合、対応するストレージプロファイルの
cloneStrategy
が CSI Volume Cloning に設定されている必要があります。 - ソース PVC とターゲット PVC は、同じストレージクラスとボリュームモードを持つ必要があります。
-
データボリュームを作成する場合は、ソース namespace に
datavolumes/source
リソースを作成するパーミッションが必要です。 - ソースボリュームは使用されていない状態である必要があります。
8.3.3.1.2. スマートクローン作成
スナップショット機能を備えた Container Storage Interface (CSI) プラグインが使用可能な場合、Containerized Data Importer (CDI) はスナップショットから永続ボリューム要求 (PVC) を作成し、これにより、追加の PVC の効率的なクローン作成を可能にします。
スマートクローン作成には次の要件があります。
- ストレージクラスに関連付けられたスナップショットクラスが存在する必要があります。
- ソース PVC とターゲット PVC は、同じストレージクラスとボリュームモードを持つ必要があります。
-
データボリュームを作成する場合は、ソース namespace に
datavolumes/source
リソースを作成するパーミッションが必要です。 - ソースボリュームは使用されていない状態である必要があります。
8.3.3.1.3. ホスト支援型クローン作成
Container Storage Interface (CSI) ボリュームのクローン作成もスマートクローン作成の要件も満たされていない場合、ホスト支援型クローン作成がフォールバック方法として使用されます。ホスト支援型クローン作成は、他の 2 つのクローン作成方法と比べると効率が悪いです。
ホスト支援型クローン作成では、ソース Pod とターゲット Pod を使用して、ソースボリュームからターゲットボリュームにデータをコピーします。ターゲットの永続ボリューム要求 (PVC) には、ホスト支援型クローン作成が使用された理由を説明するフォールバック理由のアノテーションが付けられ、イベントが作成されます。
PVC ターゲットアノテーションの例
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: cdi.kubevirt.io/cloneFallbackReason: The volume modes of source and target are incompatible cdi.kubevirt.io/clonePhase: Succeeded cdi.kubevirt.io/cloneType: copy
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
cdi.kubevirt.io/cloneFallbackReason: The volume modes of source and target are incompatible
cdi.kubevirt.io/clonePhase: Succeeded
cdi.kubevirt.io/cloneType: copy
イベント例
NAMESPACE LAST SEEN TYPE REASON OBJECT MESSAGE test-ns 0s Warning IncompatibleVolumeModes persistentvolumeclaim/test-target The volume modes of source and target are incompatible
NAMESPACE LAST SEEN TYPE REASON OBJECT MESSAGE
test-ns 0s Warning IncompatibleVolumeModes persistentvolumeclaim/test-target The volume modes of source and target are incompatible
8.3.3.2. Web コンソールを使用した PVC からの仮想マシンの作成
OpenShift Container Platform Web コンソールを使用して永続ボリューム要求 (PVC) のクローンを作成することにより、仮想マシンを作成できます。
前提条件
- ソース PVC を含む namespace にアクセスできる。
手順
-
Web コンソールで Virtualization
Catalog に移動します。 - 使用可能なブートソースのないテンプレートタイルをクリックします。
- Customize VirtualMachine をクリックします。
- テンプレートパラメーターのカスタマイズ ページで、Storage を展開し、Disk source リストから PVC (clone PVC) を選択します。
- PVC プロジェクトと PVC 名を選択します。
- ディスクサイズを設定します。
- Next をクリックします。
- Create VirtualMachine をクリックします。
8.3.3.3. CLI を使用して PVC から仮想マシンを作成する
コマンドラインを使用して既存の仮想マシンの永続ボリューム要求 (PVC) のクローンを作成することで、仮想マシンを作成できます。
次のオプションのいずれかを使用して、PVC のクローンを作成できます。
PVC を新しいデータボリュームに複製します。
この方法では、ライフサイクルが元の仮想マシンから独立したデータボリュームが作成されます。元の仮想マシンを削除しても、新しいデータボリュームやそれに関連付けられた PVC には影響しません。
dataVolumeTemplates
スタンザを含むVirtualMachine
マニフェストを作成して、PVC を複製します。この方法では、ライフサイクルが元の仮想マシンに依存するデータボリュームが作成されます。元の仮想マシンを削除すると、クローン作成されたデータボリュームとそれに関連付けられた PVC も削除されます。
8.3.3.3.1. OpenShift Data Foundation における大規模なクローンパフォーマンスの最適化
OpenShift Data Foundation を使用する場合、ストレージプロファイルはデフォルトのクローン作成ストラテジーを csi-clone
として設定します。ただし、次のリンクに示すように、この方法には制限があります。永続ボリューム要求 (PVC) から一定数のクローンが作成されると、バックグラウンドでフラット化プロセスが開始され、大規模なクローン作成のパフォーマンスが大幅に低下する可能性があります。
単一のソース PVC から数百のクローンを作成する際のパフォーマンスを高めるためには、デフォルトの csi-clone
ストラテジーの代わりに VolumeSnapshot
クローン作成メソッドを使用します。
手順
次のコンテンツを使用して、ソースイメージの VolumeSnapshot
カスタムリソース (CR) を作成します。
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: golden-volumesnapshot namespace: golden-ns spec: volumeSnapshotClassName: ocs-storagecluster-rbdplugin-snapclass source: persistentVolumeClaimName: golden-snap-source
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: golden-volumesnapshot
namespace: golden-ns
spec:
volumeSnapshotClassName: ocs-storagecluster-rbdplugin-snapclass
source:
persistentVolumeClaimName: golden-snap-source
-
VolumeSnapshot
をDataVolume clone
のソースとして参照するためのspec.source.snapshot
スタンザを追加します。
spec: source: snapshot: namespace: golden-ns name: golden-volumesnapshot
spec:
source:
snapshot:
namespace: golden-ns
name: golden-volumesnapshot
8.3.3.3.2. データボリュームへの PVC のクローン作成
コマンドラインを使用して、既存の仮想マシンディスクの永続ボリューム要求 (PVC) のクローンをデータボリュームに作成できます。
元のソース PVC を参照するデータボリュームを作成します。新しいデータボリュームのライフサイクルは、元の仮想マシンから独立しています。元の仮想マシンを削除しても、新しいデータボリュームやそれに関連付けられた PVC には影響しません。
異なるボリュームモード間のクローン作成は、ソース PV とターゲット PV が kubevirt
コンテンツタイプに属している限り、ブロック永続ボリューム (PV) からファイルシステム PV へのクローン作成など、ホスト支援型クローン作成でサポートされます。
スマートクローン作成は、スナップショットを使用して PVC のクローンを作成するため、ホスト支援型クローン作成よりも高速かつ効率的です。スマートクローン作成は、Red Hat OpenShift Data Foundation など、スナップショットをサポートするストレージプロバイダーによってサポートされています。
異なるボリュームモード間のクローン作成は、スマートクローン作成ではサポートされていません。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 - ソース PVC を含む仮想マシンの電源をオフにする必要があります。
- PVC を別の namespace に複製する場合は、ターゲットの namespace にリソースを作成するパーミッションが必要です。
スマートクローン作成の追加の前提条件:
- ストレージプロバイダーはスナップショットをサポートする必要がある。
- ソース PVC とターゲット PVC には、同じストレージプロバイダーとボリュームモードがある必要があります。
次の例に示すように、
VolumeSnapshotClass
オブジェクトのdriver
キーの値は、StorageClass
オブジェクトのprovisioner
キーの値と一致する必要があります。VolumeSnapshotClass
オブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow kind: VolumeSnapshotClass apiVersion: snapshot.storage.k8s.io/v1 driver: openshift-storage.rbd.csi.ceph.com # ...
kind: VolumeSnapshotClass apiVersion: snapshot.storage.k8s.io/v1 driver: openshift-storage.rbd.csi.ceph.com # ...
StorageClass
オブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow kind: StorageClass apiVersion: storage.k8s.io/v1 # ... provisioner: openshift-storage.rbd.csi.ceph.com
kind: StorageClass apiVersion: storage.k8s.io/v1 # ... provisioner: openshift-storage.rbd.csi.ceph.com
手順
次の例に示すように、
DataVolume
マニフェストを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: <datavolume> spec: source: pvc: namespace: "<source_namespace>" name: "<my_vm_disk>" storage: {}
apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: <datavolume>
1 spec: source: pvc: namespace: "<source_namespace>"
2 name: "<my_vm_disk>"
3 storage: {}
以下のコマンドを実行してデータボリュームを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <datavolume>.yaml
$ oc create -f <datavolume>.yaml
注記データ量により、PVC が準備される前に仮想マシンが起動できなくなります。PVC のクローン作成中に、新しいデータボリュームを参照する仮想マシンを作成できます。
8.3.3.3.3. データボリュームテンプレートを使用したクローン PVC からの仮想マシンの作成
データボリュームテンプレートを使用して、既存の仮想マシンの永続ボリューム要求 (PVC) のクローンを作成する仮想マシンを作成できます。この方法では、ライフサイクルが元の仮想マシンから独立したデータボリュームが作成されます。
前提条件
- ソース PVC を含む仮想マシンの電源をオフにする必要があります。
-
virtctl
クライアントをインストールしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
仮想マシンの
VirtualMachine
マニフェストを作成し、YAML ファイルとして保存します。次に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow virtctl create vm --name rhel-9-clone --volume-import type:pvc,src:my-project/imported-volume-q5pr9
$ virtctl create vm --name rhel-9-clone --volume-import type:pvc,src:my-project/imported-volume-q5pr9
仮想マシンの
VirtualMachine
マニフェストを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel-9-clone spec: dataVolumeTemplates: - metadata: name: imported-volume-h4qn8 spec: source: pvc: name: imported-volume-q5pr9 namespace: my-project storage: resources: {} instancetype: inferFromVolume: imported-volume-h4qn8 inferFromVolumeFailurePolicy: Ignore preference: inferFromVolume: imported-volume-h4qn8 inferFromVolumeFailurePolicy: Ignore runStrategy: Always template: spec: domain: devices: {} memory: guest: 512Mi resources: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: imported-volume-h4qn8 name: imported-volume-h4qn8
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel-9-clone
1 spec: dataVolumeTemplates: - metadata: name: imported-volume-h4qn8 spec: source: pvc: name: imported-volume-q5pr9
2 namespace: my-project
3 storage: resources: {} instancetype: inferFromVolume: imported-volume-h4qn8
4 inferFromVolumeFailurePolicy: Ignore preference: inferFromVolume: imported-volume-h4qn8
5 inferFromVolumeFailurePolicy: Ignore runStrategy: Always template: spec: domain: devices: {} memory: guest: 512Mi resources: {} terminationGracePeriodSeconds: 180 volumes: - dataVolume: name: imported-volume-h4qn8 name: imported-volume-h4qn8
PVC のクローンが作成されたデータボリュームで仮想マシンを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <vm_manifest_file>.yaml
$ oc create -f <vm_manifest_file>.yaml