Procedimientos recomendados para el almacenamiento y las copias de seguridad en Azure Kubernetes Service (AKS)
A medida que se crean y gestionan clústeres en Azure Kubernetes Service (AKS), las aplicaciones a menudo necesitan almacenamiento. Asegúrese de que comprende las necesidades de rendimiento de los pods y los métodos de acceso para poder seleccionar el mejor almacenamiento para la aplicación. El tamaño del nodo de AKS puede afectar a las opciones de almacenamiento. Debe planear la manera de realizar copias de seguridad y de probar el proceso de restauración del almacenamiento conectado.
Este artículo de procedimientos recomendados se centra en las consideraciones de almacenamiento de los operadores de clústeres. En este artículo, aprenderá lo siguiente:
- Los tipos de almacenamiento disponibles.
- El dimensionamiento correcto del tamaño de los nodos de AKS para el rendimiento del almacenamiento.
- Las diferencias entre el aprovisionamiento de volúmenes dinámico y estático.
- Las formas de realizar copias de seguridad y proteger los volúmenes de datos.
Guía de procedimientos recomendados
Conozca las necesidades de la aplicación para seleccionar el almacenamiento correcto. Utilice almacenamiento de alto rendimiento respaldado por SSD para cargas de trabajo de producción. Planee el almacenamiento basado en red cuando se necesiten varias conexiones simultáneas.
Las aplicaciones a menudo requieren diferentes tipos y velocidades de almacenamiento. Determine el tipo de almacenamiento más adecuado mediante las siguientes preguntas.
- ¿Necesitan las aplicaciones almacenamiento que se conecte a pods individuales?
- ¿Necesitan las aplicaciones almacenamiento compartido entre varios pods?
- El almacenamiento, ¿es para el acceso de solo lectura a los datos?
- ¿Se usará el almacenamiento para escribir grandes cantidades de datos estructurados?
En la tabla siguiente se describen los tipos de almacenamiento disponibles y sus capacidades:
Caso de uso | Complemento de volumen | Lectura/escritura una vez | Solo lectura varias veces | Lectura/escritura varias veces | Compatibilidad con contenedores de Windows Server |
---|---|---|---|---|---|
Configuración compartida | Azure Files | Sí | Sí | Sí | Sí |
Datos de la aplicación estructurados | Azure Disks | Sí | No | No | Sí |
Datos no estructurados, operaciones del sistema de archivos | BlobFuse | Sí | Sí | Sí | No |
AKS proporciona dos tipos principales de almacenamiento seguro para los volúmenes respaldados por Azure Disks o Azure Files. Ambos usan el cifrado Storage Service Encryption (SSE) predeterminado de Azure que cifra los datos en reposo. No se pueden cifrar los discos con Azure Disk Encryption en el nivel de nodo de AKS. Con recursos compartidos de Azure Files, no hay ningún límite en cuanto a cuántos se pueden montar en un nodo.
Tanto Azure Files como Azure Disks están disponibles en los niveles de rendimiento Estándar y Premium:
- Discos prémium
- Respaldados por discos de estado sólido (SSD) de alto rendimiento.
- Se recomiendan para las cargas de trabajo de producción.
- Discos estándar
- Respaldados por discos de rotación normales (HDD).
- Buenos para datos de archivo o a los que se accede con poca frecuencia.
Aunque el nivel de almacenamiento predeterminado para el controlador CSI de disco de Azure sea SSD Premium, la clase StorageClass personalizada podrá usar SSD Premium, SSD estándar o HDD estándar.
Comprender las necesidades de rendimiento de la aplicación y los patrones de acceso para elegir el nivel de almacenamiento adecuado. Para obtener más información sobre los tamaños y niveles de rendimiento de Managed Disks, consulte Introducción a Azure Managed Disks.
Defina el tipo de almacenamiento que desea mediante las clases de almacenamiento de Kubernetes. A continuación, se hacer referencia a la clase de almacenamiento en la especificación de almacenamiento o en el pod. Estas definiciones de clase de almacenamiento funcionan conjuntamente para crear el almacenamiento adecuado y conectarlo a los pods.
Para más información, consulte Clases de almacenamiento en AKS.
Guía de procedimientos recomendados
Cada tamaño de nodo tiene un límite máximo de discos. Los diferentes tamaños de nodos también proporcionan distintas cantidades de almacenamiento local y de ancho de banda de red. Realice el planeamiento adecuado a la demanda de la aplicación para implementar el tamaño correcto de nodo.
Los nodos de AKS se ejecutan tipos y tamaños de máquina virtual de Azure distintos. Cada tamaño de máquina virtual proporciona:
- Una cantidad diferente de recursos principales, como CPU y memoria.
- Un número máximo de discos que se pueden conectar.
El rendimiento del almacenamiento también varía en función de los tamaños de VM para el IOPS (operaciones de entrada/salida por segundo) máximo de discos conectados y locales.
Si las aplicaciones requieren Azure Disks como solución de almacenamiento, planee y elija un tamaño de máquina virtual para el nodo adecuado. Las funcionalidades de almacenamiento y las cantidades de CPU y memoria desempeñan un papel principal a la hora de decidir el tamaño de máquina virtual.
Por ejemplo, aunque Standard_B2ms y Standard_DS2_v2 incluyen una cantidad similar de recursos de CPU y memoria, su rendimiento de almacenamiento difiere:
Tamaño y tipo de nodo | vCPU | Memoria (GiB) | Discos de datos máx. | IOPS de disco máximo sin almacenamiento en caché | Rendimiento máximo sin almacenamiento en caché (MBps) |
---|---|---|---|---|---|
Standard_B2ms | 2 | 8 | 4 | 1\.920 | 22.5 |
Standard_DS2_v2 | 2 | 7 | 8 | 6\.400 | 96 |
En este ejemplo, Standard_DS2_v2 ofrece el doble de discos conectados y de tres a cuatro veces la cantidad de IOPS y rendimiento del disco. Si solo comparó los recursos de proceso principales y los costos, quizá haya elegido Standard_B2ms como tamaño de máquina virtual, que presenta limitaciones y menor rendimiento del almacenamiento.
Trabaje con su equipo de desarrollo de aplicaciones para comprender sus necesidades de rendimiento y de capacidad de almacenamiento. Elija el tamaño de VM adecuado para los nodos de AKS para cumplir o superar las necesidades de rendimiento. Establezca regularmente las aplicaciones para ajustar el tamaño de VM según sea necesario.
Nota
De manera predeterminada, el tamaño del disco y el rendimiento de los discos administrados se asignan según el número de SKU de máquina virtual y vCPU seleccionados. El ajuste de tamaño predeterminado del disco del sistema operativo solo se usa en nuevos clústeres o grupos de nodos cuando no se admiten discos del sistema operativo efímeros y no se especifica un tamaño de disco del sistema operativo predeterminado. Para obtener más información, consulte Dimensionamiento del disco del SO predeterminado.
Para más información sobre los tamaños de máquina virtual disponibles, consulte Tamaños de las máquinas virtuales Linux en Azure.
Guía de procedimientos recomendados
Para reducir la sobrecarga de administración y habilitar el escalado, evite crear y asignar volúmenes persistentes estáticamente. Use el aprovisionamiento dinámico. En las clases de almacenamiento, defina la directiva de reclamación adecuada para reducir los costos de almacenamiento innecesarios una vez que se eliminan los pods.
Para conectar el almacenamiento a los pods, use volúmenes persistentes. Los volúmenes persistentes se pueden crear manual o dinámicamente. La creación manual de volúmenes persistentes agrega sobrecarga de administración y limita su capacidad de escalado. En su lugar, aprovisione el volumen persistente de manera dinámica para simplificar la administración del almacenamiento y permitir que las aplicaciones crezcan y se escalen según sea necesario.
Una notificación de volumen persistente (PVC) le permite crear almacenamiento dinámicamente según sea necesario. Los discos subyacentes de Azure se crean a medida que los solicitan los pods. En la definición del pod se solicita la creación de un volumen y su conexión a una ruta de acceso de montaje designada.
Para los conceptos sobre cómo crear y usar volúmenes dinámicamente, consulte Notificaciones de volúmenes persistentes.
Para ver los volúmenes en acción, consulte cómo crear y usar dinámicamente un volumen persistente con Azure Disks o Azure Files.
Como parte de las definiciones de clase de almacenamiento, configure la directiva reclaimPolicy apropiada. Esta directiva reclaimPolicy controla el comportamiento del recurso de almacenamiento subyacente de Azure cuando se elimina el pod. El recurso de almacenamiento subyacente se puede eliminar o conservar para su uso con un pod en el futuro. Establezca la directiva reclaimPolicy en Retener o Eliminar.
Conozca las necesidades de su aplicación e implemente comprobaciones periódicas del almacenamiento que se conserva para minimizar la cantidad de espacio de almacenamiento que no se usa y se factura.
Para más información sobre las opciones de clase de almacenamiento, consulte las directivas de reclamación de almacenamiento.
Guía de procedimientos recomendados
Realice una copia de seguridad de los datos con una herramienta apropiada para su tipo de almacenamiento, como Velero o Azure Backup. Compruebe la integridad y seguridad de las copias de seguridad.
Cuando las aplicaciones almacenan y consumen datos que persisten en los discos o en los archivos, es necesario realizar copias de seguridad o instantáneas periódicamente de esos datos. La tecnología Azure Disks puede usar la tecnología integrada de instantánea. Las aplicaciones pueden necesitar vaciar las escrituras en el disco para la operación de instantánea. Velero puede realizar copias de seguridad de volúmenes persistentes junto con recursos y configuraciones de clústeres adicionales. Si no puede eliminar el estado de sus aplicaciones, realice una copia de seguridad de los datos de los volúmenes persistentes y pruebe regularmente las operaciones de restauración para verificar la integridad de los datos y los procesos necesarios.
Comprenda las limitaciones de los diferentes enfoques de las copias de seguridad de datos y si necesita dejar sus datos en reposo antes de la instantánea. Las copias de seguridad de datos no necesariamente le permiten restaurar el entorno de la aplicación de la implementación del clúster. Para más información acerca de estos escenarios, consulte Procedimientos recomendados para continuidad empresarial y recuperación ante desastres en AKS.
Este artículo se centra en el procedimiento recomendado de almacenamiento en AKS. Para más información sobre los conceptos básicos de almacenamiento en Kubernetes, consulte Opciones de almacenamiento de aplicaciones en Azure Kubernetes Service (AKS).
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: