tocdepth

2

Автоматическое масштабирование группы узлов

Managed Kubernetes поддерживает автоматическое масштабирование группы узлов в кластере (Cluster Autoscaler, CA). Сервис наблюдает за состоянием подов и нагрузкой на рабочие узлы и добавляет или удаляет узлы на основе запрошенных ресурсов.

Автоматическое увеличение количества узлов обеспечивает высокую доступность и производительность приложений, расширяя кластер Managed Kubernetes в соответствии с текущей загрузкой и ограничениями.

Автоматическое уменьшение количества узлов позволяет оптимизировать использование ресурсов и снизить затраты.

Параметры автомасштабирования

Автомасштабирование группы узлов выполняется в пределах заданных значений — минимального и максимального количества узлов.

Включить автоматическое масштабирование и указать минимальное и максимальное количество узлов можно при создании или редактировании группы узлов.

Параметры автомасштабирования можно изменить. При этом нужно учитывать ограничения, описанные в таблице.

Количество рабочих узлов в группе

Cluster Autoscaler

Поведение

Ниже, чем минимальное количество узлов, которое хотим указать.

Увеличивает количество узлов до нового значения минимального количества узлов.

Группа узлов не будет масштабироваться ниже указанного значения.

В пределах указываемого минимального и максимального размера.

Уменьшает или увеличивает количество узлов в зависимости от спроса.

Размер группы узлов будет масштабироваться в указанных пределах.

Выше, чем максимальное количество узлов, которое хотим указать.

Уменьшает количество узлов до нового значения максимального количества узлов.

Группа узлов не будет масштабироваться выше указанного значения.

Managed Kubernetes поддерживает автоматическое масштабирование группы узлов до нуля.

Увеличение количества узлов

Если рабочие узлы в кластере не могут обеспечить достаточное количество ресурсов для запуска новых подов, функция автоматического масштабирования кластера добавляет новые узлы. Количество узлов не может увеличиваться выше указанного максимального количества.

Ниже показано автоматическое увеличение количества узлов.

Как работает:

  1. Под ожидает распределения на рабочий узел, но его вычислительная мощность достигнута.

  2. Запрошено предоставление нового узла.

  3. Как только новый рабочий узел развернут и обнаружен плоскостью управления, планировщик распределит ожидающий под на этот узел.

Уменьшение количества узлов

При автомасштабировании в Managed Kubernetes происходит удаление узла, если выполняются условия:

  • использование ресурсов узла в течение 10 минут ниже порогового значения в 50%;

  • все поды могут быть перемещены на другой узел;

  • не достигнут порог минимального числа узлов.

Ниже показано автоматическое уменьшение количества узлов.

Как работает:

  1. На втором узле развернут один под.

  2. Использование ресурсов на этом узле ниже 50%.

  3. Под можно переместить на первый узел.

  4. Если количество рабочих узлов больше заданного пользователем минимального, второй узел удаляется.

Ограничения и особенности

Некоторые типы подов могут запретить удаление узла при масштабировании вниз. Например:

  • Поды с ограничением PodDisruptionBudget, если удаление узла превысило бы указанное значение.

  • Для пода установлена аннотация cluster-autoscaler.kubernetes.io/safe-to-evict": "false".

  • Поды, которые нельзя переместить в другое место из-за ограничений планировщика.

  • Поды не управляются Deployment, StatefulSet, Job или ReplicaSet.

Подробнее об особенностях и ограничениях читайте в разделе Frequently Asked Questions документации Kubernetes Autoscaler.

Пример

Создание группы узлов с автоматическим масштабированием, изменение политики масштабирования и обновление параметров автомасштабирования описано в сценарии Настройка автомасштабирования группы узлов.

Запустили Evolution free tier
для Dev & Test
Получить