配置VolumeSnapshotClass
卷快照类(VolumeSnapshotClass)提供了一种在配置VolumeSnapshot时描述存储“类”的方法。每个VolumeSnapshotClass都包含“driver”、“deletionPolicy” 和“parameters”字段, 在需要动态配置属于该类的VolumeSnapshot时使用。
VolumeSnapshotClass对象的名称很重要,是用户可以请求特定类的方式。 管理员在首次创建VolumeSnapshotClass对象时设置类的名称和其他参数, 对象一旦创建就无法更新。
华为CSI使用的VolumeSnapshotClass示例如下:
如果您的环境中api-versions支持v1,请使用以下示例:
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: mysnapclass driver: csi.huawei.com deletionPolicy: Delete
如果您的环境中api-versions支持v1beta1,请使用以下示例:
apiVersion: snapshot.storage.k8s.io/v1beta1 kind: VolumeSnapshotClass metadata: name: mysnapclass driver: csi.huawei.com deletionPolicy: Delete
如果您的环境中api-versions同时支持v1和v1beta1,我们推荐您使用v1版本。
实际参数可以参考表 VolumeSnapshotClass参数说明中的说明修改。由于当前华为CSI还不支持在VolumeSnapshotClass中设置自定义参数(parameters),因此建议只创建一个VolumeSnapshotClass,供所有快照使用。
表 1 VolumeSnapshotClass参数说明
以Kubernetes v1.22.1为例,支持数字、小写字母、中划线(-)和点(.)的组合,并且必须以字母数字字符开头和结尾。 | ||
|
|
前提条件
华为CSI支持快照且运行所依赖的卷快照组件CRD已经安装。具体CRD信息请参考检查卷快照依赖组件章节说明,支持创建VolumeSnapshot的Kubernetes版本请参考表 Kubernetes版本与支持的特性。
操作步骤
执行以下命令,使用已经创建的VolumeSnapshotClass配置文件创建VolumeSnapshotClass。
kubectl create -f mysnapclass.yaml
执行以下命令,查看已创建的VolumeSnapshotClass信息。
kubectl get volumesnapshotclass
命令结果示例如下:
NAME DRIVER DELETIONPOLICY AGE mysnapclass csi.huawei.com Delete 25s