Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

跨命名空间克隆卷

贡献者 netapp-aruldeepa

使用Trident,您可以利用同一 Kubernetes 集群中不同命名空间内的现有卷或卷快照创建新卷。

前提条件

克隆卷之前,请确保源后端和目标后端是同一类型,并且具有相同的存储类别。

备注 跨命名空间克隆仅支持以下情况: `ontap-san`和 `ontap-nas`存储驱动程序。不支持只读克隆。

快速启动

只需几个步骤即可设置卷克隆。

一个配置源 PVC 以克隆卷

源命名空间所有者授予访问源 PVC 中数据的权限。

两个授予在目标命名空间中创建 CR 的权限

集群管理员授予目标命名空间的所有者创建 TridentVolumeReference CR 的权限。

三在目标命名空间中创建 TridentVolumeReference

目标命名空间的所有者创建 TridentVolumeReference CR 以引用源 PVC。

四个在目标命名空间中创建克隆 PVC

目标命名空间的所有者创建 PVC 以克隆源命名空间中的 PVC。

配置源命名空间和目标命名空间

为确保安全,跨命名空间克隆卷需要源命名空间所有者、集群管理员和目标命名空间所有者的协作和操作。用户角色在每个步骤中都会被指定。

步骤
  1. 源命名空间所有者: 创建PVC(pvc1 )在源命名空间中(namespace1`授予与目标命名空间共享的权限(`namespace2) 使用 `cloneToNamespace`注解。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc1
      namespace: namespace1
      annotations:
        trident.netapp.io/cloneToNamespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

    Trident创建 PV 及其后端存储卷。

    备注
    • 您可以使用逗号分隔的列表将 PVC 共享给多个命名空间。例如, trident.netapp.io/cloneToNamespace: namespace2,namespace3,namespace4

    • 您可以使用以下方式共享到所有命名空间 *。例如, trident.netapp.io/cloneToNamespace: *

    • 您可以更新PVC以包含 `cloneToNamespace`随时可以添加注释。

  2. 集群管理员: 确保已配置正确的基于角色的访问控制 (RBAC),以授予目标命名空间所有者在目标命名空间中创建 TridentVolumeReference CR 的权限。(namespace2 )。

  3. 目标命名空间所有者: 在目标命名空间中创建一个指向源命名空间的 TridentVolumeReference CR。 pvc1

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. 目标命名空间所有者: 创建PVC(pvc2 )在目标命名空间(namespace2) 使用 cloneFromPVC`或者 `cloneFromSnapshot, 和 `cloneFromNamespace`用于指定源PVC的注释。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      annotations:
        trident.netapp.io/cloneFromPVC: pvc1
        trident.netapp.io/cloneFromNamespace: namespace1
      name: pvc2
      namespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

限制

  • 对于使用 ontap-nas-economy 驱动程序配置的 PVC,不支持只读克隆。