1 - 查询卷快照

查看卷快照类

  1. 执行以下命令,查看已创建的VolumeSnapshotClass信息。

    kubectl get volumesnapshotclass
    

    命令结果示例如下:

    NAME          DRIVER           DELETIONPOLICY   AGE
    mysnapclass   csi.huawei.com   Delete           25s
    

查询卷快照

  1. 执行以下命令,查看已创建的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需一致。
  • 克隆卷的容量必须不小于快照容量,建议和快照容量保持一致。

操作步骤

  1. 执行以下命令,基于从快照创建卷的配置文件创建PVC。

    kubectl create -f myrestore.yaml
    

3 - 删除卷快照

删除卷快照

当后续不需要使用该卷快照时,执行该操作。

操作步骤

  1. 执行以下命令,查看已创建的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. 执行下列命令,删除VolumeSnapshot:

    kubectl delete volumesnapshot mysnapshot 
    

    回显如下所示,表示删除成功:

    volumesnapshot.snapshot.storage.k8s.io "mysnapshot" deleted
    

删除卷快照类

当该卷快照类没有绑定任何卷快照,且后续不需要使用该卷快照类时,执行该操作。

操作步骤

  1. 执行以下命令,查看卷快照类。

    kubectl get vsclass
    

    命令结果示例如下:

    NAME          DRIVER           DELETIONPOLICY   AGE
    mysnapclass   csi.huawei.com   Delete           25s
    
  2. 执行下列命令,删除存储类:

    kubectl delete vsclass mysnapclass
    

    回显如下所示,表示删除成功:

    volumesnapshotclass.snapshot.storage.k8s.io "mysnapclass" deleted