Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Monter un volume NAS provisionné de manière statique

Dernière mise à jour :Oct 09, 2026

Cette rubrique explique comment monter un volume Alibaba Cloud Network Attached Storage (NAS) sur les pods d'un cluster Container Service for Kubernetes (ACK) à l'aide du provisionnement statique. Le provisionnement statique permet de connecter des pods à un système de fichiers NAS existant pour assurer un stockage persistant et partagé entre plusieurs pods simultanément.

Prérequis

Cas d'utilisation

  • Applications nécessitant des E/S disque élevées.

  • Partage de fichiers entre hôtes, par exemple en tant que serveur de fichiers.

Remarques

  • Lors de l'utilisation d'un système de fichiers Extreme NAS, le paramètre path configuré pour le PersistentVolume (PV) doit utiliser /share comme répertoire parent. Par exemple, le sous-répertoire du système de fichiers NAS monté par un pod peut être défini sur /share/path1.

  • NAS prend en charge le montage simultané par plusieurs pods. Dans ce cas, plusieurs pods peuvent modifier les mêmes données simultanément ; l'application doit donc gérer elle-même la synchronisation des données.

    Remarque

    Le répertoire / du stockage NAS ne permet pas de modifier les autorisations, la propriété ou le groupe.

  • Si vous configurez le paramètre securityContext.fsgroup dans un modèle d'application, Kubelet exécutera des opérations chmod ou chown après le montage du PersistentVolume (PV), ce qui augmentera le temps de montage.

    Remarque

    Si le paramètre securityContext.fsgroup a été configuré et que vous souhaitez réduire le temps de montage, consultez la section FAQ sur les volumes NAS.

Monter un volume NAS à l'aide de la console

Étape 1 : Créer un PV

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

  2. Sur la page Cluster List, cliquez sur le nom du cluster cible ou sur Details dans la colonne Actions.

  3. Dans le volet de navigation de gauche de la page de gestion du cluster, accédez à Storage > Persistent Volume.

  4. Sur la page Persistent Volumes, cliquez sur Create en haut à droite.

  5. Dans la boîte de dialogue Create PV, configurez les paramètres.

    Paramètre

    Remarque

    PV Type

    Dans cet exemple, NAS est sélectionné.

    Name

    Nom du PersistentVolume (PV) à créer. Le nom du PV doit être unique au sein du cluster. Dans cet exemple, le nom est pv-nas.

    Capacity

    Capacité du PersistentVolume (PV) à créer. Notez que le système de fichiers NAS lui-même n'impose pas de limites d'utilisation. Il ne s'agit pas d'un quota sur le système de fichiers NAS, mais d'une déclaration de capacité pour le PV en cours de création.

    Access Mode

    Sélectionnez ReadWriteMany et ReadWriteOnce. La valeur par défaut est ReadWriteMany.

    Mount Target Domain Name:

    Vous pouvez définir l'adresse de montage du cluster au niveau du point de montage NAS en utilisant soit Select Mount Target, soit Custom.

    Advanced Options (Optional)

    Mount Path

    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 paramètre path doit commencer par /share, par exemple /share/data.

    Reclaim Policy

    Retain (par défaut) : lorsque le PVC est supprimé, le PV et les fichiers NAS ne sont pas supprimés. Vous devez les supprimer manuellement.

    Mount Options

    Options de montage pour NAS, y compris la version du protocole NFS. Par défaut, les volumes sont montés à l'aide de NFSv3. Vous pouvez spécifier une version différente 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 section Protocoles NFS.

    Labels

    Ajoutez des libellés à ce PersistentVolume (PV).

  6. Une fois les paramètres configurés, cliquez sur Create.

Étape 2 : Créer un PVC

  1. Dans le volet de navigation de gauche de la page de gestion du cluster, accédez à Storage > PVCs.

  2. Sur la page Persistent Volume Claims, cliquez sur Create en haut à droite.

  3. Dans la boîte de dialogue Create PVC qui s'affiche, renseignez les paramètres.

    Paramètre

    Remarque

    PVC Type

    Dans cet exemple, NAS est sélectionné.

    Name

    Le nom du PersistentVolumeClaim (PVC) à créer doit être unique au sein du cluster.

    Allocation Mode

    Sélectionnez un PersistentVolume (PV) existant.

    Remarque

    Si aucun PV n'a été créé, vous pouvez définir le paramètre Allocation Mode sur Create PV pour configurer les paramètres de création d'un PV. Pour plus d'informations, consultez la section Créer un PV.

    Existing Volumes

    Cliquez sur Select PV, puis dans la colonne Actions à droite du PV cible, cliquez sur Select Node pour sélectionner le PV.

    Capacity

    Capacité du PersistentVolume (PV) à créer.

    Remarque

    La capacité du PersistentVolumeClaim (PVC) à créer ne peut pas dépasser la capacité du PersistentVolume (PV) à monter.

  4. Cliquez sur Create.

    Une fois le PersistentVolumeClaim (PVC) créé, vous pouvez le voir dans la liste ; il est déjà lié au PersistentVolume (PV) correspondant.

Étape 3 : Créer une application

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

  2. Sur la page Deployments, cliquez sur Create from Image et configurez les paramètres de l'application.

    Le tableau suivant décrit les principaux paramètres. Vous pouvez conserver les valeurs par défaut pour les autres paramètres. Pour plus d'informations, consultez la section Créer une charge de travail sans état (Deployment).

    Catégorie

    Paramètre

    Description

    Basic Information

    Application Name

    Nom du Deployment.

    Replicas:

    Nombre de répliques pour le Deployment.

    Cette configuration vous permet de vérifier la fonctionnalité de stockage partagé de NAS.

    Container

    Image Name

    Adresse de l'image de l'application.

    Required Resources

    Ressources vCPU et mémoire requises.

    Volume

    Cliquez sur Add PVC et configurez les paramètres.

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

    • Container Path : chemin au sein du conteneur pour monter le système de fichiers NAS, par exemple /data.

    Une fois le déploiement terminé, accédez à la page Deployments et cliquez sur le nom de l'application. Sous l'onglet Pods, vérifiez que les pods sont à l'état Running.

Monter un volume NAS à l'aide de kubectl

  1. Exécutez la commande suivante pour créer un PV statique.

    kubectl create -f pv-nas.yaml

    Voici un exemple de fichier YAML pour la création d'un PV statique.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv-nas
      labels:
        alicloud-pvname: pv-nas
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadWriteMany
      csi:
        driver: nasplugin.csi.alibabacloud.com
        volumeHandle: pv-nas
        volumeAttributes:
          server: "2564f4****-ysu87.cn-shenzhen.nas.aliyuncs.com"
          path: "/csi"
      mountOptions:
      - nolock,tcp,noresvport
      - vers=3

    Paramètre

    Remarque

    name

    Nom du PV.

    labels

    Définit les libellés du PV.

    storage

    Capacité disponible de NAS.

    accessModes

    Configure le mode d'accès.

    driver

    Type de pilote. Dans cet exemple, la valeur est nasplugin.csi.alibabacloud.com, indiquant que le plugin CSI Alibaba Cloud NAS est utilisé.

    volumeHandle

    Configure un identifiant unique pour le PV. Si plusieurs PV sont utilisés simultanément, cette valeur doit être différente pour chaque PV.

    server

    Point de montage NAS.

    path

    Sous-répertoire de montage. Pour Extreme NAS, /share doit être utilisé comme répertoire parent.

    vers

    Version du protocole NFS pour le montage du PersistentVolume (PV) NAS. La version 3 est recommandée. Extreme NAS ne prend en charge que la version 3.

  2. Exécutez la commande suivante pour créer un PVC statique.

    Créez un PersistentVolumeClaim (PVC) NAS et utilisez selector pour filtrer les PV, en configurant précisément la liaison entre le PVC et le PV.

    kubectl create -f pvc-nas.yaml

    Voici un exemple de fichier YAML pour la création d'un PVC statique.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-nas
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 5Gi
      selector:
        matchLabels:
          alicloud-pvname: pv-nas

    Paramètre

    Remarque

    name

    Nom du PVC.

    accessModes

    Configure le mode d'accès.

    storage

    Déclare l'utilisation de l'application, qui ne peut pas dépasser la capacité totale du PersistentVolume (PV).

    matchLabels

    Saisissez le libellé du PV à associer au PV.

  3. Exécutez la commande suivante pour créer une application nommée nas-static et monter le PVC.

    kubectl create -f nas.yaml

    Voici un exemple de fichier nas.yaml pour la création de l'application nas-static.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nas-static
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-nas
                mountPath: "/data"
          volumes:
            - name: pvc-nas
              persistentVolumeClaim:
                claimName: pvc-nas

    Paramètre

    Remarque

    mountPath

    Chemin de montage de NAS dans le conteneur.

    claimName

    Nom du PVC, utilisé pour lier le PVC.

  4. Exécutez la commande suivante pour afficher les informations des pods.

    kubectl get pod

    Résultat attendu :

    NAME                          READY   STATUS    RESTARTS   AGE
    nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
    nas-static-c5bb4746c-4****    1/1     Running   0          32s

Vérifier le stockage persistant de NAS

  1. Affichez l'application déployée et les fichiers NAS.

    1. Exécutez la commande suivante pour afficher le nom de l'application déployée.

      kubectl get pod 

      Résultat attendu :

      NAME                          READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data de n'importe quelle application. Dans cet exemple, le pod nommé nas-static-5b5cdb85f6-n**** est utilisé.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

      Aucune sortie n'est renvoyée, ce qui indique qu'il n'y a aucun fichier sous le chemin /data.

  2. Exécutez la commande suivante pour créer un fichier nas sous le chemin /data du pod nommé nas-static-5b5cdb85f6-n****.

    kubectl exec nas-static-5b5cdb85f6-n**** -- touch /data/nas
  3. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data du pod nommé nas-static-5b5cdb85f6-n****.

    kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

    Résultat attendu :

    nas
  4. Exécutez la commande suivante pour supprimer le pod.

    kubectl delete pod nas-static-5b5cdb85f6-n****
  5. Simultanément, dans une autre fenêtre, exécutez la commande suivante pour visualiser le processus de suppression du pod et de recréation du pod par Kubernetes.

    kubectl get pod -w -l app=nginx
  6. Vérifiez si les fichiers créés dans NAS existent toujours après la suppression du pod.

    1. Exécutez la commande suivante pour afficher le nom du pod recréé par Kubernetes.

      kubectl get pod

      Résultat attendu :

      NAME                                READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data du pod nommé nas-static-5b5cdb85f6-n****.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

      Résultat attendu :

      nas

      Le fichier nas existe toujours, ce qui indique que les données NAS peuvent être stockées de manière persistante.

Vérifier le stockage partagé

  1. Affichez les pods où s'exécute l'application déployée ainsi que les fichiers NAS.

    1. Exécutez la commande suivante pour afficher les noms des pods où s'exécute l'application.

      kubectl get pod 

      Résultat attendu :

      NAME                          READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data des deux pods.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data
      kubectl exec nas-static-c5bb4746c-4**** -- ls /data
  2. Exécutez la commande suivante pour créer un fichier nas sous le chemin /data de n'importe quel pod.

     kubectl exec nas-static-5b5cdb85f6-n**** -- touch /data/nas
  3. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data des deux pods.

    1. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data du pod nommé nas-static-5b5cdb85f6-n****.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

      Résultat attendu :

      nas
    2. Exécutez la commande suivante pour afficher les fichiers situés sous le chemin /data du pod nommé nas-static-c5bb4746c-4****.

      kubectl exec nas-static-c5bb4746c-4**** -- ls /data

      Résultat attendu :

      nas

      Si le fichier créé sous le chemin /data de n'importe quel pod est présent sous le chemin /data des deux pods, cela indique que les deux pods partagent le même NAS.