1 - 查询卷快照
查看卷快照类
执行以下命令,查看已创建的VolumeSnapshotClass信息。
kubectl get volumesnapshotclass
命令结果示例如下:
NAME DRIVER DELETIONPOLICY AGE mysnapclass csi.huawei.com Delete 25s
查询卷快照
执行以下命令,查看已创建的VolumeSnapshot信息。
kubectl get volumesnapshot
命令结果示例如下:
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE mysnapshot true mypvc 100Gi mysnapclass snapcontent-1009af0a-24c2-4435-861c-516224503f2d <invalid> 78s
2 - 从卷快照创建持久卷
前提条件
- 支持从卷快照创建PVC的存储请参考存储自身的 特性表 ,选择对应存储类型和业务类型进行查询。
- 支持从卷快照创建PVC的Kubernetes版本请参考 Kubernetes特性矩阵 。
- 已经存在卷快照,且卷快照所在的backend支持克隆。
在创建PVC时,需要指定卷快照作为数据源。如下是一个从卷快照创建PVC示例,在该示例中,使用快照“mysnapshot”作为数据源,新创建了一个名叫“myrestore”的PVC。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: myrestore
spec:
storageClassName: mysc
dataSource:
name: mysnapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
- 指定的storageClassName必须和dataSource中的快照源卷的StorageClass需一致。
- 克隆卷的容量必须不小于快照容量,建议和快照容量保持一致。
操作步骤
执行以下命令,基于从快照创建卷的配置文件创建PVC。
kubectl create -f myrestore.yaml
3 - 删除卷快照
删除卷快照
当后续不需要使用该卷快照时,执行该操作。
操作步骤
执行以下命令,查看已创建的VolumeSnapshot信息。
kubectl get volumesnapshot
命令结果示例如下:
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE mysnapshot true mypvc 100Gi mysnapclass snapcontent-1009af0a-24c2-4435-861c-516224503f2d <invalid> 78s
执行下列命令,删除VolumeSnapshot:
kubectl delete volumesnapshot mysnapshot
回显如下所示,表示删除成功:
volumesnapshot.snapshot.storage.k8s.io "mysnapshot" deleted
删除卷快照类
当该卷快照类没有绑定任何卷快照,且后续不需要使用该卷快照类时,执行该操作。
操作步骤
执行以下命令,查看卷快照类。
kubectl get vsclass
命令结果示例如下:
NAME DRIVER DELETIONPOLICY AGE mysnapclass csi.huawei.com Delete 25s
执行下列命令,删除存储类:
kubectl delete vsclass mysnapclass
回显如下所示,表示删除成功:
volumesnapshotclass.snapshot.storage.k8s.io "mysnapclass" deleted