Compartir a través de


Escalado automático de aplicaciones simplificado con el complemento de escalado automático basado en eventos (KEDA) de Kubernetes

El escalado automático controlado por eventos (KEDA) de Kubernetes es un componente ligero y de un solo propósito que se esfuerza por simplificar el escalado automático de aplicaciones y es un proyecto de CNCF Graduate.

Aplica el escalado automático controlado por eventos para escalar la aplicación para satisfacer la demanda de forma sostenible y rentable con escala a cero.

El complemento KEDA facilita aún más la implementación de una instalación de KEDA administrada, lo que le proporciona un catálogo enriquecido de escaladores KEDA de Azure con los que puede escalar las aplicaciones en el clúster de Azure Kubernetes Services (AKS).

Architecture

KEDA proporciona dos componentes principales:

  • El operador KEDA permite a los usuarios finales escalar o reducir horizontalmente las cargas de trabajo de 0 a N instancias con compatibilidad con implementaciones de Kubernetes, trabajos, StatefulSets o cualquier recurso personalizado que defina el subrecurso /scale.
  • El servidor de métricas expone métricas externas a Horizontal Pod Autoscaler (HPA) en Kubernetes con fines de escalado automático, como mensajes en un tema de Kafka o el número de eventos de un centro de eventos de Azure. Debido a las limitaciones ascendentes, KEDA debe ser el único adaptador de métrica instalado.

Diagram that shows the architecture of K E D A and how it extends Kubernetes instead of re-inventing the wheel.

Obtenga más información sobre el funcionamiento de KEDA en la documentación oficial de KEDA.

Instalación

KEDA se puede agregar a un clúster de Azure Kubernetes Service (AKS) habilitando el complemento KEDA mediante una plantilla de ARM o la CLI de Azure.

El complemento KEDA proporciona una instalación totalmente compatible KEDA que se integra con AKS.

Características y funcionalidades

KEDA proporciona las siguientes funcionalidades y características:

  • Creación de aplicaciones sostenibles y rentables con escala a cero
  • Escalado de las cargas de trabajo de las aplicaciones para satisfacer la demanda mediante un catálogo enriquecido de escaladores KEDA de Azure.
  • Escalado automático de aplicaciones con ScaledObjects, como implementaciones, StatefulSets o cualquier recurso personalizado que defina el subrecurso /scale
  • Escalabilidad automática de cargas de trabajo con ScaledJobs
  • Uso de la seguridad de nivel de producción mediante la desacoplación de la autenticación del escalado automático de las cargas de trabajo
  • Traiga su propio escalador externo para usar decisiones de escalado automático personalizadas
  • Integración con Id. de carga de trabajo de Microsoft Entra para la autenticación

Nota:

Si tiene previsto usar la identidad de carga de trabajo, habilite el complemento de identidad de carga de trabajo antes de habilitar el complemento KEDA.

Limitaciones del complemento

El complemento AKS de KEDA tiene las siguientes limitaciones:

  • El complemento HTTP (versión preliminar) de KEDA que escala las cargas de trabajo HTTP no se instala con la extensión, pero se puede implementar por separado.
  • El escalador externo para Azure Cosmos DB de KEDA para escalar en función de la fuente de cambios de Azure Cosmos DB no se instala con la extensión, pero se puede implementar por separado.
  • Solo se permite un servidor de métricas en el clúster de Kubernetes. Por eso, el complemento KEDA debe ser el único servidor de métricas del clúster.
    • No se admiten varias instalaciones de KEDA

Para ver preguntas generales sobre KEDA, se recomienda visitar la introducción a las preguntas frecuentes.

Nota:

Si usa id. de carga de trabajo de Microsoft Entra ID y habilita KEDA antes del identificador de carga de trabajo, debe reiniciar los pods del operador KEDA para que se puedan insertar las variables de entorno adecuadas:

  1. Para reiniciar los pods, ejecute kubectl rollout restart deployment keda-operator -n kube-system.

  2. Obtenga pods de operador KEDA mediante kubectl get pod -n kube-system y busque pods que comiencen por keda-operator.

  3. Compruebe la inserción correcta de las variables de entorno ejecutando kubectl describe pod <keda-operator-pod> -n kube-system. En Environment, debería ver los valores de AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE y AZURE_AUTHORITY_HOST.

Versiones de Kubernetes y KEDA admitidas

La versión de Kubernetes del clúster determina qué versión de KEDA se instalará en el clúster de AKS. Para ver qué versión de KEDA se asigna a cada versión de AKS, vea la columna de complementos administrados de AKS de la tabla de versiones de componentes de Kubernetes.

En el caso de las versiones de Kubernetes de disponibilidad general, AKS ofrece compatibilidad completa con la versión secundaria de KEDA correspondiente en la tabla. Las versiones preliminares de Kubernetes y la revisión más reciente de KEDA están parcialmente cubiertas por el soporte técnico al cliente de la mejor manera posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Pasos siguientes