4.VolumeSnapshot克隆
基于VolumeSnapshot克隆DataVolume¶
参考文档 基于VolumeSnapshot克隆的前置条件如下: - 源snapshot和目标pvc共用相同的
provisioner,也就是说不能跨Ceph集群了 - 用户具备创建DataVolume的权限,能够在源名称空间下创建datavolumes/source资源 - 存储支持扩展 - 使用场景:基于一个虚拟机快照创建新的虚拟机。
- 直接用示例说明:
1. 先创建一个DV,将其作为快照的源
2. 接下来,为上面DV对应的PVC创建卷快照
apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: img-cirros namespace: default spec: source: http: #url: http://images.demo.com:10800/images/cirros-0.5.1-x86_64-disk.img url: http://images.demo.com:10800/images/ubuntu-22.04-server-cloudimg-amd64.img pvc: storageClassName: "ceph-hdd-block" accessModes: - ReadWriteMany resources: requests: storage: 1Gi volumeMode: BlockapiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: img-cirros-volumesnapshot namespace: default spec: volumeSnapshotClassName: csi-rbdplugin-snapclass source: # 指定要创建卷快照的pvc名字 persistentVolumeClaimName: img-cirros创建卷快照后,再次检查卷快照,确认已经准备好被使用,即
READYTOUSE为true。3. 现在,就可以基于上面的# kubectl get volumesnapshot img-cirros-volumesnapshot NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE img-cirros-volumesnapshot true img-cirros 1Gi csi-rbdplugin-snapclass snapcontent-29334e67-daf8-4c0e-a44f-01cb198da9a9 21m 21mvolumesnapshot创建DV了4. 最后,使用上面的dv(pvc)创建vm验证apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: cloned-dv1-bysnapshot namespace: default spec: source: snapshot: namespace: default name: img-cirros-volumesnapshot storage: storageClassName: "ceph-hdd-block" accessModes: - ReadWriteMany # 以下可以省略 resources: requests: storage: 1GiapiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: vm01-cloned-bysnapshot namespace: default spec: running: true template: metadata: labels: kubevirt.io/size: small kubevirt.io/domain: vm01-cloned-bysnapshot spec: domain: devices: disks: - name: root-disk disk: bus: virtio interfaces: - name: default masquerade: {} resources: requests: memory: 1024M networks: - name: default pod: {} volumes: - name: root-disk persistentVolumeClaim: claimName: cloned-dv1-bysnapshot
基于cirros镜像卷快照克隆,可能会出现如下错误:
