Este tema describe los métodos recomendados para montar sistemas de archivos de File Storage NAS (NAS) en clústeres de Container Service for Kubernetes (ACK). Puede montar sistemas de archivos NAS mediante el complemento de Container Storage Interface (CSI) o Container Network File System (CNFS).
Se recomienda montar un sistema de archivos NAS mediante uno de los siguientes métodos. Si monta un sistema de archivos NAS con otros métodos, el sistema podría presentar riesgos de estabilidad. El equipo técnico de NAS no puede estimar el impacto de estos riesgos. Usted es el único responsable de las pérdidas y consecuencias que puedan derivarse de dichos riesgos.
Complementos de almacenamiento de ACK
Alibaba Cloud ACK se integra profundamente con los servicios de almacenamiento de Alibaba Cloud mediante el complemento CSI y es totalmente compatible con los servicios de almacenamiento nativos de Kubernetes.
CNFS es un nuevo método de gestión de almacenamiento en contenedores desarrollado a partir del complemento CSI. CNFS es compatible con el método tradicional de almacenamiento CSI. Se recomienda utilizar CNFS para gestionar y acceder a volúmenes NAS cuando use ACK. Esto mejora significativamente el rendimiento y ofrece potentes capacidades de gestión y observability de E/S.
Si su clúster de contenedores es pequeño, se escala con poca frecuencia y se usa principalmente para pruebas, también puede usar el método HostPath para acceder a sistemas de archivos NAS. Para más información, consulte HostPath volumes.
Si utiliza un clúster de Kubernetes autogestionado con muchos nodos y escalado automático, se recomienda usar el complemento CSI para acceder a sistemas de archivos NAS. Para un clúster con escala estable, se recomienda utilizar los volúmenes integrados de Kubernetes. Para más información, consulte Mount a NAS file system on a self-managed Kubernetes cluster.
Tenga en cuenta los siguientes puntos:
Para montar un sistema de archivos en un nuevo clúster de ACK, utilice CNFS.
Para montar un sistema de archivos en un clúster de ACK existente, migre el clúster a CNFS.
Para montar un sistema de archivos en un clúster de Kubernetes existente, use un complemento de almacenamiento ya instalado.
Para más información sobre el complemento CSI, consulte Storage.
Uso de CNFS para montar sistemas de archivos (recomendado)
Si utiliza un sistema de archivos NAS compartido tradicional en un contenedor, pueden surgir los siguientes problemas: alta latencia en la lectura y escritura de archivos pequeños, falta de control preciso de cuotas de capacidad, imposibilidad de recuperar archivos eliminados por error y ausencia de métricas observables en los volúmenes de almacenamiento. CNFS permite abstraer los sistemas de archivos NAS como objetos personalizados de Kubernetes mediante el recurso CustomResourceDefinition (CRD). Puede usar estos objetos para crear, eliminar, describir, montar, supervisar y escalar sistemas de archivos NAS. Además, puede usar el cliente de aceleración de NAS en el complemento CSI para acelerar significativamente el acceso a NAS. CNFS es gratuito. Tras habilitar el cliente de aceleración, CNFS consume entre 50 y 100 MB de memoria en el pod.
|
Métrica |
Escenario de prueba de referencia1 |
Antes de usar el cliente de aceleración CNFS |
Después de usar el cliente de aceleración CNFS |
|
Rendimiento de lectura y escritura de metadatos |
Tiempo para recorrer un millón de directorios |
18 minutos |
< 60 segundos |
|
Tiempo para crear un archivo de 4 KB |
3,000 microsegundos |
< 200 microsegundos |
|
|
Tiempo para leer un archivo de 4 KB por segunda vez |
400 microsegundos |
< 100 microsegundos |
|
|
Rendimiento de lectura y escritura |
Rendimiento de lectura y escritura de un solo nodo2 |
200 a 500 MB/s |
> 800 MB/s |
|
Rendimiento general en escenarios integrales |
Tiempo para extraer 5,000 imágenes de 150 KB cada una |
52 segundos |
Aproximadamente 15 segundos |
|
Tiempo para crear un proyecto de Redis |
27 segundos |
Aproximadamente 21 segundos |
Los valores de la tabla anterior son únicamente teóricos (de referencia). Los valores reales dependen de su entorno operativo.
Nota 1: El tipo de instancia de Elastic Compute Service (ECS) utilizada para ejecutar la prueba de referencia es ecs.hfg6.4xlarge. Los datos de referencia pueden variar según el entorno.
Nota 2: El ancho de banda de la instancia ECS y el tipo de sistema de archivos NAS afectan el rendimiento de lectura y escritura del nodo.
Si utiliza CNFS para acceder a sistemas de archivos NAS, consulte Use CNFS to manage NAS file systems (recommended).
Si utiliza contenedores para computación científica (como entrenamiento de IA y computación biológica), para construir plataformas de integración continua o entrega continua (CI/CD), o para prestar servicios web, habilite la función de caché de lectura distribuida de CNFS. Para más información, consulte Enable the distributed caching feature of the CNFS client.
Para más información sobre CNFS, consulte Manage NAS file systems using CNFS.
Uso del complemento CSI para montar sistemas de archivos
Para obtener información sobre cómo montar sistemas de archivos mediante el complemento CSI, consulte NAS volumes.
El complemento CSI admite los siguientes métodos:
Montar sistemas de archivos como volúmenes persistentes (PV) estáticos. En este caso, debe crear los PV manualmente. Para más información, consulte Mount a static persistent NAS volume using NFS.
Montar sistemas de archivos como PV dinámicos. En este caso, los PV se crean automáticamente mediante StorageClass. Para más información, consulte Mount a dynamically provisioned NAS volume using NFS.
Para más información sobre cómo gestionar el complemento CSI, consulte los siguientes temas:
Para consultar las preguntas frecuentes relacionadas, véase NAS volume FAQ.