Kubernetes CSI卷克隆

2023-11-01 53

提示:学习本篇教程前请先参阅《Kubernetes卷》。

一、CSI卷克隆

CSI卷克隆功能现在支持通过dataSource字段指定要克隆的已存在的PVC,以创建已有Kubernetes卷的副本。这个克隆的副本可以像任何常规卷一样使用,并且与源PVC完全相同。不同之处在于,后端设备将创建指定完全相同的副本,而不是创建一个“新的”空卷。

从Kubernetes API的角度来看,实现克隆的方式只是在创建新的PVC时增加了指定现有PVC作为数据源的能力。源PVC必须处于已绑定状态并且可用(即不在使用中)。

在使用CSI卷克隆功能时,需要注意以下几点事项:

1、克隆支持(VolumePVCDataSource)仅适用于 CSI 驱动。

2、克隆支持仅适用于 动态供应器。

3、CSI驱动可能会实现或未实现卷克隆功能

4、要进行克隆操作,源PVC和目标PVC必须位于同一命名空间。即源PVC和目标PVC必须在相同的命名空间下。

5、克隆操作支持使用不同的存储类进行克隆。

  • 目标卷和源卷可以是相同的存储类,也可以不同;
  • 可以使用默认的存储类,也可以在 spec 中省略 storageClassName 字段。

6、克隆操作只能在具有相同VolumeMode设置的卷之间进行克隆。例如,如果要克隆一个块存储模式的卷,源卷也必须是块存储模式。

二、制备

克隆卷与其他任何 PVC 一样配置,除了需要增加 dataSource 来引用同一命名空间中现有的 PVC。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: clone-of-pvc-1
namespace: myns
spec:
accessModes:
- ReadWriteOnce
storageClassName: cloning
resources:
requests:
storage: 5Gi
dataSource:
kind: PersistentVolumeClaim
name: pvc-1

以上结果是一个名称为 clone-of-pvc-1 的新 PVC 与指定的源 pvc-1 拥有相同的内容。

注意:在使用CSI卷克隆功能时,确实需要为spec.resources.requests.storage字段指定一个值,并且该值必须大于或等于源卷的容量。

三、使用克隆的PVC

一旦新的PVC可用,被克隆的PVC就可以像其他PVC一样使用。可以将其视为一个独立的对象,具有自己的数据和属性。

用户可以独立地使用、克隆、快照或删除新创建的PVC,而无需考虑其原始数据源PVC。源PVC与新创建的克隆PVC之间没有任何链接关系,用户可以对源PVC进行修改或删除操作,而不会影响到新创建的克隆PVC的数据或状态。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。