Optimización del uso y los costos de Azure Kubernetes Service (AKS)

Este artículo describe formas prácticas de optimizar el uso y los costos de Azure Kubernetes Service (AKS) en aspectos como el escalado, el dimensionamiento de la infraestructura, el uso de GPU, la multitenencia y los descuentos de Azure.

Para la mayoría de las cargas de trabajo de producción, AKS Automatic es el punto de partida recomendado porque aplica valores predeterminados listos para producción, automatiza las operaciones principales y ayuda a reducir el sobreaprovisionamiento. AKS Standard sigue siendo la opción correcta cuando necesita una personalización de plataforma más profunda.

Este artículo trata sobre:

Elección de la línea base de optimización

Para empezar, seleccione el modo de clúster de AKS que coincida con el modelo de costos y operaciones.

Escenario Modo de clúster recomendado Por qué
La mayoría de las cargas de trabajo de producción para las que se busca una alta rentabilidad con una menor carga operativa AKS Automatic Los valores predeterminados preconfigurados para producción, las operaciones administradas y la asignación eficaz de recursos ayudan a reducir el desperdicio y el tiempo invertido en ajustar la plataforma.
Cargas de trabajo que requieren una amplia configuración de clúster personalizada, complementos especializados o controles de plataforma estrictos AKS Standard Control total sobre la configuración del clúster y el modelo operativo.
Equipos en una fase temprana de madurez operativa en Kubernetes y centrados en una entrega rápida y predecible AKS Automatic Reduce la complejidad de la administración de plataformas para que los equipos puedan centrarse en las aplicaciones.
Equipos con procesos de ingeniería de plataformas establecidos y estándares de arquitectura específicos AKS Standard Admite la personalización avanzada y los patrones operativos personalizados.

Para obtener más información, consulte ¿Qué es Azure Kubernetes Service (AKS) automático?

Ventajas de costos automáticos de AKS

AKS Automatic reduce los costos de dos maneras: minimiza el desperdicio de proceso a través de la automatización y reduce la sobrecarga operativa de la ejecución de Kubernetes. En la tabla siguiente se resumen las características que tienen un impacto directo en el costo y cómo se comparan con AKS Standard.

Las características preconfiguradas siempre están habilitadas y no se pueden cambiar. Las características predeterminadas se configuran automáticamente, pero se pueden ajustar. Las características opcionales están disponibles para configurar y no están habilitadas de forma predeterminada.

Feature AKS Automatic AKS Standard Impacto sobre los costos
Aprovisionamiento automático de nodos (NAP) Preconfigurado Opcional Provisiona automáticamente nodos con el tamaño adecuado para los pods pendientes, lo que reduce la capacidad inactiva y el sobreaprovisionamiento.
Escalador automático horizontal de pods (HPA) Preconfigurado Opcional Escala los pods para adaptarse a la demanda sin intervención manual, evitando el desperdicio de recursos cuando el tráfico es bajo.
Escalador automático controlado por eventos (KEDA) de Kubernetes Preconfigurado Opcional El escalado basado en eventos elimina las réplicas inactivas a la espera de trabajo.
Escalador automático de pods verticales (VPA) Preconfigurado Opcional Ajusta automáticamente las solicitudes y los límites de recursos de los pods en función del uso real a lo largo del tiempo.
Eficiencia en el empaquetamiento de pods Preconfigurado Ajuste manual Los pods se empaquetan de forma óptima para maximizar el aprovechamiento de los nodos, lo que reduce el número total de nodos necesarios.
Prometheus gestionado + Container Insights Predeterminado Opcional Proporciona visibilidad de costos inmediata desde el primer día sin necesidad de configuración de observabilidad.
Actualizaciones automáticas del sistema operativo del clúster y del nodo Preconfigurado Manual o opcional Elimina la sobrecarga de ingeniería relacionada con la actualización y reduce el riesgo de costosos incidentes de seguridad de nodos no actualizados.
Reparación automática de nodos Preconfigurado Preconfigurado Reduce los costes por tiempo de inactividad de los nodos no operativos sin intervención manual.
Grupo de recursos de nodo totalmente administrado Preconfigurado Bloqueo opcional Evita modificaciones accidentales o no autorizadas de recursos que pueden generar costos inesperados.
SLA de disponibilidad (servidor API al 99,95 %) Se incluye De pago (actualización al plan estándar) Sin coste adicional para obtener una garantía de disponibilidad respaldada financieramente.
SLA de disponibilidad de los pods (99,9 % en 5 minutos) Se incluye No disponible Comportamiento de escalado predecible sin inversión de confiabilidad personalizada.

Nota:

Dado que las herramientas de escalado como HPA, KEDA y VPA están preconfiguradas en AKS Automatic, los equipos no incurren en el costo de configuración, pruebas y mantenimiento de la configuración de estas características. En AKS Standard, cada una de estas características requiere la configuración manual y el ajuste continuo.

Escalado automático

Escalado automático horizontal de pods

El Horizontal Pod Autoscaler (HPA) supervisa la demanda de recursos y actualiza automáticamente un recurso de carga de trabajo para ajustar el número de pods a la demanda. La respuesta al aumento de la carga es implementar más pods. Si la carga disminuye y el número de pods está por encima del mínimo configurado, el escalador automático indica al recurso de carga de trabajo que se reduzca verticalmente.

La API de métricas obtiene datos de kubelet cada 60 segundos y HPA comprueba la API de métricas cada 15 segundos para los cambios necesarios de forma predeterminada. Esto significa que HPA se actualiza cada 60 segundos. Al configurar el HPA para una implementación, se define el número mínimo y máximo de réplicas que se pueden ejecutar y las métricas que usa HPA para determinar cuándo escalar.

Tip

En AKS Automatic, HPA está preconfigurado y listo para usarse sin configuración adicional. En AKS Standard, se configura manualmente el HPA en cada carga de trabajo.

Para obtener más información, consulte Escalado automático horizontal de pods y Escalado automático de pods en AKS.

Escalado automático controlado por eventos de Kubernetes

El escalador automático controlado por eventos (KEDA) de Kubernetes aplica el escalado automático controlado por eventos a las cargas de trabajo. KEDA funciona con HPA y puede ampliar la funcionalidad sin sobrescribir ni duplicar.

Tip

En AKS Automatic, KEDA está preconfigurado y habilitado en el clúster. En AKS Standard, instala y configura manualmente el complemento KEDA.

Puede usar el complemento KEDA para AKS para escalar las aplicaciones y aprovechar un amplio catálogo de escaladores de Azure KEDA. Para obtener más información, consulte Escalado automático de aplicaciones con el complemento KEDA e Instalación del complemento KEDA para AKS.

Escalado vertical automático de pods

El Vertical Pod Autoscaler (VPA) configura automáticamente las solicitudes y los límites de recursos para los contenedores de cada carga de trabajo en función del uso anterior. El VPA libera CPU y Memoria para los pods para garantizar un uso eficaz de los clústeres de AKS. Con el tiempo, el VPA proporciona recomendaciones para el uso de recursos.

Tip

En AKS Automatic, VPA está preconfigurado y habilitado en el clúster. En AKS Standard, se habilita y se configura manualmente el VPA.

Para más información, consulte Escalado automático vertical de pods en Azure Kubernetes Service (AKS) y Utilice el escalador automático vertical de pods (VPA) en Azure Kubernetes Service (AKS).

Ajuste de tamaño correcto del clúster

Ajusta el tamaño del clúster

Ajustar el tamaño correcto de los clústeres para optimizar los costos y el rendimiento. Cambie manualmente el tamaño de un clúster agregando o quitando nodos para satisfacer las necesidades de las aplicaciones. También puede escalar automáticamente el clúster para ajustar automáticamente el número de nodos en respuesta a las demandas cambiantes.

Tip

AKS Automatic habilita Prometheus administrado y Container Insights de forma predeterminada, por lo que obtendrá visibilidad inmediata del uso de recursos desde el primer día. En AKS Standard, la observabilidad se configura por separado. La visibilidad anticipada le permite actuar ante las señales de sobreaprovisionamiento antes de que se conviertan en un despilfarro sostenido.

Para más información, consulte Cambio de tamaño de los clústeres de Azure Kubernetes Service (AKS).

Escalado automático del clúster

Mediante el escalador automático del clúster, puede escalar automáticamente grupos de nodos en función del uso y las restricciones de los recursos. Por ejemplo, se puede ampliar la escala para programar los pods pendientes o reducirla para disminuir los costes de los nodos no utilizados. El perfil del escalador automático del clúster es un conjunto de parámetros que puede ajustar para controlar el comportamiento del escalador automático del clúster.

Para más información, consulte Escalado automático de clústeres en Azure Kubernetes Service (AKS) yUso del escalador automático de clústeres en Azure Kubernetes Service (AKS).

Aprovisionamiento automático de nodos

El aprovisionamiento automático de nodos (NAP), basado en Karpenter, aprovisiona la infraestructura con el tamaño adecuado para los pods pendientes y mejora la eficiencia de empaquetamiento.

  • En AKS Automatic, el aprovisionamiento automático de nodos forma parte de la experiencia administrada.
  • En AKS Standard, el aprovisionamiento automático de nodos está disponible cuando necesita esta funcionalidad con un modelo de clúster personalizado.

Para obtener más información, consulte Aprovisionamiento automático de nodos en Azure Kubernetes Service (AKS).

Optimizaciones de GPU

Creación de particiones y uso compartido de GPU

La creación de particiones de GPU ayuda a combatir la infrautilización mediante la división o el uso compartido de GPU en varias cargas de trabajo. En las secciones siguientes se tratan diferentes formas de crear particiones y compartir GPU en AKS.

Segmentación de tiempo

El operador de GPU de NVIDIA habilita la segmentación de tiempo de las GPU en clústeres de Kubernetes. Mediante el uso de la división temporal, un administrador del sistema puede definir un conjunto de réplicas para una GPU, cada una de las cuales puede asignar de forma independiente a un pod para ejecutar cargas de trabajo. Puede aplicar configuraciones predeterminadas de segmentación de tiempo a nivel de clúster y configuraciones específicas del nodo.

Captura de pantalla de un ejemplo de gráfico visual que muestra la segmentación de tiempo de GPU.

Para más información, consulte segmentación temporal de GPUs en Kubernetes.

Servicio multiproceso (MPS)

Es posible que un único proceso no use toda la capacidad de ancho de banda de proceso y memoria disponible en una GPU. El servicio multiproceso (MPS) permite la creación de particiones lógicas de recursos de memoria y proceso entre cargas de trabajo. También permite que las operaciones de kernel y memcopy de diferentes procesos se superpongan en la GPU. MPS le ayuda a lograr un mayor uso de GPU y tiempos de ejecución más cortos.

Captura de pantalla de un ejemplo de gráfico visual que muestra el servicio multiproceso de GPU (MPS).

Para obtener más información, consulte Servicio multiproceso (MPS).

GPU de instancias múltiples (MIG)

Las GPU de varias instancias (MIG) permiten particionar GPU basadas en nvidia Ampere y arquitecturas posteriores en instancias de GPU independientes y seguras para las aplicaciones CUDA.

Captura de pantalla de un ejemplo de gráfico visual que muestra GPU de varias instancias (MIG).

Para más información, consulte Operador de GPU con MIG y Creación de un grupo de nodos de GPU de varias instancias en Azure Kubernetes Service (AKS).

Arquitectura multiempresa

Multitenencia se refiere al uso compartido de la infraestructura entre inquilinos, equipos y unidades de negocio. En la tabla siguiente se describen diferentes formas de implementar multitenancy en AKS.

Tipo de multitenencia Nivel multiarrendatario Densidad de pods de clúster Asignación de costes Caso de uso ideal Riesgos potenciales
Clúster dedicado Arquitectura multiempresa estricta Minúsculas Más fácil Límites de aislamiento de seguridad completos y asignación directa de costos • La expansión de clústeres a escala agrega costos de sobrecarga de administración
• Menor densidad de pods y más recursos sobreaprovisionados
Grupo de nodos dedicado Arquitectura multiempresa flexible Medio Medio Densidad media de pod • Requiere confianza entre inquilinos
• Requiere configuraciones de clúster adicionales, como directivas de red, administración de cuotas, control de acceso basado en rol (RBAC), etc.
Espacio de nombres dedicado Arquitectura multiempresa flexible Más alto Más difícil Uso compartido de la infraestructura para maximizar el uso de recursos • No seguro para entornos hostiles de forma predeterminada
• Requiere configuraciones de clúster adicionales, como directivas de red, administración de cuotas, control de acceso basado en rol (RBAC), etc.

Clúster dedicado

Con la multiinquilino de clústeres dedicados, los clústeres se dedican a una única carga de trabajo o equipo.

Captura de pantalla de un gráfico visual de ejemplo que muestra la arquitectura multiempresa de un clúster dedicado.

En la tabla siguiente se describen las ventajas y desventajas del uso de un clúster dedicado:

Ventajas Desventajas
• Método de aislamiento más sencillo
• Asignación directa de costos y recuperación de costes
• Ideal para los casos en los que los inquilinos no confían entre sí (a menudo desde las perspectivas de seguridad y uso compartido de recursos)
• Alta gestión y sobrecarga financiera
• Generalmente baja densidad de pods y recursos sobreaprovisionados

Grupo de nodos dedicado

Con la multiinquilino de grupos de nodos dedicados, los clústeres son compartidos por varios inquilinos.

Captura de pantalla de un ejemplo de gráfico visual que muestra la multitenencia del grupo de nodos dedicado.

En la tabla siguiente se describen las ventajas y desventajas del uso de un grupo de nodos dedicado:

Ventajas Desventajas
• Densidad media de pod
• Algunas infraestructuras compartidas
• Aplicar etiquetas de Azure a grupos de nodos dedicados a un solo inquilino (las etiquetas se propagan a los nodos y se conservan a través de las actualizaciones).
• Requiere confianza entre los inquilinos
• Requiere configuraciones de clúster adicionales, como directivas de red, administración de cuotas, control de acceso basado en rol (RBAC), etc.

Espacio de nombres dedicado

Con multiinquilino con espacios de nombres dedicados, los clústeres son compartidos por varios inquilinos, y los espacios de nombres actúan como límite de aislamiento.

Captura de pantalla de un gráfico visual de ejemplo que muestra la arquitectura multiempresa de un espacio de nombres dedicado.

En la tabla siguiente se describen las ventajas y desventajas del uso de un espacio de nombres dedicado:

Ventajas Desventajas
• Mayor densidad de pods
• Mejor empaquetamiento de contenedores
• Uso compartido de la infraestructura para maximizar el uso de recursos
• No seguro para entornos hostiles de forma predeterminada
• Requiere medidas de seguridad adicionales si no se puede confiar en todos los inquilinos.

Descuentos de Azure

Para seguir ahorrando un paso más, aproveche los descuentos de Azure, como Los planes de ahorro de Azure, las instancias reservadas y las ventajas híbridas de Azure.

Tipo de descuento de Azure Detalles
Planes de ahorro de Azure • Compromiso inicial de 1 a 3 años
• Ahorre hasta un 65 % en comparación con el modelo de pago por uso
• Flexible, sin restricciones de familia o región de SKU
• Ideal para cargas de trabajo con costos coherentes que involucran recursos en varias SKU y regiones
Instancias reservadas • Compromiso inicial de 1 a 3 años
• Ahorre hasta un 72% en comparación con el sistema de pago según consumo
• Restringido a familias y regiones de SKU específicas
• Lo mejor para cargas de trabajo estables que se ejecutan continuamente (sin cambios inesperados de SKU o región)
Ventajas híbridas de Azure • Traiga sus propias licencias locales de Windows Server y SQL Server a Azure
• Use las licencias locales aptas que tengan una suscripción activa de Software Assurance (SA) o una suscripción apta.

Para más información sobre los costos de AKS y AKS Automatic, consulte los siguientes artículos: