Protección de datos de aplicaciones para cargas de trabajo de AKS en Azure NetApp Files

Azure NetApp Files
Azure Kubernetes Service (AKS)
Azure Virtual Network

En este artículo se describe una solución para administrar y llevar a cabo la administración de datos de aplicaciones con estado de las aplicaciones contenedorizadas, de sus recursos y de sus datos.

Architecture

Diagrama de arquitectura que muestra cómo implementar AKS con Astra Control Service cuando AKS y Azure NetApp Files están en redes virtuales independientes.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Se crea una cuenta de Azure NetApp Files en una suscripción de Azure y se definen los grupos de capacidad. Estos grupos se asignan a los niveles de servicio que necesita la implementación, como Standard, Premium y Ultra.

  2. Se implementan uno o varios clústeres de AKS. Los clústeres deben estar:

  3. Un usuario se suscribe a una cuenta de Astra Control Service. Astra Control Service usa una credencial de entidad de servicio que tiene acceso de colaborador para localizar los clústeres de AKS que se quieren administrar. Astra Control Service instala Astra Trident y crea StorageClasses asignadas a cada nivel de servicio cuando se agrega un clúster a Astra Control Service. Astra Trident crea PersistentVolumes (PV) de Kubernetes desde la aplicación PersistentVolumeClaims (PVC) mediante los objetos de StorageClass (SC) implementados automáticamente que se asignan a los grupos de capacidad de Azure NetApp Files. La asignación tiene en cuenta el nivel de servicio de los grupos de capacidad.

  4. El usuario instala las aplicaciones en los clústeres de AKS. Los métodos de implementación posibles incluyen gráficos de Helm, operadores y manifiestos de YAML. Las aplicaciones se pueden agrupar mediante etiquetas o espacios de nombres. Astra Trident aprovisiona volúmenes persistentes basados en PersistentVolumeClaims mediante los objetos de StorageClass.

  5. Astra Control Service administra las aplicaciones y sus recursos asociados, como pods, servicios, implementaciones y objetos PersistentVolumeClaim (PVC). También administra el PersistentVolume (PV) enlazado al PVC. Los usuarios definen aplicaciones mediante uno de estos métodos:

    • Las confinan en un espacio de nombres
    • Usan una etiqueta de Kubernetes personalizada para agrupar los recursos

Los usuarios también pueden agrupar objetos limitados a un clúster, como storageclasses, con (a) aplicaciones específicas para administrarlos juntos.

Astra Control Service orquesta instantáneas a un momento dado y copias de seguridad, directivas de copia de seguridad y clones activos instantáneos para proteger las cargas de trabajo de la aplicación. Para lograr esta protección, Astra Control Service hace lo siguiente:

  • Crea directivas de protección de Astra Control Service. Pueden crearse para instantáneas o copias de seguridad y especificar una programación y un destino de la copia de seguridad. Estas directivas permiten proteger automáticamente las aplicaciones según una programación predeterminada.

  • Toma instantáneas a petición de aplicaciones individuales o de un grupo de aplicaciones.

  • Realiza copias de seguridad instantáneas o clones de aplicaciones individuales o de un grupo de aplicaciones.

    Cuando se producen desastres o errores en la aplicación, las copias de seguridad y las instantáneas restauran el estado de las aplicaciones. Los usuarios pueden clonar y migrar las aplicaciones entre espacios de nombres y clústeres de AKS. Los clústeres pueden estar en la misma región o en otras distintas.

Componentes

  • AKS es un servicio de Kubernetes totalmente administrado que facilita la implementación y la administración de aplicaciones contenedorizadas. AKS ofrece tecnología Kubernetes sin servidor, una experiencia integrada de integración continua y entrega continua (CI/CD), así como seguridad y gobernanza de nivel empresarial.
  • Azure NetApp Files es un servicio de almacenamiento de Azure. Este servicio proporciona recursos compartidos de archivos de sistema de archivos de red (NFS) y bloque de mensajes de servidor (SMB) de nivel empresarial. Azure NetApp Files facilita la migración y la ejecución de aplicaciones complejas basadas en archivos sin cambios en el código. Este servicio es adecuado para los usuarios con volúmenes persistentes en entornos de Kubernetes.
  • Azure Virtual Network es el bloque de creación fundamental para las redes privadas en Azure. Los recursos de Azure, como las máquinas virtuales, pueden comunicarse de forma segura entre sí, con Internet y con redes locales mediante Virtual Network.
  • Astra Control Service es un servicio de administración de datos dependiente de la aplicación totalmente administrado. Astra Control Service le ayuda a administrar, proteger y mover cargas de trabajo de Kubernetes con abundantes datos en nubes públicas y entornos locales. Este servicio proporciona protección de datos, recuperación ante desastres y migración de cargas de trabajo de Kubernetes. Astra Control Service usa la tecnología de administración de datos líder del sector de Azure NetApp Files para la creación de instantáneas y copias de seguridad, así como para la replicación entre regiones y la clonación.

Alternativas

Puede utilizar un enfoque múltiple personalizado para copiar o replicar por separado los volúmenes persistentes, los recursos de Kubernetes y otros recursos de estado de configuración que necesita cuando restaura una aplicación. Pero este enfoque puede ser:

  • Engorroso.
  • Difícil de hacerlo compatible con todas las aplicaciones.
  • Difícil de escalar entre las diversas aplicaciones y los entornos que normalmente tiene una empresa.

En determinados entornos, puede evitar el tráfico de red virtual entre pares para reducir los costos. Para eliminar este tráfico, simplifique la solución. En concreto, lleve los clústeres de AKS y la subred que delega para Azure NetApp Files a la misma red virtual, como se muestra en este diagrama:

Diagrama de arquitectura que muestra como usar AKS con Astra Control Service en una única red virtual.

Descargue un archivo Visio de esta arquitectura.

Detalles del escenario

Con las aplicaciones contenedorizadas, puede ser complicado proteger los datos de aplicaciones. La aplicación consta de varios microservicios, que se deben administrar como una entidad. Al implementar cargas de trabajo críticas para la empresa en Kubernetes, la administración de datos de aplicaciones debe ser:

  • Simple. El establecimiento de directivas de protección de datos, instantáneas y copias de seguridad a petición debe ser intuitivo. Estas directivas no deben depender de los detalles de la infraestructura subyacente.
  • Portables. Para que la movilidad de las aplicaciones entre regiones sea posible, varios clústeres de Kubernetes deben poder consumir las copias de seguridad.
  • Tener en cuenta la aplicación. La solución debe proteger toda la aplicación, incluidos los recursos estándar de Kubernetes, como secretos, objetos ConfigMap y volúmenes persistentes. También debe proteger los recursos personalizados de Kubernetes. Cuando sea posible, los procedimientos deben poner la aplicación en modo inactivo antes de la instantánea o la copia de seguridad. Esta práctica evita la pérdida de datos en tránsito durante las copias de seguridad.

NetApp Astra Control Service es una solución para administrar los datos de aplicaciones con estado que le ayuda a cumplir estos objetivos. Astra Control Service ofrece funcionalidades de protección de datos, recuperación ante desastres y movilidad de aplicaciones. Proporciona cargas de trabajo de AKS con estado con un amplio conjunto de servicios de almacenamiento y administración dependientes de la aplicación. La tecnología de protección de datos de Azure NetApp Files es la base de estos servicios.

Posibles casos de uso

Esta solución se aplica a los sistemas que ejecutan aplicaciones con estado:

  • Sistemas de integración continua (CI), como Jenkins
  • Cargas de trabajo de base de datos, como MySQL, MongoDB y PostgreSQL
  • Componentes de inteligencia artificial y aprendizaje automático, como TensorFlow y PyTorch
  • Implementaciones de Elasticsearch
  • Aplicaciones de Kafka
  • Plataformas de administración del código fuente, como GitLab

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Al implementar un clúster de AKS, se implementa en una sola región. Para proteger las cargas de trabajo de las aplicaciones, es mejor implementar las cargas de trabajo en varios clústeres de AKS que abarcan varias regiones. Entre los factores que afectan a la implementación se incluyen la disponibilidad de la región de AKS y las regiones emparejadas de Azure. Al implementar clústeres en varias zonas de disponibilidad, los nodos se distribuyen entre varias zonas dentro de una sola región. Esta distribución de los recursos del clúster de AKS mejora la disponibilidad del clúster, ya que es resistente a los errores de una zona específica.

Azure NetApp Files presenta una alta disponibilidad por naturaleza. Se basa en una flota completa de todos los sistemas de almacenamiento flash sin sistema operativo y con alta disponibilidad. Para conocer la garantía de disponibilidad de este servicio, consulte SLA para Azure NetApp Files.

Azure NetApp Files admite la replicación entre regiones para la recuperación ante desastres. Puede replicar volúmenes entre pares de regiones de Azure continuamente. Para más información sobre la replicación entre regiones, consulte estos recursos:

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Use la calculadora de precios de Azure para calcular el costo de los siguientes componentes:

  • AKS
  • Azure NetApp Files
  • Virtual Network

Para conocer los planes de tarifas de Astra Control Service, consulte Precios. Al adoptar Astra Control Service, puede centrarse en la aplicación en lugar de dedicar tiempo y recursos a crear soluciones personalizadas que no se escalan. Astra Control Service está disponible en Azure Marketplace.

Para ejecutar cálculos detallados de ancho de banda y precios, use la calculadora de rendimiento de Azure NetApp Files. Hay calculadoras básicas y avanzadas disponibles.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

Cuando se trabaja con el plano de control de Kubernetes, es importante supervisar la infraestructura y la capa de plataforma. Astra Control Service proporciona un plano de control unificado que puede usar para definir y administrar las directivas de protección de aplicaciones en varios clústeres de AKS. Un panel proporciona una manera de controlar continuamente las cargas de trabajo entre regiones. Astra Trident también proporciona un amplio conjunto de métricas de Prometheus que puede usar para supervisar el almacenamiento aprovisionado.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

Los clústeres de AKS pueden agregar nodos de trabajo adicionales para aumentar la escalabilidad. Para escalar la solución, puede agregar grupos de nodos o escalar los grupos de nodos existentes. Estos pasos aumentan el número de nodos del clúster, el número total de núcleos y la memoria disponible para las aplicaciones contenedorizadas.

En cada red virtual, solo puede delegar una subred para Azure NetApp Files.

Cuando se usa una configuración básica para las características de red de Azure NetApp Files, hay un límite de 1000 direcciones IP por red virtual. La configuración de características de red estándar no limita el número de direcciones IP. Para más información, consulte Características de red configurables. Para ver una lista completa de los límites de recursos de Azure NetApp Files, consulte Límites de recursos de Azure NetApp Files.

Azure NetApp Files ofrece varios niveles de rendimiento. Cuando se usa Astra Control Service para detectar clústeres de AKS, el proceso de incorporación crea objetos StorageClass mantenidos que se asignan a los niveles de servicio Standard, Premium y Ultra. Cuando los usuarios implementan aplicaciones, eligen un nivel de almacenamiento que se adapte a sus necesidades. Pueden coexistir varios grupos de capacidad. Los volúmenes aprovisionados tienen una garantía de rendimiento que corresponde al nivel de servicio. Para obtener una lista de los niveles de servicio que admite Azure NetApp Files, consulte Niveles de servicio para Azure NetApp Files.

Implementación de este escenario

Para implementar esta solución, necesita una cuenta de Azure. Cree una cuenta gratuita.

Siga estos pasos para implementar este escenario:

  1. Registre el proveedor de recursos que permite usar Azure NetApp Files.
  2. Revise los requisitos de uso de Astra Control Service con AKS.
  3. Use Azure Portal para crear una cuenta de NetApp.
  4. Configure grupos de capacidad en la cuenta de Azure NetApp Files.
  5. Delegue una subred en Azure NetApp Files.
  6. Cree una entidad de servicio que se use en Astra Control Service para detectar clústeres de AKS y realizar operaciones de copia de seguridad, restauración y administración de datos.
  7. Regístrese en Astra Control Service mediante la creación de una cuenta de NetApp Cloud Central.
  8. Agregue clústeres de AKS a Astra Control Service para empezar a administrar aplicaciones.
  9. Detecte aplicaciones en Astra Control Service. La forma de detectar y administrar las aplicaciones depende de la manera en que las implemente e identifique. Las estrategias de identificación habituales incluyen la agrupación de objetos de aplicación en un espacio de nombres dedicado, la asignación de etiquetas a los objetos que constituyen una aplicación y el uso de gráficos de Helm. Astra Control Service admite las tres estrategias.
  10. Establezca directivas de protección para copiar y restaurar aplicaciones. Antes de definir las directivas de protección, identifique claramente las cargas de trabajo. Un requisito previo es que Astra Control Service pueda detectar de forma única cada aplicación. Para más información, consulte Primeros pasos en la administración de aplicaciones.

Para conocer los pasos que se deben seguir para proteger las aplicaciones, consulte Recuperación ante desastres de cargas de trabajo de AKS con Astra Control Service y Azure NetApp Files.

Para información detallada sobre Astra Control Service, consulte la documentación de Astra Control Service.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribió el siguiente colaborador.

Autor principal:

Pasos siguientes