Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Utiliser un volume persistant NAS statique

Dernière mise à jour :Aug 11, 2026

Montez un système de fichiers Apsara File Storage NAS (NAS) sur un cluster Container Service for Kubernetes (ACK) à l'aide du plug-in FlexVolume. Cette rubrique décrit les méthodes basées sur YAML et sur la console pour créer un volume persistant (PV), puis vous guide dans la création d'une revendication de volume persistant (PVC) et le déploiement d'un pod utilisant le stockage NAS.

Prérequis

Avant de commencer, assurez-vous d'avoir :

Fonctionnement

Le montage d'un système de fichiers NAS sur un cluster ACK s'effectue en trois étapes :

  1. Créez un PV — En tant qu'administrateur de cluster, définissez un PV adossé au système de fichiers NAS. Le PV n'est pas encore associé à une charge de travail.

  2. Créez une PVC — Réclamez le PV. Kubernetes lie la PVC à un PV correspondant en fonction de la classe de stockage, du mode d'accès et de la capacité.

  3. Déployez un pod — Référencez la PVC dans votre Deployment. Le système de fichiers NAS est monté dans le conteneur au chemin spécifié.

Une fois FlexVolume installé dans le cluster, il gère les opérations de montage et de démontage à l'aide du protocole NFS.

Étape 1 : Créer un PV

Créez un PV à l'aide d'un fichier YAML ou de la console ACK.

Option 1 : Fichier YAML

Enregistrez le code suivant sous le nom nas-pv.yaml, puis exécutez kubectl apply -f nas-pv.yaml.

Remplacez <mount-target-domain> par le nom de domaine de votre cible de montage NAS, et <subdirectory> par le chemin d'accès dans le système de fichiers NAS à monter (par exemple, /k8s).

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nas
spec:
  capacity:
    storage: 5Gi
  storageClassName: nas
  accessModes:
    - ReadWriteMany
  flexVolume:
    driver: "alicloud/nas"
    options:
      server: "<mount-target-domain>"
      path: "<subdirectory>"
      vers: "3"
      options: "nolock,tcp,noresvport"

Vérifiez que le PV a été créé et qu'il est dans l'état Available :

kubectl get pv pv-nas

Résultat attendu :

NAME     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   AGE
pv-nas   5Gi        RWX            Retain           Available           nas            5s

Option 2 : Console ACK

  1. Connectez-vous à la console ACK.

  2. Dans le volet de navigation de gauche, cliquez sur Clusters.

  3. Sur la page Clusters, cliquez sur le nom du cluster cible ou sur Details dans la colonne Actions.

  4. Dans le volet de navigation de gauche, choisissez Volumes > Persistent Volumes.

  5. Cliquez sur Create dans le coin supérieur droit.

  6. Dans la boîte de dialogue Create PV, configurez les paramètres décrits dans le tableau suivant.

Parameter Description Required Default
PV type Sélectionnez NAS. Oui
Volume name Un nom unique pour le PV au sein du cluster. Par exemple : pv-nas. Oui
Volume plug-in Sélectionnez Flexvolume. Oui
Capacity La capacité du PV. Elle ne peut pas dépasser la capacité du système de fichiers NAS. Oui
Access mode Le mode d'accès. Les systèmes de fichiers NAS prennent en charge ReadWriteMany, ce qui permet à plusieurs nœuds de lire et d'écrire simultanément. Oui ReadWriteMany
Mount target domain name Le nom de domaine de la cible de montage NAS. Consultez Gérer les cibles de montage. Oui
Subdirectory Un sous-répertoire dans le système de fichiers NAS, commençant par /. Si le sous-répertoire n'existe pas, il est créé automatiquement. Laissez vide pour monter le répertoire racine. Pour les systèmes de fichiers Extreme NAS, le chemin doit commencer par /share. Non Répertoire racine
Permissions Droits d'accès sur le répertoire monté, tels que 755, 644 ou 777. Applicable uniquement lors du montage d'un sous-répertoire. Si le répertoire contient un grand nombre de fichiers, évitez de définir ce paramètre pour empêcher la commande chmod de s'exécuter pendant une période prolongée. Non Permissions d'origine
chmod (Change Mode) Modalité d'application des modifications d'autorisations : Non-recursive (affecte uniquement le répertoire monté) ou Recursive (affecte le répertoire monté ainsi que tous les sous-répertoires et fichiers). Pour les versions de FlexVolume antérieures à V1.14.6.15-8d3b7e7-aliyun, les autorisations sont toujours appliquées de manière récursive. Pour la version V1.14.6.15-8d3b7e7-aliyun et les versions ultérieures, utilisez ce paramètre pour contrôler la portée. Non
Version La version du protocole NFS. NFSv3 est recommandé. Les systèmes de fichiers Extreme NAS prennent en charge uniquement NFSv3. Non NFSv3
Labels Libellés à ajouter au PV. Non
  1. Cliquez sur Create.

Avertissement

Si vous sélectionnez Recursive pour un répertoire monté contenant un grand nombre de fichiers, la commande chmod peut s'exécuter pendant une durée prolongée, ce qui entraîne l'échec de l'opération de montage ou de démontage.

Étape 2 : Créer une PVC

Enregistrez le code suivant sous le nom nas-pvc.yaml, puis exécutez kubectl apply -f nas-pvc.yaml.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-nas
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nas
  resources:
    requests:
      storage: 5Gi

Kubernetes lie la PVC au PV pv-nas en fonction de la correspondance entre la classe de stockage, le mode d'accès et la capacité. Vérifiez la liaison :

kubectl get pvc pvc-nas

Résultat attendu :

NAME      STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-nas   Bound    pv-nas   5Gi        RWX            nas            5s

Un STATUS indiquant Bound confirme que la PVC est liée au PV.

Étape 3 : Déployer un pod

Enregistrez le code suivant sous le nom nas-pod.yaml, puis exécutez kubectl apply -f nas-pod.yaml.

Le système de fichiers NAS est monté sur /data à l'intérieur du conteneur.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nas-static
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        volumeMounts:
          - name: pvc-nas
            mountPath: /data
      volumes:
        - name: pvc-nas
          persistentVolumeClaim:
            claimName: pvc-nas

Vérifiez que le pod est en cours d'exécution et que le volume est monté :

kubectl get pods -l app=nginx

Résultat attendu :

NAME                          READY   STATUS    RESTARTS   AGE
nas-static-xxxxxxxxx-xxxxx    1/1     Running   0          30s

Pour confirmer que le système de fichiers NAS est monté à l'intérieur du conteneur, exécutez :

kubectl exec -it <pod-name> -- df -h | grep /data

La sortie affiche le système de fichiers NAS monté sur /data.