Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Use NAS dynamic volumes

Dernière mise à jour :Oct 10, 2026

Grâce au provisionnement dynamique pour File Storage NAS, vous pouvez allouer automatiquement du stockage aux workloads à la demande, sans avoir à créer des PV au préalable. Cette fonctionnalité assure la persistance et le partage des données, permettant à plusieurs Pods de lire et d'écrire simultanément, tout en simplifiant la gestion du stockage pour des cas d'usage tels que les applications web ou la rétention des journaux.

Fonctionnement

Avec les volumes dynamiques, lorsqu'une application crée une PVC, le système crée automatiquement un nouveau volume de stockage ainsi qu'un PV correspondant à la demande. Ce provisionnement est déterminé par la StorageClass spécifiée dans la PVC. Ce mode offre une plus grande flexibilité et prend en charge l'extension automatique des volumes de stockage.

Mode de montage

Vous pouvez spécifier le mode de montage à l'aide du paramètre volumeAs dans une StorageClass. Ce paramètre définit la relation entre un PV et le système de fichiers NAS.

Mode de montage

Description

Scénario

subpath

En mode subpath, chaque PV est mappé à un sous-répertoire unique au sein d'un système de fichiers NAS. Ce mode facilite l'isolation des données.

  • Plusieurs Pods montent le même sous-répertoire d'un système de fichiers NAS.

  • Plusieurs Pods montent différents sous-répertoires du même système de fichiers NAS afin d'isoler les données.

sharepath

En mode sharepath, tous les PV sont mappés vers le même répertoire NAS défini dans la StorageClass. Par conséquent, toutes les PVC utilisant cette StorageClass accèdent au même répertoire partagé.

Plusieurs Pods répartis dans différents namespaces doivent monter le même sous-répertoire NAS.

filesystem (Non recommandé)

En mode système de fichiers, une nouvelle instance de système de fichiers NAS dédiée est créée dynamiquement pour chaque PV.

Ce mode convient aux applications nécessitant une isolation stricte en termes de performances et de sécurité. Il permet la création et la suppression dynamiques de systèmes de fichiers NAS indépendants et de points de montage pour chaque application, mais engendre des coûts plus élevés.

Flux de travail général

Le flux de travail pour le montage d'un volume NAS provisionné dynamiquement est le suivant.

  1. Créez une StorageClass. Dans celle-ci, définissez un modèle de stockage, déclarez un point de montage NAS et sélectionnez un mode de montage, tel que subpath ou sharepath, selon vos besoins.

  2. Créez une PersistentVolumeClaim (PVC). Les applications utilisent les PVC pour demander des ressources de stockage. Le système crée automatiquement un PersistentVolume (PV) et le lie à la PVC en fonction de la StorageClass spécifiée dans cette dernière.

  3. Montez la PVC sur un pod. La PVC fournit un répertoire persistant au conteneur.

Prérequis

  • Les composants csi-plugin et csi-provisioner sont installés.

    Les composants CSI sont installés par défaut. Vérifiez qu'ils restent installés. Vous pouvez consulter l'état de l'installation sur la page Add-ons . Nous vous recommandons de mettre à niveau les composants CSI vers la dernière version.
  • Pour utiliser subpath et sharepath, vous devez disposer d'un système de fichiers Apsara File Storage NAS répondant aux exigences suivantes. Sinon, créez un système de fichiers.

    NAS impose des limites concernant la connectivité de montage, le nombre de systèmes de fichiers et les types de protocoles.
    • Protocol : seul le protocole NFS est pris en charge.

    • VPC : le système de fichiers Apsara File Storage NAS doit se trouver dans le même VPC que votre cluster. Apsara File Storage NAS prend en charge le montage inter-zones, mais pas le montage inter-VPC.

    • Mount Target : ajoutez un point de montage situé dans le même VPC que votre cluster et dont l'état est actif. Pour plus d'informations, consultez la rubrique Gérer les points de montage. Notez l'adresse du point de montage.

    • (Facultatif) Encryption Type : pour chiffrer les données d'un volume, configurez le type de chiffrement lors de la création du système de fichiers Apsara File Storage NAS.

Remarques d'utilisation

  • Ne supprimez pas les points de montage : afin d'éviter les erreurs d'E/S sur les nœuds, ne supprimez pas un point de montage dans la console NAS tant que le volume correspondant est utilisé.

  • Écritures concurrentes : NAS fournit un stockage partagé. Lorsque plusieurs Pods montent le même volume, votre application doit gérer les éventuels problèmes de cohérence des données liés aux écritures concurrentes.

    Pour plus d'informations sur les limites des écritures concurrentes sur NAS, consultez les rubriques Écriture simultanée par plusieurs processus dans le même fichier journal et Latence de lecture du contenu de fichier mis à jour entre les instances ECS .
  • Performances de montage : si vous configurez le paramètre securityContext.fsgroup dans votre application, kubelet exécute récursivement chmod ou chown après le montage du volume, ce qui augmente considérablement le temps de démarrage du Pod.

    Pour optimiser les performances de montage, consultez la rubrique FAQ sur les volumes NAS .

Méthode 1 : Monter un volume à l'aide d'un sous-chemin

Avec cette méthode, le provisionneur CSI crée automatiquement un sous-chemin dédié dans le système de fichiers NAS pour chaque PersistentVolumeClaim (PVC). Ce sous-chemin fait office de PersistentVolume (PV).

  • La version du plug-in CSI doit être la 1.31.4 ou une version ultérieure. Pour mettre à jour le plug-in, consultez la rubrique Mettre à niveau le plug-in CSI.

  • Vous avez créé un système de fichiers NAS et disposez de son point de montage.

1. Créer une StorageClass

Une StorageClass sert de modèle pour le provisionnement de volumes dynamiques et définit la source ainsi que le comportement des ressources de stockage.

kubectl

  1. Créez un fichier nommé alicloud-nas-subpath.yaml avec le contenu suivant :

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      # The name of the StorageClass, which must be unique within the cluster.
      name: alicloud-nas-subpath  
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      # Set to subpath.
      volumeAs: subpath
      # The format of the server field is <nas-server-address>:/<path>.
      server: "0cd8b4a576-g****.cn-hangzhou.nas.aliyuncs.com:/k8s"
      archiveOnDelete: "true"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain
    allowVolumeExpansion: true

    Paramètre

    Description

    mountOptions

    Les options de montage pour NAS, y compris la version du protocole NFS. Par défaut, les volumes sont montés en utilisant NFSv3. Vous pouvez spécifier une autre version avec une option telle que vers=4,0. Pour plus d'informations sur les protocoles NFS pris en charge par les différents types de NAS, consultez la rubrique Protocoles NFS.

    parameters.volumeAs

    Le mode de provisionnement du volume. Définissez-le sur subpath.

    parameters.server

    Le point de montage NAS et le sous-chemin à monter, au format <nas-server-address>:/<path>.

    • <nas-server-address> : le point de montage du système de fichiers NAS. Pour plus d'informations, consultez la rubrique Gérer les points de montage.

    • :/<path> : le sous-chemin NAS à monter. Si ce paramètre n'est pas défini ou si le sous-chemin spécifié n'existe pas, le répertoire racine est monté par défaut.

      • NAS généraliste : le répertoire racine est /.

      • Extreme NAS : le répertoire racine est /share. Lorsque vous montez un sous-chemin, le path doit commencer par /share, par exemple /share/data.

    parameters.archiveOnDelete

    Indique s'il faut supprimer les données sur le stockage backend lorsqu'un PVC est supprimé et que sa reclaimPolicy est définie sur Delete.

    Cette option agit comme une mesure de sécurité pour éviter la perte accidentelle de données sur le stockage NAS partagé.
    • true (par défaut) : le répertoire et ses fichiers ne sont pas supprimés. Ils sont archivés et renommés au format archived-{pvName}.{timestamp}.

    • false : le répertoire correspondant et ses données sont définitivement supprimés.

      Cette opération supprime le sous-chemin NAS et ses fichiers, mais pas le système de fichiers NAS lui-même.

      Pour supprimer un système de fichiers NAS, consultez la rubrique Supprimer un système de fichiers.

    Dans les scénarios où les PV sont fréquemment créés et supprimés, définir ce paramètre sur false peut bloquer la file d'attente des tâches du contrôleur CSI, empêchant ainsi la création de nouveaux PV. Pour plus d'informations, consultez la rubrique La file d'attente des tâches du contrôleur est pleine et de nouveaux PV ne peuvent pas être créés lors de l'utilisation d'un volume NAS dynamique.

    provisioner

    Le pilote. Définissez ce paramètre sur nasplugin.csi.alibabacloud.com lorsque vous utilisez le plug-in CSI Alibaba Cloud NAS.

    reclaimPolicy

    La politique de récupération du PV.

    • Delete (par défaut) : lorsque le PVC est supprimé, les données du stockage backend sont traitées en fonction du paramètre archiveOnDelete.

    • Retain : lorsque le PVC est supprimé, le PV et les données du système de fichiers NAS ne sont pas supprimés et doivent l'être manuellement. Cette politique est recommandée pour les scénarios nécessitant une sécurité élevée des données afin d'éviter toute perte accidentelle.

    allowVolumeExpansion

    Pris en charge uniquement par le NAS généraliste.

    Permet l'expansion dynamique des PV créés par cette StorageClass en modifiant la capacité du PVC.

    Cette StorageClass utilise la fonctionnalité de quota de répertoire NAS pour gérer la capacité des PV, permettant un contrôle précis de la taille. Vous pouvez étendre le volume en ligne en modifiant le champ spec.resources.requests.storage du PVC. Pour plus d'informations, consultez la rubrique Définir des quotas de répertoire pour les volumes NAS dynamiques.

    Les quotas de répertoire NAS s'appliquent de manière asynchrone. Si vous effectuez des écritures de données volumineuses à haute vitesse immédiatement après la création ou l'extension d'un PV, vous risquez de dépasser la capacité spécifiée car le quota n'est pas encore pleinement appliqué. Pour plus d'informations, consultez la rubrique Limites d'utilisation.
  2. Créez la StorageClass.

    kubectl create -f alicloud-nas-subpath.yaml

Console

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Volumes > StorageClasses.

  3. Cliquez sur Create, spécifiez un nom unique pour la StorageClass au sein du cluster, sélectionnez NAS comme PV Type, puis suivez les instructions à l'écran pour créer la StorageClass.

    Les principaux paramètres sont décrits dans le tableau suivant.

    Paramètre

    Description

    Select Mount Target

    Le point de montage du système de fichiers NAS.

    Volume Mode

    Le mode de provisionnement du volume. Sélectionnez Subdirectory. Un sous-chemin est automatiquement créé sous le chemin de montage spécifié. Les données sont stockées à l'emplacement <NAS mount target>:<mount path>/<pv-name>/.

    Mount Path

    Le sous-répertoire NAS à monter. Si ce paramètre n'est pas spécifié, le répertoire racine est monté par défaut.

    Si le répertoire n'existe pas dans le système de fichiers NAS, il est automatiquement créé puis monté.
    • NAS généraliste : le répertoire racine est /.

    • Extreme NAS : le répertoire racine est /share. Lorsque vous montez un sous-répertoire, le path doit commencer par /share, par exemple /share/data.

    Reclaim Policy

    La politique de récupération du PV.

    • Delete (par défaut) : lorsque le PVC est supprimé, les données du stockage backend sont traitées en fonction du paramètre archiveOnDelete.

    • Retain : lorsque le PVC est supprimé, le PV et les données du système de fichiers NAS ne sont pas supprimés et doivent l'être manuellement. Cette politique est recommandée pour les scénarios nécessitant une sécurité élevée des données afin d'éviter toute perte accidentelle.

    Mount Options

    Les options de montage pour NAS, y compris la version du protocole NFS. Par défaut, les volumes sont montés en utilisant NFSv3. Vous pouvez spécifier une autre version avec une option telle que vers=4,0. Pour plus d'informations sur les protocoles NFS pris en charge par les différents types de NAS, consultez la rubrique Protocoles NFS.

    Une fois la StorageClass créée, vous pouvez la consulter dans la liste StorageClasses.

2. Créer un PVC

Un PersistentVolumeClaim (PVC) est une demande de stockage émise par une application qui déclenche une StorageClass associée pour provisionner et lier dynamiquement un PersistentVolume (PV) correspondant.

kubectl

  1. Créez un fichier nommé nas-pvc.yaml avec le contenu suivant :

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata: 
      name: nas-csi-pvc
    spec:
      accessModes:
      - ReadWriteMany 
      # Specify the StorageClass to use.
      storageClassName: alicloud-nas-subpath  
      resources: 
        requests:
          # Declare the required capacity of the storage volume.
          storage: 20Gi  

    Paramètre

    Description

    accessModes

    Le mode d'accès. Valeurs possibles :

    • ReadWriteMany (par défaut) : le volume peut être monté en lecture-écriture par plusieurs nœuds.

    • ReadWriteOnce : le volume peut être monté en lecture-écriture par un seul nœud.

    • ReadOnlyMany : le volume peut être monté en lecture seule par plusieurs nœuds.

    storageClassName

    Le nom de la StorageClass à utiliser.

    storage

    La capacité requise du volume de stockage. Par défaut, cette déclaration agit comme une demande de ressource et ne limite pas l'espace de stockage réel disponible pour le pod.

    La limite de capacité d'un système de fichiers NAS est déterminée par ses spécifications. Pour plus d'informations, consultez les rubriques NAS généraliste et Extreme NAS.

    Toutefois, lorsque allowVolumeExpansion dans la StorageClass est défini sur true, cette valeur devient une limite stricte appliquée rigoureusement. Le plug-in CSI définit le quota de répertoire NAS en fonction de cette configuration pour limiter la capacité disponible du PV.

  2. Créez le PVC.

    kubectl create -f nas-pvc.yaml
  3. Vérifiez le PV.

    kubectl get pv

    Le résultat attendu est similaire à ce qui suit, indiquant que la StorageClass a automatiquement provisionné un PersistentVolume (PV) et l'a lié au PVC.

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS             VOLUMEATTRIBUTESCLASS   REASON   AGE
    nas-a7540d97-0f53-4e05-b7d9-557309******   20Gi       RWX            Retain           Bound    default/nas-csi-pvc   alicloud-nas-subpath     <unset>                          5m

Console

  1. Dans le volet de navigation de gauche de la page de gestion du cluster, choisissez Storage > PVCs.

  2. Sur la page Persistent Volume Claims, cliquez sur Create, configurez les paramètres du PVC, puis cliquez sur Create.

    Paramètre

    Description

    PVC Type

    Sélectionnez NAS.

    Name

    Le nom du PVC. Le nom doit être unique au sein du namespace.

    Allocation Mode

    Sélectionnez Use StorageClass.

    Existing Storage Class

    Cliquez sur Select Storage Class et choisissez la StorageClass que vous avez créée.

    Total Capacity

    La capacité requise du volume de stockage. Par défaut, cette déclaration agit comme une demande de ressource et ne limite pas l'espace de stockage réel disponible pour le pod.

    La limite de capacité d'un système de fichiers NAS est déterminée par ses spécifications. Pour plus d'informations, consultez les rubriques NAS généraliste et Extreme NAS.

    Toutefois, lorsque allowVolumeExpansion dans la StorageClass est défini sur true, cette valeur devient une limite stricte appliquée rigoureusement. Le plug-in CSI définit le quota de répertoire NAS en fonction de cette configuration pour limiter la capacité disponible du PV.

    Access Mode

    Le mode d'accès. Valeurs possibles :

    • ReadWriteMany (par défaut) : le volume peut être monté en lecture-écriture par plusieurs nœuds.

    • ReadWriteOnce : le volume peut être monté en lecture-écriture par un seul nœud.

    • ReadOnlyMany : le volume peut être monté en lecture seule par plusieurs nœuds.

3. Créer une application et monter le NAS

Une fois le PVC créé, vous pouvez monter le volume sur une application. Cette section explique comment créer deux Deployments qui référencent le même PVC, permettant à plusieurs pods de partager le même sous-chemin NAS.

kubectl

Créez deux Deployments qui référencent le même PVC pour leur permettre de partager le même sous-chemin du système de fichiers NAS.

Pour monter différents sous-chemins du même système de fichiers NAS sur différents pods, vous devez créer une StorageClass unique et un PVC correspondant pour chaque sous-chemin.
  1. Créez deux fichiers nommés nginx-1.yaml et nginx-2.yaml avec le contenu suivant.

    Les configurations des deux applications sont presque identiques. Elles référencent toutes deux le même PVC.
    • nginx-1.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test-1     
        labels:
          app: nginx
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  # The mount path for the NAS volume inside the container.
                  mountPath: "/data"          
            volumes:
              - name: nas-pvc                 
                persistentVolumeClaim:
                  # Reference the previously created PVC.
                  claimName: nas-csi-pvc      
    • nginx-2.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test-2     
        labels:
          app: nginx
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  # The mount path for the NAS volume inside the container.
                  mountPath: "/data"           
            volumes:
              - name: nas-pvc                 
                persistentVolumeClaim:
                  # Reference the previously created PVC.
                  claimName: nas-csi-pvc       
  2. Créez les deux Deployments.

    kubectl create -f nginx-1.yaml -f nginx-2.yaml
  3. Vérifiez l'état des pods.

    kubectl get pod -l app=nginx

    Résultat attendu :

    NAME                         READY   STATUS    RESTARTS   AGE
    nas-test-1-b75d5b6bc-*****   1/1     Running   0          51s
    nas-test-2-b75d5b6bc-*****   1/1     Running   0          44s
  4. Inspectez chaque pod pour vérifier qu'il utilise le bon PersistentVolumeClaim (PVC).

    Remplacez <podName> par le nom réel de chaque pod.
    kubectl describe pod <podName> | grep "ClaimName:"

    Dans le résultat attendu, les deux pods utilisent le même PVC, ce qui confirme qu'ils partagent le même sous-chemin du système de fichiers NAS.

Console

Répétez les étapes suivantes pour créer deux Deployments qui utilisent le même PVC, ce qui leur permet de partager le même sous-chemin du système de fichiers NAS.

  1. Sur la page Clusters ACK, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Workloads > Deployments.

  2. Cliquez sur Create from Image et suivez les instructions à l'écran pour configurer et créer l'application.

    Les principaux paramètres sont décrits ci-dessous. Vous pouvez conserver les valeurs par défaut pour les autres paramètres. Pour plus d'informations, consultez la rubrique Créer une application sans état (Deployment).

    Section

    Paramètre

    Description

    Basic Information

    Replicas:

    Le nombre de réplicas pour le Deployment.

    Container

    Image

    L'adresse de l'image utilisée pour déployer l'application.

    Required Resources

    Les ressources vCPU et mémoire requises par le conteneur.

    Volumes

    Cliquez sur Add PVC puis configurez les paramètres.

    • Mount Source : sélectionnez le PVC que vous avez créé.

    • Container Path : saisissez le chemin au sein du conteneur où le système de fichiers NAS sera monté.

    Une fois le déploiement terminé, vous pouvez cliquer sur le nom de l'application sur la page Deployments et vérifier l'onglet Pods pour confirmer que les pods fonctionnent correctement (leur statut est Running).

Pour vérifier que le stockage est partagé et persistant, consultez la section Vérifier le stockage partagé et persistant. ## Méthode 2 : Montage en mode sharepath Dans ce mode, lorsque des PV sont créés pour des PVC utilisant cette StorageClass, le provisioner ne crée pas de nouveaux répertoires. Tous les PV utilisent le chemin défini dans la StorageClass, mappant ainsi chaque PV vers le même répertoire NAS.

1. Créer une StorageClass

Une StorageClass sert de modèle pour le provisionnement de volumes dynamiques et définit la source ainsi que le comportement des ressources de stockage.

kubectl

  1. Créez un fichier nommé alicloud-nas-sharepath.yaml avec le contenu suivant.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas-sharepath
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      volumeAs: sharepath
      # The format of the server field is <nas-server-address>:/<path>
      server: "0cd8b4a576-g****.cn-hangzhou.nas.aliyuncs.com:/k8s"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain

    Paramètre

    Description

    mountOptions

    Les options de montage pour NAS, y compris la version du protocole NFS. Par défaut, les volumes sont montés avec NFSv3. Vous pouvez spécifier une autre version avec une option telle que vers=4,0. Pour plus d'informations sur les protocoles NFS pris en charge par les différents types de NAS, consultez Protocoles NFS.

    parameters.volumeAs

    Le mode de provisionnement du volume. Définissez-le sur sharepath.

    parameters.server

    La cible de montage NAS et le sous-chemin à monter, au format <nas-server-address>:/<path>.

    • <nas-server-address> : la cible de montage du système de fichiers NAS. Pour plus d'informations, consultez Gérer les cibles de montage.

    • :/<path> : le sous-chemin NAS à monter. Si ce paramètre n'est pas défini ou si le sous-chemin spécifié n'existe pas, le répertoire racine est monté par défaut.

      • NAS généraliste : le répertoire racine est /.

      • Extreme NAS : le répertoire racine est /share. Lorsque vous montez un sous-chemin, le path doit commencer par /share, par exemple /share/data.

    provisioner

    Le pilote. Définissez ce paramètre sur nasplugin.csi.alibabacloud.com lorsque vous utilisez le plug-in Alibaba Cloud NAS CSI.

    reclaimPolicy

    La politique de récupération pour le PV. Pour le mode sharepath, cette valeur doit être Retain.

  2. Créez la StorageClass.

    kubectl create -f alicloud-nas-sharepath.yaml

Console

  1. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Volumes > StorageClasses.

  2. Cliquez sur Create, spécifiez un nom unique pour la StorageClass et sélectionnez NAS comme PV Type.

    Paramètre

    Description

    Select Mount Target

    La cible de montage du système de fichiers NAS.

    Volume Mode

    Le mode de provisionnement du volume. Dans cet exemple, sélectionnez Shared Directory, ce qui active le mode sharepath.

    Mount Path

    Le sous-répertoire NAS à monter. Si ce paramètre n'est pas spécifié, le répertoire racine est monté par défaut.

    Si le répertoire n'existe pas dans le système de fichiers NAS, il est automatiquement créé puis monté.
    • NAS généraliste : le répertoire racine est /.

    • Extreme NAS : le répertoire racine est /share. Lorsque vous montez un sous-répertoire, le path doit commencer par /share, par exemple /share/data.

    Reclaim policy

    Pour le mode sharepath, cette valeur doit être Retain.

    Mount options

    Les options de montage pour NAS, y compris la version du protocole NFS. Par défaut, les volumes sont montés avec NFSv3. Vous pouvez spécifier une autre version avec une option telle que vers=4,0. Pour plus d'informations sur les protocoles NFS pris en charge par les différents types de NAS, consultez Protocoles NFS.

2. Créer un PVC

Une PersistentVolumeClaim (PVC) est une demande de stockage émise par une application qui déclenche une StorageClass associée pour provisionner et lier dynamiquement un PersistentVolume (PV) correspondant.

Pour permettre le partage de données entre les namespaces, vous allez créer un PVC portant le même nom dans deux namespaces différents. Bien que les PVC partagent un nom, il s'agit de ressources distinctes car ils se trouvent dans des namespaces différents. La StorageClass provisionne un PV séparé pour chaque PVC, et les deux PV pointent vers le même répertoire partagé sur le système de fichiers NAS.

kubectl

  1. Créez deux namespaces, ns1 et ns2.

    kubectl create ns ns1
    kubectl create ns ns2
  2. Créez un fichier nommé pvc.yaml avec le contenu suivant afin de créer un PVC portant le même nom dans les namespaces ns1 et ns2.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata: 
      name: nas-csi-pvc
      namespace: ns1
    spec:
      accessModes:
      - ReadWriteMany 
      storageClassName: alicloud-nas-sharepath
      resources: 
        requests:
          storage: 20Gi
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata: 
      name: nas-csi-pvc
      namespace: ns2
    spec:
      accessModes:
      - ReadWriteMany 
      storageClassName: alicloud-nas-sharepath
      resources: 
        requests:
          storage: 20Gi

    Paramètre

    Description

    accessModes

    Le mode d'accès. Valeurs possibles :

    • ReadWriteMany (par défaut) : le volume peut être monté en lecture-écriture par plusieurs nœuds.

    • ReadWriteOnce : le volume peut être monté en lecture-écriture par un seul nœud.

    • ReadOnlyMany : le volume peut être monté en lecture seule par plusieurs nœuds.

    storageClassName

    Le nom de la StorageClass à utiliser.

    storage

    La capacité requise du volume de stockage. Par défaut, cette déclaration agit comme une demande de ressource et ne limite pas l'espace de stockage réel disponible pour le pod.

    La limite de capacité d'un système de fichiers NAS est déterminée par ses spécifications. Pour plus d'informations, consultez NAS généraliste et Extreme NAS.

    Toutefois, lorsque allowVolumeExpansion dans la StorageClass est défini sur true, cette valeur devient une limite stricte imposée. Le plug-in CSI définit le quota du répertoire NAS en fonction de cette configuration pour limiter la capacité disponible du PV.

  3. Créez les PVC.

    kubectl create -f pvc.yaml
  4. Vérifiez l'état des PV pour confirmer que des PV ont été automatiquement créés et liés aux PVC.

    kubectl get pv

    Le résultat attendu est similaire à ce qui suit. L'état des deux PV est Bound et la colonne CLAIM indique que chaque PV est lié à un PVC dans un namespace différent (ns1/nas-csi-pvc et ns2/nas-csi-pvc).

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS             VOLUMEATTRIBUTESCLASS   REASON   AGE
    nas-0b448885-6226-4d22-8a5b-d0768c******   20Gi       RWX            Retain           Bound    ns1/nas-csi-pvc       alicloud-nas-sharepath   <unset>                          74s
    nas-bcd21c93-8219-4a11-986b-fd934a******   20Gi       RWX            Retain           Bound    ns2/nas-csi-pvc       alicloud-nas-sharepath   <unset>                          74s

Console

  1. Créez des namespaces.

    • Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Namespaces and Quotas.

    • Cliquez sur Create et suivez les instructions à l'écran pour créer les namespaces ns1 et ns2.

  2. Dans le volet de navigation de gauche de la page de gestion du cluster, choisissez Storage > PVCs.

  3. Dans le namespace ns1, créez une revendication de stockage.

    Sur la page Persistent Volume Claims, sélectionnez ns1 dans la liste déroulante Namespace et suivez les instructions à l'écran pour créer le PVC.

    Paramètre

    Description

    PVC Type

    Sélectionnez NAS.

    Name

    Le nom du PVC. Le nom doit être unique au sein du namespace.

    Allocation Mode

    Sélectionnez Use StorageClass.

    Existing Storage Class

    Cliquez sur Select Storage Class et choisissez la StorageClass que vous avez créée.

    Capacity

    La capacité requise du volume de stockage. Par défaut, cette déclaration agit comme une demande de ressource et ne limite pas l'espace de stockage réel disponible pour le pod.

    La limite de capacité d'un système de fichiers NAS est déterminée par ses spécifications. Pour plus d'informations, consultez NAS généraliste et Extreme NAS.

    Toutefois, lorsque allowVolumeExpansion dans la StorageClass est défini sur true, cette valeur devient une limite stricte imposée. Le plug-in CSI définit le quota du répertoire NAS en fonction de cette configuration pour limiter la capacité disponible du PV.

    Access Mode

    Le mode d'accès. Valeurs possibles :

    • ReadWriteMany (par défaut) : le volume peut être monté en lecture-écriture par plusieurs nœuds.

    • ReadWriteOnce : le volume peut être monté en lecture-écriture par un seul nœud.

    • ReadOnlyMany : le volume peut être monté en lecture seule par plusieurs nœuds.

  4. Suivez l'étape précédente pour créer un autre PVC dans le namespace ns2.

    Après la création, revenez à la page Persistent Volume Claims. Dans les namespaces ns1 et ns2, confirmez que les deux PVC sont liés à leurs PV créés automatiquement.

3. Créer une application et monter le NAS

Une fois les PVC créés, vous pouvez monter les PV qui leur sont liés sur vos applications. Dans cette section, vous allez créer une application dans chacun des deux namespaces et monter le PVC correspondant. Cette configuration permet aux deux applications de partager le sous-répertoire NAS défini dans la StorageClass.

kubectl

  1. Créez deux fichiers nommés nginx-ns1.yaml et nginx-ns2.yaml avec le contenu suivant.

    Les configurations des deux applications sont presque identiques. Chacune se lie au PVC de son namespace respectif.
    • nginx-ns1.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test
        namespace: ns1   
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  mountPath: "/data"
            volumes:
              - name: nas-pvc
                persistentVolumeClaim:
                  claimName: nas-csi-pvc
    • nginx-ns2.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test
        namespace: ns2   
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  mountPath: "/data"
            volumes:
              - name: nas-pvc
                persistentVolumeClaim:
                  claimName: nas-csi-pvc
  2. Créez les deux Deployments.

    kubectl create -f nginx-ns1.yaml -f nginx-ns2.yaml
  3. Vérifiez l'état des Pods.

    kubectl get pod -A -l app=nginx

    Résultat attendu :

    NAMESPACE   NAME                         READY   STATUS    RESTARTS   AGE
    ns1         nas-test-b75d5b6bc-*****     1/1     Running   0          2m19s
    ns2         nas-test-b75d5b6bc-*****     1/1     Running   0          2m11s
  4. Vérifiez la configuration détaillée d'un Pod pour confirmer le montage du PVC.

    Remplacez <namespace-name> et <pod-name> par le namespace et le nom du Pod réels.
    kubectl describe pod -n <namespace-name> <pod-name> | grep "ClaimName:"

    Dans le résultat attendu, les deux Pods montent respectivement ns1/nas-csi-pvc et ns2/nas-csi-pvc.

Console

  1. Sur la page ACK Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Workloads > Deployments.

  2. Dans le namespace ns1, créez un Deployment et montez le PVC correspondant.

    1. Sélectionnez Namespace dans la liste déroulante Namespace et cliquez sur Create from Image.

    2. Suivez les instructions à l'écran pour créer l'application.

      Les paramètres clés sont décrits ci-dessous. Laissez les autres paramètres avec leurs valeurs par défaut. Pour plus d'informations, consultez Créer une charge de travail sans état (Deployment).

      Section

      Paramètre

      Description

      Basic Information

      Replicas:

      Le nombre de réplicas du Deployment.

      Container

      Image

      L'adresse de l'image utilisée pour déployer l'application.

      Required Resources

      Les ressources vCPU et mémoire requises.

      Volumes

      Cliquez sur Add PVC et configurez les paramètres.

      • Mount Source : sélectionnez le PVC que vous avez créé.

      • Container Path : saisissez le chemin au sein du conteneur où le système de fichiers NAS sera monté, par exemple /data.

  3. Suivez l'étape précédente pour créer un autre Deployment dans le namespace ns2 et monter le PVC correspondant.

    Revenez à la page Deployments. Dans les namespaces ns1 et ns2, vérifiez l'état de chaque Deployment pour confirmer que les Pods sont en cours d'exécution et ont monté les bons PVC.

Pour vérifier les résultats, consultez Vérifier le stockage partagé et persistant. ## Méthode 3 : Monter un volume en mode système de fichiers Le mode système de fichiers vous permet de créer et de gérer dynamiquement un système de fichiers NAS dédié ainsi qu'une cible de montage pour une application. Contrairement au mode sharepath, chaque PV créé en mode système de fichiers correspond à une instance distincte de système de fichiers NAS.

Chaque PV de type filesystem correspond à un système de fichiers NAS dédié et à une seule cible de montage.
  • Par défaut, lorsque vous supprimez un PV de type filesystem, le système de fichiers NAS et la cible de montage correspondants sont conservés. Pour supprimer automatiquement le système de fichiers NAS et la cible de montage lors de la suppression du PV, ajoutez les paramètres suivants à la StorageClass :

    • reclaimPolicy: Delete

    • parameters.deleteVolume: "true"

  • Lorsque vous utilisez un ACK dedicated cluster, accordez les autorisations nécessaires au composant csi-provisioner.

    Processus d'autorisation

    L'utilisation de volumes NAS de type filesystem implique la création et la suppression dynamiques de systèmes de fichiers NAS et de cibles de montage. Par conséquent, le composant csi-provisioner de votre ACK dedicated cluster requiert les autorisations correspondantes.

    Voici l'ensemble minimal d'autorisations requis pour la stratégie RAM.

    {
        "Action": [
            "nas:DescribeMountTargets",
            "nas:CreateMountTarget",
            "nas:DeleteFileSystem",
            "nas:DeleteMountTarget",
            "nas:CreateFileSystem"
        ],
        "Resource": [
            "*"
        ],
        "Effect": "Allow"
    }

    Vous pouvez accorder ces autorisations en utilisant l'une des méthodes suivantes :

    • Ajoutez les autorisations NAS précédentes à la stratégie personnalisée du master RAM role pour votre ACK dedicated cluster. Pour plus d'informations, consultez la rubrique Modifier le contenu et la description d'une stratégie personnalisée. Sur la page des détails du cluster, cliquez sur l'onglet Cluster Resources, repérez le Master RAM Role (par exemple KubernetesMasterRole-xxx) et attachez la stratégie à ce rôle.

    • Créez un utilisateur RAM, attachez la stratégie RAM précédente et générez une clé d'accès. Configurez ensuite la clé d'accès dans les variables env pour le csi-provisioner.

      env:
      - name: CSI_ENDPOINT
        value: unix://socketDir/csi.sock
      - name: ACCESS_KEY_ID
        value: ""
      - name: ACCESS_KEY_SECRET
        value: ""

1. Créer une StorageClass

Une StorageClass sert de modèle de provisionnement pour un volume dynamique. Elle définit la source et le comportement des ressources de stockage.

  1. Créez un fichier nommé alicloud-nas-fs.yaml avec le contenu suivant pour définir une StorageClass en mode système de fichiers :

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas-fs
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      volumeAs: filesystem
      fileSystemType: standard
      storageType: Performance
      regionId: cn-beijing
      zoneId: cn-beijing-e
      vpcId: "vpc-2ze2fxn6popm8c2mzm****"
      vSwitchId: "vsw-2zwdg25a2b4y5juy****"
      accessGroupName: DEFAULT_VPC_GROUP_NAME
      deleteVolume: "false"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain

    Paramètre

    Description

    mountOptions

    Les options de montage pour NAS, y compris la version du protocole NFS. Par défaut, les volumes sont montés via NFSv3. Vous pouvez spécifier une autre version avec une option telle que vers=4,0. Pour obtenir des informations sur les protocoles NFS pris en charge par les différents types de NAS, consultez la rubrique Protocoles NFS.

    parameters.volumeAs

    Définissez le type de montage sur filesystem.

    parameters.fileSystemType

    Le type de système de fichiers NAS. Valeurs possibles :

    • standard (par défaut) : NAS généraliste.

    • extreme : Extreme NAS.

    parameters.storageType

    La classe de stockage du système de fichiers NAS.

    • Valeurs valides pour le NAS généraliste :

      • Performance (par défaut) : Performance

      • Capacity : Capacité

    • Valeurs valides pour Extreme NAS :

      • standard (par défaut) : Standard

      • advance : Avancé

    parameters.regionId

    La région du système de fichiers NAS. Elle doit être identique à celle du cluster.

    parameters.zoneId

    La zone de disponibilité du système de fichiers NAS. Au sein d'un même VPC, NAS prend en charge les montages interzones.

    parameters.vpcId

    Le VPC pour la cible de montage du système de fichiers. Il doit s'agir du même VPC que celui du cluster.

    parameters.vSwitchId

    L'ID du vSwitch pour la cible de montage du système de fichiers.

    parameters.accessGroupName

    Le groupe d'accès de la cible de montage du système de fichiers NAS. La valeur par défaut est DEFAULT_VPC_GROUP_NAME.

    parameters.deleteVolume

    Indique si le PV, ainsi que le système de fichiers NAS et la cible de montage correspondants, doivent être supprimés lors de la suppression du PVC. Étant donné que NAS est un système de fichiers partagé, vous devez configurer à la fois deleteVolume et reclaimPolicy par mesure de sécurité.

    provisioner

    Le pilote. Définissez ce paramètre sur nasplugin.csi.alibabacloud.com lorsque vous utilisez le plug-in Alibaba Cloud NAS CSI.

    reclaimPolicy

    Le PV, le système de fichiers NAS correspondant et la cible de montage sont supprimés avec le PVC uniquement si la politique de récupération du PV est définie sur Delete et si le paramètre deleteVolume est défini sur true.

  2. Exécutez la commande suivante pour créer la StorageClass.

    kubectl create -f alicloud-nas-fs.yaml

2. Créer un PVC

  1. Créez un fichier nommé nas-pvc-fs.yaml avec le contenu suivant pour demander des ressources de stockage :

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: nas-csi-pvc-fs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: alicloud-nas-fs
      resources:
        requests:
          storage: 20Gi

    Les paramètres sont décrits ci-dessous :

    Paramètre

    Description

    accessModes

    Le mode d'accès. Valeurs possibles :

    • ReadWriteMany (par défaut) : Le volume peut être monté en lecture-écriture par plusieurs nœuds.

    • ReadWriteOnce : Le volume peut être monté en lecture-écriture par un seul nœud.

    • ReadOnlyMany : Le volume peut être monté en lecture seule par plusieurs nœuds.

    storage

    La capacité du volume NAS à créer.

    La capacité minimale pour Extreme NAS est de 100 Go. Si Extreme NAS est défini dans la StorageClass, la valeur de storage doit être ≥ 100 Go.

    storageClassName

    Le nom de la StorageClass demandée par cette revendication.

  2. Créez le PVC.

    kubectl create -f nas-pvc-fs.yaml

3. Créer l'application et monter le NAS

  1. Reportez-vous à l'exemple suivant pour créer le fichier nas-fs.yaml.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: deployment-nas-fs
      labels:
        app: nginx-test
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
            volumeMounts:
              - name: nas-pvc
                mountPath: "/data"
          volumes:
            - name: nas-pvc
              persistentVolumeClaim:
                claimName: nas-csi-pvc-fs
  2. Créez le Deployment.

    kubectl create -f nas-fs.yaml
  3. Vérifiez l'état du PVC.

    kubectl get pvc nas-csi-pvc-fs

    La sortie suivante indique que le PVC est correctement lié au PV :

    NAME             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      VOLUMEATTRIBUTESCLASS   AGE
    nas-csi-pvc-fs   Bound    nas-8338540d-34a1-4796-89cf-be2a7*******   20Gi       RWX            alicloud-nas-fs   <unset>                 13m
  4. Consultez l'ID du système de fichiers NAS nouvellement créé dans les détails du PV.

    Remplacez nas-8338540d-34a1-4796-89cf-be2a7******* par le nom réel du PV.
    kubectl describe pv nas-8338540d-34a1-4796-89cf-be2a7******* | grep "fileSystemId"

    La sortie affiche l'ID du système de fichiers NAS nouvellement créé. Vous pouvez consulter ce système de fichiers sur la page File System List de la console NAS.

Vérifier le stockage partagé et persistant

Après avoir déployé l'application avec succès, vous pouvez vérifier que le volume de stockage fonctionne comme prévu. Cette section utilise le mode subpath pour créer nas-test-1 et nas-test-2 à titre d'exemple de vérification.

Stockage partagé

Stockage persistant

Pour vérifier le stockage partagé, créez un fichier dans un Pod, puis consultez-le dans un autre.

  1. Répertoriez les Pods pour obtenir leurs noms.

    kubectl get pod | grep nas-test

    Sortie attendue :

    nas-test-1-b75d5b6bc-*****           1/1     Running   0          50s
        nas-test-2-b75d5b6bc-*****           1/1     Running   0          60s
  2. Créez un fichier dans l'un des Pods.

    Prenons l'exemple du Pod nommé nas-test-1-b75d5b6bc-* :

    kubectl exec nas-test-1-b75d5b6bc-***** -- touch /data/test.txt
  3. Vérifiez si le fichier existe dans l'autre Pod.

    Prenons l'exemple du Pod nommé nas-test-2-b75d5b6bc-*.

    kubectl exec nas-test-2-b75d5b6bc-***** -- ls /data

    Sortie attendue :

    test.txt

    La sortie affiche le nouveau fichier, confirmant que les données peuvent être partagées entre les Pods.

Pour vérifier le stockage persistant, redémarrez le Deployment et vérifiez si les données existent toujours dans le système de fichiers du nouveau Pod.

  1. Redémarrez le Deployment pour déclencher la recréation des Pods.

    kubectl rollout restart deploy nas-test-1
  2. Vérifiez les Pods et attendez que l'état du nouveau Pod passe à Running.

    kubectl get pod | grep nas-test

    Sortie attendue :

    nas-test-1-5bb845b795-*****           1/1     Running   0          115m
        nas-test-2-5b6bccb75d-*****           1/1     Running   0          103m
  3. Vérifiez si le fichier créé précédemment existe dans le nouveau Pod.

    Prenons l'exemple du Pod nommé nas-test-1-5bb845b795-*.

    kubectl exec nas-test-1-5bb845b795-***** -- ls /data

    Sortie attendue :

    test.txt

    La sortie affiche le fichier écrit précédemment, confirmant que les données sont persistantes.

Pour les environnements de production

  • Sécurité et protection des données

    • Utilisez la politique de récupération Retain : définissez la propriété reclaimPolicy de votre StorageClass sur Retain. Cela permet d'éviter toute perte de données en cas de suppression accidentelle d'un PVC.

    • Utilisez des groupes d'autorisation pour le contrôle d'accès : NAS utilise des groupes d'autorisation pour gérer l'accès réseau. Appliquez le principe du moindre privilège : ajoutez uniquement les adresses IP privées des nœuds du cluster ou leurs blocs CIDR vSwitch au groupe d'autorisation. Évitez les autorisations trop larges, telles que 0.0.0.0/0.

  • Optimisation des performances et des coûts

    • Sélectionnez un type de NAS approprié : reportez-vous à la rubrique Sélection du système de fichiers pour choisir un type de NAS répondant aux exigences d'IOPS et de débit de votre application.

    • Optimisez les options de montage (mountOptions) : ajustez les paramètres de montage NFS en fonction des caractéristiques de votre charge de travail. Par exemple, l'utilisation de versions de protocole telles que vers=4.0 ou vers=4.1 peut améliorer les performances et les capacités de verrouillage de fichiers dans certains scénarios. Pour les charges de travail impliquant des E/S de fichiers à grande échelle, testez différentes valeurs de rsize et de wsize afin d'optimiser le débit en lecture et en écriture.

  • Exploitation et fiabilité

    • Configurez des contrôles d'intégrité : configurez une sonde de vivacité (liveness probe) pour les pods de votre application afin de vérifier que le point de montage est sain. Si un point de montage ne répond plus, ACK redémarre automatiquement le pod, ce qui déclenche un remontage du volume de stockage.

    • Configurez la surveillance et les alertes : utilisez la surveillance du stockage des conteneurs pour configurer des alertes permettant de détecter rapidement les problèmes de volume de stockage ou les goulots d'étranglement liés aux performances.

Libération des ressources

Afin d'éviter des frais imprévus, libérez les ressources associées dans l'ordre suivant lorsque le volume de stockage NAS n'est plus nécessaire.

  1. Supprimez la charge de travail

    • Action : Supprimez toutes les charges de travail (telles que les Deployments et les StatefulSets) qui utilisent le volume de stockage NAS. Cela empêche les Pods d'application de monter, de lire ou d'écrire sur le volume.

    • Exemple de commande : kubectl delete deployment <your-deployment-name>

  2. Supprimez le PVC

    • Action : Supprimez le PVC associé à la charge de travail. Après la suppression du PVC, le comportement du PV lié et du backend NAS dépend de la reclaimPolicy définie dans la StorageClass correspondante.

      • Mode Subpath

        • Si la reclaimPolicy est définie sur Retain : Après la suppression du PVC, son PV lié passe à l'état Released. L'objet PV ainsi que le sous-répertoire correspondant et les données sur le backend NAS sont conservés et doivent être supprimés manuellement.

        • Si la reclaimPolicy est définie sur Delete : Après la suppression du PVC, son PV lié est automatiquement supprimé. La gestion du sous-répertoire NAS backend dépend du paramètre archiveOnDelete :

          • Si archiveOnDelete est défini sur "true" : Les données backend ne sont pas supprimées, mais sont renommées et archivées sous la forme archived-{pvName}.{timestamp}.

          • Si archiveOnDelete est défini sur "false" : Le sous-répertoire correspondant au PV sur le backend NAS et toutes ses données sont définitivement supprimés. Agissez avec prudence.

        • Dans un cluster ACK Serverless, en raison des restrictions d'autorisations, même si reclaimPolicy: Delete est configuré, le répertoire NAS backend et les données ne sont ni supprimés ni archivés. Seul l'objet PV est supprimé.
      • Mode Sharepath

        Ce mode prend uniquement en charge une reclaimPolicy définie sur Retain. Après la suppression du PVC, son PV lié passe à l'état Released. L'objet PV, le répertoire partagé backend et toutes les données sont conservés.

      • Mode Filesystem

        • Si la reclaimPolicy est définie sur Retain : Après la suppression du PVC, son PV lié passe à l'état Released. L'objet PV, le système de fichiers NAS backend créé dynamiquement et le point de montage sont tous conservés.

        • Si la reclaimPolicy est définie sur Delete : Après la suppression du PVC, son PV lié est automatiquement supprimé. La gestion du système de fichiers NAS backend dépend du paramètre deleteVolume :

          • Si deleteVolume est défini sur "false" : Le système de fichiers NAS backend et le point de montage sont conservés et doivent être supprimés manuellement.

          • Si deleteVolume est défini sur "true" : Le système de fichiers NAS backend et le point de montage sont automatiquement supprimés. Agissez avec prudence.

    • Exemple de commande : kubectl delete pvc <your-pvc-name>

  3. Supprimez le PV

    • Action : Vous pouvez supprimer un PV lorsqu'il se trouve dans l'état Available ou Released. Cette action supprime uniquement la définition du PV du cluster Kubernetes, mais ne supprime aucune donnée du système de fichiers NAS backend.

    • Exemple de commande : kubectl delete pv <your-pv-name>

  4. Supprimez le système de fichiers NAS backend (facultatif)

    • Modes subpath et sharepath : Reportez-vous à la rubrique Supprimer un système de fichiers. Cette opération supprime définitivement toutes les données sur le NAS et celles-ci ne peuvent pas être récupérées. Agissez avec prudence. Avant d'effectuer cette opération, vous devez confirmer que le NAS n'a aucune dépendance métier.

    • Mode filesystem : Si le système de fichiers NAS backend n'est pas automatiquement supprimé lors de la suppression d'un PVC, reportez-vous à la rubrique Supprimer un système de fichiers pour localiser et supprimer manuellement le système de fichiers correspondant.

Documents connexes