CSI 卷克隆功能添加了对在字段中指定现有 PVC 的支持 dataSource,以指示用户想要克隆卷。

一、共享文件存储

特别说明:下面操作是基于之前的环境进行操作的,详细请点击---使用共享文件系统存储,这里就不重复演示部署环境了。

1.1 先决条件

1、需要 Kubernetes v1.16+ 支持卷克隆。

2、Ceph-csi diver v3.0.0+ 支持卷克隆。

1.2 克隆操作

1.根据环境实际情况修改pvc-clone.yaml文件

$ cd /root/rook/deploy/examples/csi/cephfs
$ vim pvc-clone.yaml
$ k create -f pvc-clone.yaml

共享文件存储PVC克隆-1

2.验证克隆结果

[root@k8s-master01 cephfs]# k get pvc
NAME               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      AGE
cephfs-pvc-clone   Bound    pvc-ac411771-1233-4eb5-aa91-4bf8d158c30c   2Gi        RWX            rook-cephfs       18s
nginx-share-pvc    Bound    pvc-b94bb9f8-f7e4-48cd-82be-db9dee6c451d   2Gi        RWX            rook-cephfs       33h

1.3 克隆资源清理

运行以下命令清除集群中本示例创建的资源

$ cd /root/rook/deploy/examples/csi/cephfs
$ k delete -f pvc-clone.yaml

二、块存储

特别说明:下面操作是基于之前的环境进行操作的,详细请点击---使用ceph块存储,这里就不重复演示部署环境了。

2.1 先决条件

1、需要 Kubernetes v1.16+ 支持卷克隆。

2、Ceph-csi diver v3.0.0+ 支持卷克隆。

2.2 克隆操作

1.根据环境实际情况修改pvc-clone.yaml文件

$ cd /root/rook/deploy/examples/csi/rbd
$ vim pvc-clone.yaml
$ k create -f pvc-clone.yaml

块存储克隆-1

2.验证克隆结果

[root@k8s-master01 rbd]# k get pvc
NAME               STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      AGE
mysql-pv-claim     Bound    pvc-f1f26550-43e5-4cc3-bf80-986ed5f7639f   8Gi        RWO            rook-ceph-block   31h
rbd-pvc-clone      Bound    pvc-2aece729-b6d5-49bb-a31a-5891e6d05ba6   8Gi        RWO            rook-ceph-block   7s

2.3 克隆资源清理

运行以下命令清除集群中本示例创建的资源

$ cd /root/rook/deploy/examples/csi/rbd
$ k delete -f pvc-clone.yaml