Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Uso de un volumen persistente NAS estático

Última actualización: Sep 04, 2026

Monte un sistema de archivos Apsara File Storage NAS (NAS) en un clúster de Container Service for Kubernetes (ACK) mediante el complemento FlexVolume. Este tema describe los métodos basados en YAML y en la consola para crear un volumen persistente (PV). Posteriormente, se explica cómo crear una solicitud de volumen persistente (PVC) y desplegar un pod que utilice el almacenamiento respaldado por NAS.

Requisitos previos

Antes de empezar, asegúrese de cumplir con lo siguiente:

Funcionamiento

El montaje de un sistema de archivos NAS en un clúster de ACK consta de tres pasos:

  1. Crear un PV: como administrador del clúster, defina un PV respaldado por el sistema de archivos NAS. El PV aún no está asociado a ninguna carga de trabajo.

  2. Crear una PVC: solicite el PV. Kubernetes vincula la PVC a un PV compatible según la clase de almacenamiento, el modo de acceso y la capacidad.

  3. Desplegar un pod: haga referencia a la PVC en su Deployment. El sistema de archivos NAS se monta en el contenedor en la ruta especificada.

Una vez instalado FlexVolume en el clúster, este gestiona las operaciones de montaje y desmontaje mediante el protocolo NFS.

Paso 1: Crear un PV

Cree un PV mediante un archivo YAML o la consola de ACK.

Opción 1: Archivo YAML

Guarde el siguiente contenido como nas-pv.yaml y ejecute kubectl apply -f nas-pv.yaml.

Reemplace <mount-target-domain> con el nombre de dominio de su destino de montaje de NAS, y <subdirectory> con la ruta del sistema de archivos NAS que desea montar (por ejemplo, /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"

Compruebe que el PV se creó y que se encuentra en estado Available:

kubectl get pv pv-nas

Salida esperada:

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

Opción 2: Consola de ACK

  1. Inicie sesión en la consola de ACK.

  2. En el panel de navegación izquierdo, haga clic en Clusters.

  3. En la página Clusters, haga clic en el nombre del clúster deseado o en Details dentro de la columna Actions.

  4. En el panel de navegación izquierdo, seleccione Volumes > Persistent Volumes.

  5. Haga clic en Create en la esquina superior derecha.

  6. En el cuadro de diálogo Create PV, configure los parámetros descritos en la siguiente tabla.

Parámetro

Descripción

Obligatorio

Valor predeterminado

PV type

Seleccione NAS.

Sí

—

Volume name

Nombre único para el PV dentro del clúster. Por ejemplo: pv-nas.

Sí

—

Volume plug-in

Seleccione Flexvolume.

Sí

—

Capacity

Capacidad del PV. No puede superar la capacidad del sistema de archivos NAS.

Sí

—

Access mode

Modo de acceso. Los sistemas de archivos NAS admiten ReadWriteMany, lo cual permite que varios nodos lean y escriban simultáneamente.

Sí

ReadWriteMany

Mount target domain name

Nombre de dominio del destino de montaje de NAS. Consulte Gestión de destinos de montaje.

Sí

—

Subdirectory

Subdirectorio dentro del sistema de archivos NAS, que debe comenzar con /. Si el subdirectorio no existe, se crea automáticamente. Déjelo en blanco para montar el directorio raíz. En sistemas de archivos Extreme NAS, la ruta debe comenzar con /share.

No

Directorio raíz

Permissions

Permisos de acceso sobre el directorio montado, como 755, 644 o 777. Aplica únicamente al montar un subdirectorio. Si el directorio contiene una gran cantidad de archivos, evite configurar este parámetro para impedir que el comando chmod se ejecute durante un periodo prolongado.

No

Permisos originales

chmod (Change Mode)

Forma en que se aplican los cambios de permisos: Non-recursive (afecta solo al directorio montado) o Recursive (afecta al directorio montado y a todos sus subdirectorios y archivos). En versiones de FlexVolume anteriores a V1.14.6.15-8d3b7e7-aliyun, los permisos siempre se aplican de forma recursiva. A partir de la versión V1.14.6.15-8d3b7e7-aliyun, utilice este parámetro para controlar el alcance.

No

—

Version

Versión del protocolo NFS. Se recomienda NFSv3. Los sistemas de archivos Extreme NAS solo admiten NFSv3.

No

NFSv3

Labels

Etiquetas para agregar al PV.

No

—

  1. Haga clic en Create.

Aviso

Si selecciona Recursive para un directorio montado que contiene una gran cantidad de archivos, el comando chmod podría ejecutarse durante un tiempo prolongado y provocar un error en la operación de montaje o desmontaje.

Paso 2: Crear una PVC

Guarde el siguiente contenido como nas-pvc.yaml y ejecute kubectl apply -f nas-pvc.yaml.

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

Kubernetes vincula la PVC al PV pv-nas cuando coinciden la clase de almacenamiento, el modo de acceso y la capacidad. Compruebe la vinculación:

kubectl get pvc pvc-nas

Salida esperada:

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

Un valor STATUS igual a Bound confirma que la PVC está vinculada al PV.

Paso 3: Desplegar un pod

Guarde el siguiente contenido como nas-pod.yaml y ejecute kubectl apply -f nas-pod.yaml.

El sistema de archivos NAS se monta en /data dentro del contenedor.

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

Verifique que el pod se esté ejecutando y que el volumen esté montado:

kubectl get pods -l app=nginx

Salida esperada:

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

Para confirmar que el sistema de archivos NAS está montado dentro del contenedor, ejecute:

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

La salida muestra el sistema de archivos NAS montado en /data.