1.3.3.4. dataVolumeTemplate を使用した既存 PVC のクローン作成および仮想マシンの作成
既存の仮想マシンの PVC のクローンを DataVolume に作成する仮想マシンを作成できます。仮想マシン仕様の dataVolumeTemplate を参照すると、ソース PVC のクローンが DataVolume に作成され、これは次に仮想マシンを作成するために自動的に使用されます。
DataVolume が仮想マシンの DataVolumeTemplate の一部として作成されると、DataVolume のライフサイクルは仮想マシンに依存します。 つまり、仮想マシンが削除されると、DataVolume および関連付けられた PVC も削除されます。
前提条件
- 既存の仮想マシンディスクの PVC。関連付けられた仮想マシンの電源はオフにする必要があります。 そうでないと、クローンプロセスは PVC が利用可能になるまでキューに入れられます。
手順
- 関連付けられた PVC の名前および namespace を特定するために、クローン作成に必要な DataVolume を確認します。
VirtualMachine オブジェクトの YAML ファイルを作成します。以下の仮想マシンのサンプル
<vm-dv-clone>
は<my-favorite-vm-disk>
(<source-namespace>
namespace にある) のクローンを作成し、仮想マシンで<favorite-clone>
ボリュームとして参照される、2Gi
<favorite-clone>
DataVolume を作成します。以下に例を示します。
apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachine metadata: labels: kubevirt.io/vm: vm-dv-clone name: vm-dv-clone 1 spec: running: false template: metadata: labels: kubevirt.io/vm: vm-dv-clone spec: domain: devices: disks: - disk: bus: virtio name: root-disk resources: requests: memory: 64M volumes: - dataVolume: name: favorite-clone name: root-disk dataVolumeTemplates: - metadata: name: favorite-clone spec: pvc: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi source: pvc: namespace: "source-namespace" name: "my-favorite-vm-disk"
- 1
- 作成する仮想マシン。
PVC のクローンが作成された DataVolume で仮想マシンを作成します。
$ oc create -f <vm-clone-dvt>.yaml