Cloner des volumes entre espaces de noms
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.
|
|
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.
Configurez 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.
Autoriser la création d'une demande de changement dans l'espace de noms de destinationL'administrateur du cluster autorise le propriétaire de l'espace de noms de destination à créer la ressource personnalisée TridentVolumeReference.
Cré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.
Créez le PVC cloné dans l'espace de noms de destinationLe 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.
-
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 utilisantcloneToNamespaceannotation.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc1 namespace: namespace1 annotations: trident.netapp.io/cloneToNamespace: namespace2 spec: accessModes: - ReadWriteMany storageClassName: trident-csi resources: requests: storage: 100GiTrident crée le PV et son volume de stockage backend.
-
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
cloneToNamespaceannotation à tout moment.
-
-
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). -
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 -
Propriétaire de l'espace de noms de destination : Créer un PVC(
pvc2) dans l'espace de noms de destination(namespace2) en utilisantcloneFromPVCoucloneFromSnapshot, etcloneFromNamespaceannotations 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.