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

跨命名空间克隆卷

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

前提条件

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

备注 只有 ontap-sanontap-nas 存储驱动程序才支持跨命名空间克隆。不支持只读克隆。

快速入门

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

一个 配置源 PVC 以克隆卷

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

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

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

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

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

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

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

配置源和目标命名空间

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

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

    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. 目标命名空间所有者: 在目标命名空间 (namespace2) 中创建一个 PVC (pvc2),使用 cloneFromPVCcloneFromSnapshot,以及 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,不支持只读克隆。