En esta página se describen las formas en que puedes aumentar o disminuir automáticamente el número de réplicas de una carga de trabajo determinada mediante métricas personalizadas, externas o de Prometheus.
Por qué realizar un ajuste de escala automático según las métricas
Considera una aplicación que extrae tareas de una cola y las completa. Es posible que la aplicación tenga un objetivo de nivel de servicio (SLO) por tiempo para procesar una tarea o por la cantidad de tareas pendientes. Si la cola aumenta, más réplicas de la carga de trabajo podrían cumplir con el SLO de las cargas de trabajo. Si la cola está vacía o disminuye más rápido de lo esperado, podrías ahorrar dinero si ejecutas menos réplicas, a la vez que cumples con el SLO de las cargas de trabajo.
Acerca de las métricas personalizadas, de Prometheus y externas
Puedes escalar cargas de trabajo en función de métricas personalizadas, de Prometheus o externas.
Se informa una métrica personalizada de tu aplicación que se ejecuta en Kubernetes. Para obtener más información, consulta Métricas personalizadas y de Prometheus.
Las métricas que provienen del Servicio administrado para Prometheus se consideran un tipo de métrica personalizada.
Se informa una métrica externa de una aplicación o servicio que no se ejecuta en tu clúster, pero cuyo rendimiento afecta a tu aplicación de Kubernetes. Por ejemplo, puedes realizar un ajuste de escala automático en cualquier métrica de Cloud Monitoring, incluidos Pub/Sub o Dataflow. Las métricas de Prometheus contienen datos que se omiten de tu clúster y que puedes usar para realizar un ajuste de escala automático. Para obtener más información, consulta Métricas externas.
Métricas personalizadas y de Prometheus
Te recomendamos que uses el servicio administrado para Prometheus a fin de crear y administrar métricas personalizadas. Puedes usar el lenguaje de consulta de Prometheus (PromQL) para consultar todas las métricas en Monitoring. Si deseas obtener más información, consulta Ajuste de escala automático horizontal de Pod para el servicio administrado de Prometheus.
Tu aplicación puede informar una métrica personalizada a Monitoring. Puedes configurar Kubernetes para que responda a estas métricas y escale tu carga de trabajo de manera automática. Por ejemplo, puedes escalar tu aplicación en función de métricas como consultas por segundo, escrituras por segundo, rendimiento de la red, latencia cuando se comunica con una aplicación diferente y demás métricas que tengan sentido para tu carga de trabajo. Para obtener más información, consulta Optimiza el ajuste de escala automático de Pods en función de las métricas.
Métricas externas
Si necesitas escalar tu carga de trabajo en función del rendimiento de una aplicación o servicio fuera de Kubernetes, puedes configurar una métrica externa. Por ejemplo, es posible que debas aumentar la capacidad de tu aplicación para transferir mensajes de Pub/Sub si la cantidad de mensajes no entregados tiene una tendencia creciente. La aplicación externa debe exportar la métrica a una instancia de Monitoring a la que el clúster pueda acceder. La tendencia de cada métrica a lo largo del tiempo hace que Horizontal Pod Autoscaler cambie la cantidad de réplicas en la carga de trabajo automáticamente. Para obtener más información, consulta Optimiza el ajuste de escala automático de Pods en función de las métricas.
Importa métricas a Monitoring
Para importar métricas a Monitoring, puedes seguir estos pasos:
- Configura el Servicio administrado para Prometheus (recomendado) o
- Exporta métricas desde la aplicación con la API de Cloud Monitoring.
¿Qué sigue?
- Obtén información a fin de habilitar el ajuste automático de escala horizontal de Pods del servicio administrado para Prometheus.
- Obtén más información sobre el ajuste automático de escala horizontal de Pods.
- Más información sobre el Ajuste de escala automático vertical de Pods