HPA (Horizontal Pod Autoscaler) – встроенный контроллер Kubernetes, который периодически проверяет метрики приложения и изменяет число реплик Deployment, StatefulSet или другого масштабируемого ресурса так, чтобы метрика держалась около целевого значения.
Метрики
- Загрузка процессора и памяти (через Metrics Server).
- Пользовательские метрики приложения: запросы в секунду, длина очереди.
- Внешние метрики: например, число сообщений в брокере.
Настройка
- Минимальное и максимальное число реплик.
- Целевое значение метрики.
- Поведение масштабирования: скорость роста и снижения, окно стабилизации.
Связанные механизмы
- VPA (Vertical Pod Autoscaler) – подбирает ресурсы подов.
- Cluster Autoscaler – добавляет и убирает узлы.
- KEDA – масштабирование по событиям, включая масштабирование до нуля.
Что важно
Для корректной работы HPA у контейнеров должны быть заданы запросы ресурсов, а приложение должно корректно работать в нескольких копиях.