Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Cloner des volumes entre espaces de noms

Contributeurs netapp-aruldeepa

Avec Trident, vous pouvez créer de nouveaux volumes à partir de volumes existants ou d'instantanés de volumes provenant d'un espace de noms différent au sein du même cluster Kubernetes.

Prérequis

Avant de cloner des volumes, assurez-vous que les systèmes de stockage source et de destination sont du même type et ont la même classe de stockage.

Remarque Le clonage entre espaces de noms est pris en charge uniquement pour le ontap-san et ontap-nas pilotes de stockage. Les clones en lecture seule ne sont pas pris en charge.

Démarrage rapide

Vous pouvez configurer le clonage de volumes en quelques étapes seulement.

UnConfigurez le PVC source pour cloner le volume.

Le propriétaire de l'espace de noms source accorde l'autorisation d'accéder aux données du PVC source.

DeuxAutoriser la création d'une demande de changement dans l'espace de noms de destination

L'administrateur du cluster autorise le propriétaire de l'espace de noms de destination à créer la ressource personnalisée TridentVolumeReference.

TroisCréez une référence de volume Trident dans l'espace de noms de destination.

Le propriétaire de l'espace de noms de destination crée la ressource personnalisée TridentVolumeReference pour faire référence au volume persistant source.

QuatreCréez le PVC cloné dans l'espace de noms de destination

Le propriétaire de l'espace de noms de destination crée un PVC pour cloner le PVC de l'espace de noms source.

Configurez les espaces de noms source et de destination

Pour garantir la sécurité, le clonage de volumes entre espaces de noms nécessite la collaboration et l'action du propriétaire de l'espace de noms source, de l'administrateur du cluster et du propriétaire de l'espace de noms de destination. Le rôle de l'utilisateur est défini à chaque étape.

Étapes
  1. Propriétaire de l'espace de noms source : Créer le PVC(pvc1 ) dans l'espace de noms source(namespace1 ) qui autorise le partage avec l'espace de noms de destination(namespace2 ) en utilisant cloneToNamespace annotation.

    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 crée le PV et son volume de stockage backend.

    Remarque
    • Vous pouvez partager le PVC avec plusieurs espaces de noms en utilisant une liste séparée par des virgules. Par exemple, trident.netapp.io/cloneToNamespace: namespace2,namespace3,namespace4 .

    • Vous pouvez partager avec tous les espaces de noms en utilisant * . Par exemple, trident.netapp.io/cloneToNamespace: *

    • Vous pouvez mettre à jour le PVC pour inclure le cloneToNamespace annotation à tout moment.

  2. Administrateur du cluster : Assurez-vous que le contrôle d'accès basé sur les rôles (RBAC) est correctement configuré pour autoriser le propriétaire de l'espace de noms de destination à créer la ressource personnalisée TridentVolumeReference dans l'espace de noms de destination.(namespace2 ).

  3. Propriétaire de l'espace de noms de destination : Créez une ressource personnalisée TridentVolumeReference dans l'espace de noms de destination qui fait référence à l'espace de noms source. pvc1 .

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. Propriétaire de l'espace de noms de destination : Créer un PVC(pvc2 ) dans l'espace de noms de destination(namespace2 ) en utilisant cloneFromPVC ou cloneFromSnapshot , et cloneFromNamespace annotations pour désigner le PVC source.

    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

Limites

  • Pour les PVC provisionnés à l'aide des pilotes ontap-nas-economy, les clones en lecture seule ne sont pas pris en charge.