ScaledObject para las cargas de trabajo compatibles. KEDA evalúa sus triggers y administra recursos HorizontalPodAutoscaler (HPA) de Kubernetes que aumentan o reducen la escala de las cargas de trabajo.
Cómo funciona el escalado automático
KEDA ajusta el número de réplicas de las cargas de trabajo. No agrega nodos de Kubernetes, no aumenta las cuotas ni convierte en apto para una carga de trabajo a un nodo que no lo es. Coordine KEDA con su autoscaler de nodos u otro proceso de gestión de capacidad.
Estrategias de escalado
ScaledObject generados usan distintos tipos de triggers según las características de cada carga de trabajo.
Los umbrales, los límites de réplicas, las consultas y el comportamiento de HPA generados varían según la carga de trabajo y la versión del chart de Vantage. Considere los recursos
ScaledObject generados en su instalación como la referencia definitiva.
Triggers de utilización de CPU
Triggers de Prometheus
ScaledObject de los worker asíncronos usan métricas de la aplicación Vantage procedentes de Prometheus. Las principales señales son:
application_worker_priority_queue_lengthinforma del trabajo en espera para un tipo de worker.application_worker_active_threadsinforma de los hilos de procesamiento activos. Algunas configuraciones de worker generadas lo usan como segundo trigger de Prometheus junto con la profundidad de la cola: escala el worker de forma preventiva cuando ya no queda ningún hilo de procesamiento libre, para que una tarea recién llegada se procese de inmediato en lugar de esperar a que se acumule trabajo en la cola.
ScaledObject contienen más de un trigger. Cualquiera de ellos puede solicitar un escalado horizontal, y la HPA usa la recomendación de réplicas más alta. Cuando una carga de trabajo se escala de forma inesperada, inspeccione todos los triggers en lugar de solo el primero.
Escale los tipos de worker en proporción a sus skills
Requisitos previos
- KEDA 2.17.3 está instalado y que su operator y su servidor de API de métricas funcionan correctamente.
- La API de métricas de recursos de Kubernetes devuelve datos de CPU.
- Se puede acceder a Prometheus en
http://prometheus-operated.observability.svc.cluster.local:9090. - El
ServiceMonitorde Vantage existe y Prometheus informa que los destinos de Vantage/metrics-textestánUP. - Prometheus devuelve valores actuales para las métricas de worker de Vantage.
- El clúster tiene suficiente capacidad programable para las réplicas adicionales, incluidos los nodos etiquetados para los workers de TechCore.
ScaledObject generados.
Usa estas comprobaciones antes de continuar:
Habilitar el escalado automático
ServiceMonitor que crea el chart mediante la sección independiente observability de nivel superior:
observability no forma parte de vantage ni del recurso personalizado Vantage. Controla los recursos de monitorización generados directamente por el chart vantage-selfhosted.
Aplique los valores mediante la release de Helm vantage-selfhosted existente. ArgoCD crea de forma asíncrona las aplicaciones de los componentes y sus recursos ScaledObject.
Compruebe el escalado automático
ScaledObject estén listos:
Ready=Truesignifica que KEDA aceptó la configuración del trigger.Active=Truesignifica que al menos un trigger está solicitando actividad de escalado en ese momento.Active=Falsepuede ser normal cuando no hay tráfico ni trabajo en cola.- Un valor de métrica de HPA de
<unknown>indica que Kubernetes no puede obtener un valor actual de esa métrica.
Running. Si aumenta el número deseado del HPA y los pods siguen en Pending, se trata de un problema de capacidad o programación, no de un problema del activador de KEDA.
Comprenda el comportamiento generado
- Umbrales de activación y consultas de Prometheus.
- Límites mínimos y máximos de réplicas.
- Velocidad de aumento de escala y comportamiento de estabilización.
- Velocidad de reducción de escala y comportamiento de estabilización.
Planifique la capacidad del clúster
- La tasa máxima de llegada de documentos y el tiempo de espera aceptable en la cola.
- La duración media del procesamiento y la de percentiles altos para documentos y skills representativos.
- El tiempo de arranque del pod y de calentamiento del modelo.
- Las solicitudes de CPU y memoria para cada carga de trabajo que escale de forma simultánea.
- El tiempo de aprovisionamiento del autoscaler de nodos y el tamaño máximo del pool de nodos.
- Las cuotas del namespace, los límites del clúster y el rendimiento de descarga desde el registry.
- Las etiquetas de nodo de TechCore, los taints, los aceleradores y el aislamiento del training-worker.
- La tolerancia a fallos cuando un nodo o una zona de disponibilidad no están disponibles.
Resolución de problemas
Para ver los pasos correctivos detallados, consulte Resolución de problemas de KEDA y Prometheus.
Qué sigue
Monitorización con Prometheus
Configure el scraping y verifique las métricas que utiliza KEDA.
Requisitos previos
Revise los requisitos de KEDA, Prometheus y la capacidad del clúster.
Solución de problemas
Diagnostique ScaledObjects no saludables y métricas no disponibles.
Compatibilidad
Compruebe las versiones compatibles antes de actualizar KEDA o Vantage.
