Масштабирование узлов кластера

Обновлена 15 апреля 2024 г. в 08:50

Масштабирование узлов кластера

Кластер Cloud Containers можно масштабировать, изменяя количество его master-узлов и worker-узлов. Это позволяет адаптировать кластер к меняющимся потребностям рабочих нагрузок (workloads).

Поддерживается два типа масштабирования:

Вертикальное масштабирование: изменяются шаблоны виртуальных машин, которые используются master- и worker-узлами кластера. Таким образом можно управлять вычислительными ресурсами кластера, не влияя на количество узлов.

Масштабирование worker-узлов выполняется в рамках группы worker-узлов.

Горизонтальное масштабирование: изменяется количество worker-узлов в рамках отдельной группы узлов. Таким образом можно управлять вычислительными ресурсами кластера, не влияя на шаблоны виртуальных машин, которые используются узлами.

Оба типа масштабирования выполняются вручную. Также можно настроить автоматическое горизонтальное масштабирование для группы узлов (autoscaling): количество worker-узлов в группе будет регулироваться в зависимости от потребностей рабочей нагрузки. Этот механизм позволяет экономить до 60% на вычислительных мощностях.

Возможности вертикального масштабирования ограничены действующими квотами и доступными шаблонами виртуальных машин.
Возможности горизонтального масштабирования ограничены действующими квотами и пределом на количество worker-узлов в отдельной группе узлов: от 1 до 100 узлов.
Невозможно выполнить горизонтальное масштабирование вручную, если настроено автоматическое масштабирование. Чтобы выполнить масштабирование вручную, выключите автоматическое масштабирование.

При вертикальном масштабировании любых узлов кластера происходит последовательный перезапуск виртуальных машин, которые используются узлами. Это нужно для применения нового шаблона виртуальной машины. Поэтому процесс масштабирования влияет на доступность как API кластера, так и размещенных в кластере рабочих нагрузок:

Если кластер не является отказоустойчивым и содержит один master-узел, то Kubernetes API будет недоступен до завершения масштабирования.

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

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

Например, если разместить все реплики на одном worker-узле, то при его перезапуске рабочая нагрузка станет недоступна, даже если есть другие worker-узлы в группе узлов.

Настройте репликацию так, чтобы часть реплик рабочей нагрузки была доступна при перезапуске worker-узлов.

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

Следите, чтобы при масштабировании в сторону уменьшения вычислительных ресурсов хватало итогового объема ресурсов в группе узлов.