Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Partager un volume NFS entre espaces de noms

Avec Trident, vous pouvez créer un volume dans un espace de noms principal et le partager dans un ou plusieurs espaces de noms secondaires.

Caractéristiques

Le TridentVolumeReference CR vous permet de partager en toute sécurité des volumes NFS ReadWriteMany (RWX) entre un ou plusieurs espaces de noms Kubernetes. Cette solution native Kubernetes présente les avantages suivants :

  • Plusieurs niveaux de contrôle d'accès pour garantir la sécurité

  • Fonctionne avec tous les pilotes de volumes NFS Trident

  • Aucune dépendance à tridentctl ni à toute autre fonctionnalité non native de Kubernetes

Ce diagramme illustre le partage de volumes NFS entre deux espaces de noms Kubernetes.

Diagramme conceptuel du partage entre espaces de noms.

Démarrage rapide

Vous pouvez configurer le partage de volume NFS en quelques étapes seulement.

UnConfigurez le PVC source pour partager 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'un CR 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 TridentVolumeReference CR.

TroisCréer TridentVolumeReference dans l'espace de noms de destination

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

Quatre Créez le PVC subordonné dans l'espace de noms de destination

Le propriétaire de l'espace de noms de destination crée le PVC subordonné pour utiliser la source de données du PVC source.

Configurez les espaces de noms source et de destination

Pour garantir la sécurité, le partage entre espaces de noms nécessite la collaboration et l'intervention 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éez le PVC (pvc1 dans l'espace de noms source qui autorise le partage avec l'espace de noms de destination (namespace2 en utilisant l'annotation shareToNamespace.

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

    Trident crée le PV et son volume de stockage NFS backend.

    Remarque
    • Vous pouvez partager le PVC avec plusieurs espaces de noms à l'aide d'une liste séparée par des virgules. Par exemple, trident.netapp.io/shareToNamespace: namespace2,namespace3,namespace4.

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

    • Vous pouvez mettre à jour le PVC pour inclure l’annotation shareToNamespace à tout moment.

  2. Administrateur du cluster : Assurez-vous qu’un contrôle d’accès basé sur les rôles (RBAC) approprié est en place pour accorder au propriétaire de l’espace de noms de destination l’autorisation de créer la TridentVolumeReference CR dans l’espace de noms de destination.

  3. Propriétaire de l'espace de noms de destination : Créez une 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
  4. Propriétaire de l'espace de noms de destination : Créez un PVC (pvc2 dans l'espace de noms de destination (namespace2 en utilisant l'annotation shareFromPVC pour désigner le PVC source.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      annotations:
        trident.netapp.io/shareFromPVC: namespace1/pvc1
      name: pvc2
      namespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi
    Remarque La taille du PVC de destination doit être inférieure ou égale à celle du PVC source.
Résultats

Trident lit l' `shareFromPVC`annotation sur le PVC de destination et crée le PV de destination comme un volume subordonné sans ressource de stockage propre qui pointe vers le PV source et partage la ressource de stockage du PV source. Le PVC et le PV de destination apparaissent liés normalement.

Supprimer un volume partagé

Vous pouvez supprimer un volume partagé entre plusieurs espaces de noms. Trident supprimera l'accès au volume dans l'espace de noms source et maintiendra l'accès pour les autres espaces de noms qui partagent le volume. Lorsque tous les espaces de noms qui référencent le volume sont supprimés, Trident supprime le volume.

Utilisez tridentctl get pour interroger les volumes subordonnés

En utilisant l'[tridentctl`utilitaire, vous pouvez exécuter la commande `get`pour obtenir les volumes subordonnés. Pour plus d'informations, consultez le lien : ../trident-reference/trident-cl.html[`tridentctl commandes et options].

Usage:
  tridentctl get [option]

Drapeaux:

  • `-h, --help: Aide pour les volumes.

  • --parentOfSubordinate string : Limiter la requête au volume source subordonné.

  • --subordinateOf string : Limiter la requête aux subordonnés du volume.

Limitations

  • Trident ne peut pas empêcher les espaces de noms de destination d'écrire sur le volume partagé. Vous devez utiliser le verrouillage de fichiers ou d'autres processus pour éviter l'écrasement des données du volume partagé.

  • Vous ne pouvez pas révoquer l'accès au PVC source en supprimant les shareToNamespace ou shareFromNamespace annotations ou en supprimant le TridentVolumeReference CR. Pour révoquer l'accès, vous devez supprimer le PVC subordonné.

  • Les instantanés, les clones et la mise en miroir ne sont pas possibles sur les volumes subordonnés.

Pour plus d'informations

Pour en savoir plus sur l'accès aux volumes entre espaces de noms :