Автоматическое масштабирование
Автоматическое масштабирование — это изменение размера группы узлов, количества подов или количества выделяемых каждому поду ресурсов на основе запросов ресурсов для подов, запущенных на узлах этой группы.
В кластере Managed Service for Kubernetes доступны следующие виды автоматического масштабирования:
- Автоматическое масштабирование кластера (Cluster Autoscaler). Managed Service for Kubernetes отслеживает нагрузку на узлы и при необходимости изменяет их количество в указанных пределах.
- Автоматическое масштабирование мастера (Master Autoscaler). Managed Service for Kubernetes отслеживает нагрузку на мастер и при необходимости изменяет его конфигурацию.
- Горизонтальное масштабирование подов (Horizontal Pod Autoscaler). Kubernetes динамически изменяет количество подов, запущенных на каждом узле группы.
- Вертикальное масштабирование подов (Vertical Pod Autoscaler). При повышении нагрузки Kubernetes выделяет каждому поду дополнительные ресурсы в установленных пределах.
Важно
С 18 июня 2026 года автоматическое масштабирование мастера работает на всех кластерах в релизном канале RAPID, где мастер развернут в высокодоступной конфигурации.
Вы можете использовать несколько видов автоматического масштабирования в одном кластере. При этом не рекомендуется использовать Horizontal Pod Autoscaler и Vertical Pod Autoscaler одновременно.
Автоматическое масштабирование кластера
Cluster Autoscaler автоматически изменяет количество узлов в группе в зависимости от нагрузки.
Важно
Размещение узлов автомасштабируемой группы возможно только в одной зоне доступности.
При создании группы узлов выберите автоматический тип масштабирования и задайте минимальное, максимальное и начальное количество узлов в группе. Kubernetes будет периодически проверять состояние подов и нагрузку на узлы, при необходимости изменяя размер группы:
- Если поды не могут быть назначены из-за нехватки vCPU или RAM на существующих узлах, число узлов в группе будет постепенно увеличиваться до указанного максимального размера.
- Если нагрузка на узлы недостаточная и все поды могут быть назначены с меньшим количеством узлов в группе, число узлов в группе будет постепенно уменьшаться до указанного минимального размера. Если поды узла не могут быть расселены за установленное время (5 минут), узел принудительно останавливается. Время ожидания нельзя изменить.
Примечание
При подсчете текущих лимитов и квот
Включение Cluster Autoscaler доступно только при создании группы узлов. Управление Cluster Autoscaler выполняется на стороне сервиса Managed Service for Kubernetes.
Подробнее читайте в документации Kubernetes:
Смотрите также раздел Вопросы и ответы про автоматическое масштабирование группы узлов в Managed Service for Kubernetes.
Автоматическое масштабирование мастера
Важно
С 18 июня 2026 года автоматическое масштабирование мастера работает на всех кластерах в релизном канале RAPID, где мастер развернут в высокодоступной конфигурации.
Важно
С 18 июня 2026 года тарификация мастеров изменилась — плата взимается за количество vCPU и объем RAM. Чтобы рассчитать необходимое количество ресурсов мастера для своего кластера, воспользуйтесь таблицей Рекомендуемые конфигурации мастера.
Master Autoscaler автоматически меняет конфигурацию мастера под текущую нагрузку. Такой подход позволяет поддерживать стабильную работу кластера без ручного подбора конфигурации.
Для масштабирования Master Autoscaler периодически собирает метрики утилизации мастера — количество vCPU и объем RAM. На основе метрик могут быть приняты следующие решения:
- Увеличить ресурсы, если мастер близок к перегрузке.
- Уменьшить ресурсы, если мастер устойчиво недозагружен.
- Оставить без изменений, если утилизация в пределах нормы.
Чтобы исключить реакцию на кратковременные скачки нагрузки, решения принимаются на основе агрегированных метрик за несколько минут. Масштабирование запускается только в случаях, когда критическое значение сохраняется на протяжении некоторого времени.
Также Master Autoscaler не уменьшает ресурсы ниже конфигурации мастера, выбранной при создании или изменении кластера, — она используется в качестве нижней границы масштабирования.
После принятия решения скейлер подбирает ближайшую подходящую конфигурацию мастера так, чтобы после изменения утилизация оставалась в пределах нормы.
Даже при использовании Master Autoscaler выбирайте конфигурацию мастера, соответствующую реальной нагрузке на кластер. Ориентируйтесь на рекомендуемые конфигурации — они зависят от числа узлов, максимального количества подов и используемого CNI. Конфигурация с избытком vCPU и RAM не позволит высвобождать лишние ресурсы, а недостаточная может привести к слишком частому масштабированию.
Операции автоматического масштабирования мастера отображаются в разделе операций кластера. Пока выполняется масштабирование, запустить другие операции с кластером невозможно — необходимо дождаться его завершения.
Горизонтальное автомасштабирование подов
При использовании горизонтального масштабирования подов Kubernetes изменяет их количество в зависимости от степени нагрузки на vCPU.
При создании Horizontal Pod Autoscaler укажите в параметрах:
- Желаемую среднюю нагрузку на vCPU для каждого пода в процентах.
- Минимальное и максимальное количество реплик подов.
Горизонтальное автомасштабирование подов доступно для контроллеров:
Подробнее о Horizontal Pod Autoscaler в документации Kubernetes
Вертикальное автомасштабирование подов
Kubernetes ограничивает выделение ресурсов для каждого приложения с помощью параметров limits. Для пода, превысившего лимит vCPU, включается режим пропуска тактов процессора. Под, превысивший лимит RAM, будет остановлен.
Vertical Pod Autoscaler при необходимости выделяет дополнительные ресурсы vCPU и RAM для подов.
При создании Vertical Pod Autoscaler укажите в спецификации режим автоматического масштабирования:
updateMode: "Off", чтобы Vertical Pod Autoscaler предоставлял рекомендации по управлению ресурсами подов, но не изменял их.updateMode: "Initial", чтобы Vertical Pod Autoscaler применял рекомендации только при создании подов.updateMode: "Recreate", чтобы Vertical Pod Autoscaler пересоздавал поды с обновленными значениями ресурсов при значительном расхождении между текущими запросами и рекомендациями.updateMode: "InPlaceOrRecreate", чтобы Vertical Pod Autoscaler сперва пытался обновить запросы и лимиты ресурсов без перезапуска пода. Если такое обновление недоступно, под будет пересоздан аналогично режимуRecreate. Подробнее на странице Resize CPU and Memory Resources assigned to Containers .
Подробнее о Vertical Pod Autoscaler в документации Kubernetes