Cloner des volumes entre des espaces de noms
Avec Trident, vous pouvez créer de nouveaux volumes à l'aide de volumes ou de volumes namesnapshots existants à partir d'un autre namespace situé dans le même cluster Kubernetes.
Prérequis
Avant de cloner des volumes, assurez-vous que les systèmes back-end source et de destination sont du même type et ont la même classe de stockage.
|
Le clonage entre les 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.

Le propriétaire de l'espace de noms source autorise l'accès aux données dans la demande de volume persistant source.

L'administrateur de cluster accorde l'autorisation au propriétaire de l'espace de noms de destination pour créer le CR TridentVolumeReference.

Le propriétaire de l'espace de noms de destination crée le CR TridentVolumeReference pour faire référence au PVC source.

Le propriétaire de l'espace de noms de destination crée une demande de volume persistant pour cloner la demande de volume persistant à partir de l'espace de noms source.
Configurer 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 utilisateur est désigné dans chaque étape.
-
Propriétaire de l'espace de noms source : Créez le PVC (
namespace1
) (pvc1`dans l'espace de noms source qui accorde l'autorisation de partager avec l'espace de noms de destination (`namespace2
) à l'aide de l' `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 volume PV et son volume de stockage back-end.
-
Vous pouvez partager le PVC sur plusieurs espaces de noms à l'aide d'une liste délimitée par des virgules. Par exemple
trident.netapp.io/cloneToNamespace: namespace2,namespace3,namespace4
, . -
Vous pouvez partager sur tous les espaces de noms à l'aide de
*
. Par exemple,trident.netapp.io/cloneToNamespace: *
-
Vous pouvez mettre à jour la demande de volume persistant pour inclure l' `cloneToNamespace`annotation à tout moment.
-
-
Administrateur du cluster : Assurez-vous que le RBAC approprié est en place pour accorder l'autorisation au propriétaire de l'espace de noms de destination de créer le CR TridentVolumeReference dans l'espace de noms de destination(
namespace2
). -
Propriétaire de l'espace de noms de destination : Créez un CR 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éez un PVC (
namespace2
)(pvc2
dans l'espace de noms de destination en utilisant lecloneFromPVC
oucloneFromSnapshot
, et lescloneFromNamespace
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 demandes de provisionnement virtuels provisionnées à l'aide de pilotes ONTAP-nas-Economy, les clones en lecture seule ne sont pas pris en charge.