Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Escalamiento de la carga
El escalado de la carga de trabajo en Kubernetes es esencial para mantener el rendimiento de las aplicaciones y la eficiencia de los recursos en entornos dinámicos. El escalado ayuda a garantizar que las aplicaciones puedan gestionar cargas de trabajo variables sin degradar el rendimiento. Kubernetes ofrece la posibilidad de aumentar o reducir automáticamente los recursos en función de métricas en tiempo real, lo que permite a las organizaciones responder rápidamente a los cambios en el tráfico. Esta elasticidad no solo mejora la experiencia del usuario, sino que también optimiza la utilización de los recursos, lo que ayuda a minimizar los costes asociados a los recursos infrautilizados o sobreaprovisionados.
Además, el escalado efectivo de la carga de trabajo permite una alta disponibilidad, lo que garantiza que las aplicaciones sigan respondiendo incluso durante los períodos de máxima demanda. El escalado de la carga de trabajo en Kubernetes permite a las organizaciones hacer un mejor uso de los recursos de la nube al ajustar la capacidad de forma dinámica para satisfacer las necesidades actuales.
En esta sección se analizan los siguientes tipos de escalado de la carga de trabajo:
Escalador automático de pods horizontales
El escalador automático de pods horizontal
En contextos en los que la demanda de los usuarios puede fluctuar considerablemente con el tiempo, las aplicaciones web, los microservicios y APIs la HPA son especialmente útiles.
El escalador automático de cápsulas horizontales ofrece las siguientes funciones clave:
-
Escalado automático: HPA aumenta o reduce automáticamente la cantidad de réplicas de pods en respuesta a las métricas en tiempo real, lo que garantiza que las aplicaciones puedan escalarse para satisfacer la demanda de los usuarios.
-
Decisiones basadas en métricas: de forma predeterminada, HPA escala en función del uso de la CPU. Sin embargo, también puede usar métricas personalizadas, como el uso de memoria o métricas específicas de la aplicación, lo que permite estrategias de escalado más personalizadas.
-
Parámetros configurables: puede elegir los recuentos mínimo y máximo de réplicas y los porcentajes de utilización deseados, lo que le da autoridad sobre la severidad del escalado.
-
Integración con Kubernetes: para monitorear y modificar los recursos, HPA funciona en conjunto con otros elementos del ecosistema de Kubernetes, como el servidor de métricas, la API de Kubernetes y los adaptadores de métricas personalizados.
-
Mejor utilización de los recursos: el HPA ayuda a garantizar que los recursos se utilicen de forma eficaz, lo que reduce los costes y mejora el rendimiento, al modificar de forma dinámica la cantidad de módulos.
Escalador automático proporcional de clústeres
El escalador automático proporcional de clústeres
Este enfoque es particularmente útil para las aplicaciones que necesitan mantener un cierto nivel de redundancia o disponibilidad en relación con el tamaño del clúster, como CoredNS y otros servicios de infraestructura. Algunos de los principales casos de uso de la CPA son los siguientes:
-
Sobreaprovisionamiento
-
Amplíe los servicios de la plataforma principal
-
Amplíe las cargas de trabajo porque la CPA no requiere un servidor de métricas ni un adaptador Prometheus
Al automatizar el proceso de escalado, la CPA ayuda a las empresas a mantener una distribución equilibrada de la carga de trabajo, a aumentar la eficiencia de los recursos y a garantizar que las aplicaciones se aprovisionen adecuadamente para satisfacer la demanda de los usuarios.
El escalador automático proporcional de clústeres ofrece las siguientes funciones clave:
Escalado basado en nodos: el CPA escala las réplicas según la cantidad de nodos del clúster que se pueden programar, lo que permite que las aplicaciones se expandan o contraigan en proporción al tamaño del clúster.
Ajuste proporcional: para garantizar que la aplicación pueda escalar de acuerdo con los cambios en el tamaño del clúster, el escalador automático establece una relación proporcional entre el número de nodos y el número de réplicas. Esta relación se utiliza para calcular el número deseado de réplicas para una carga de trabajo.
Integración con los componentes de Kubernetes: el CPA funciona con componentes estándar de Kubernetes, como el escalador automático de pods horizontales (HPA), pero se centra específicamente en el recuento de nodos más que en las métricas de utilización de los recursos. Esta integración permite una estrategia de escalado más completa.
Clientes de API de Golang: para supervisar la cantidad de nodos y sus núcleos disponibles, CPA utiliza clientes de API de Golang que se ejecutan dentro de los pods y se comunican con el servidor de API de Kubernetes.
Parámetros configurables: con un
ConfigMap
, los usuarios pueden establecer umbrales y parámetros de escalado que CPA utiliza para modificar su comportamiento y asegurarse de que sigue el plan de escalado previsto.
Escalador automático basado en eventos basado en Kubernetes
El escalador automático impulsado por eventos (KEDA
Al automatizar el proceso de escalado en función de los eventos, KEDA ayuda a las organizaciones a optimizar la utilización de los recursos, mejorar el rendimiento de las aplicaciones y reducir los costes asociados al sobreaprovisionamiento. Este enfoque es especialmente valioso para las aplicaciones que experimentan patrones de tráfico variables, como los microservicios, las funciones sin servidor y los sistemas de procesamiento de datos en tiempo real.
KEDA ofrece las siguientes funciones clave:
-
Escalado basado en eventos: KEDA le permite definir reglas de escalado en función de fuentes de eventos externas, como colas de mensajes, solicitudes HTTP o métricas personalizadas. Esta capacidad ayuda a garantizar que las aplicaciones se escalen en respuesta a la demanda en tiempo real.
-
Componente liviano: KEDA es un componente liviano y de un solo propósito que no requiere mucha configuración ni sobrecarga para integrarse fácilmente en los clústeres de Kubernetes existentes.
-
Integración con Kubernetes: KEDA amplía las capacidades de los componentes nativos de Kubernetes, como el escalador automático de módulos horizontales (HPA). KEDA agrega capacidades de escalado basadas en eventos a estos componentes, mejorándolos en lugar de reemplazarlos.
-
Soporte para múltiples fuentes de eventos: KEDA es compatible con una amplia gama de fuentes de eventos, incluidas las plataformas de mensajería populares como RabbitMQ, Apache Kafka y otras. Gracias a esta adaptabilidad, puede personalizar el escalado para adaptarlo a su arquitectura única basada en eventos.
-
Escaladores personalizados: con los escaladores personalizados, puede designar métricas específicas que KEDA puede utilizar para iniciar acciones de escalado en respuesta a requisitos o lógicas empresariales específicos.
-
Configuración declarativa: de acuerdo con los principios de Kubernetes, puedes usar KEDA para describir el comportamiento de escalado de forma declarativa utilizando los recursos personalizados de Kubernetes para definir cómo debe realizarse el escalado.