База знаний LinxCloud Services

Автоматическое масштабирование

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

Для настройки автомасштабирование кластера Kubernetes есть программа Cluster Autoscaler. Если будет повышенная нагрузка на сервер, то кластер при автоматическом масштабировании сервис увеличит количество нод, а при отсутствии нагрузки — уменьшит.

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

Схема работы СA:

  1. CA определяет, какое количество модулей в состоянии ожидания каждые 10 секунд, настроенным автоматически.
  2. Если окажется, что один или несколько модулей находятся в ожидании из-за нехватки доступных ресурсов в кластере, программа сделает запрос у поставщика облачных услуг на дополнительные узлы.
  3. Присоединяет к кластеру предоставленный узел.
  4. Планировщик Kubernetes распределяет ожидающие модули на новый узел. Если после этого останотся, которые находятся в состоянии ожидания, операция повторится, и в кластер будут добавлены новые узлы.

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

Что нужно учитывать при использовании СA?

  • CA гарантирует, что у всех модулей в кластере есть место для запуска, независимо от уровня нагрузки на процессор. Кроме того, он пытается гарантировать, что в кластере нет ненужных узлов.
  • Регистрирует CA надобность в масштабировании примерно через 30 секунд.
  • Если узел становится ненужным, то CA ожидает 10 минут, перед тем как масштабировать систему.
  • В системе автомасштабирования существуют расширители (expanders). Это стратегии для выбора группы узлов, в которую будут добавлены новые.
  • Внимательно используйте функцию cluster-autoscaler.kubernetes.io/safe-to-evict (true). Если установить много pod’ов или если многие из них будут разбросаны по всем узлам, вы в значительной степени потеряете возможность уменьшать масштаб кластера.
  • Используйте PodDisruptionBudgets для предотвращения удаление pod’ов, из-за чего часть вашего приложения может полностью выйти из строя.

 

При создании кластера

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

Также в мастере создания можно добавить группу узлов (Group node), нажав «Добавить группу узлов»:

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

 

На созданном кластере

Если кластер был создан без настройки автомасштабирования, но оно потребовалось, это можно сделать с поиощью опции «Настроить автомасштабирование» в контекстном меню выбранного кластера в сервисе «Контейнеры» панели Linx Cloud:

Далее нужно выбрать параметры масштабирования.

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

Что вас интересует?
Получить демо-доступ

Спасибо за ваш запрос, мы свяжемся с вами в ближайшее время!