Автоматическое масштабирование группы узлов
Автоматическое масштабирование группы узлов — это изменение размера группы узлов на основе запросов ресурсов для подов, запущенных на узлах этой группы.
Как происходит масштабирование
Вы указываете минимальный и максимальный размер группы узлов, а кластер Kubernetes периодически проверяет состояние подов и узлов:
- Если поды не могут быть назначены из-за нехватки ресурсов (vCPU, памяти) на существующих узлах, число узлов в группе будет постепенно увеличиваться до указанного максимального размера.
- Если нагрузка на узлы недостаточная и все поды могут быть назначены с меньшим количеством узлов в группе, число узлов в группе будет постепенно уменьшаться до указанного минимального размера.
Важно
Изменение размера автомасштабируемой группы производится с помощью Kubernetes cluster-autoscaler и имеет большое количество неочевидных особенностей. При возникновении неожиданного поведения мы рекомендуем обратиться к его FAQ. В частности:
- Если нагрузка в кластере может быть распределена на меньшее число узлов, но поды по каким-то причинам не могут быть расселены с узлов, то количество узлов в группе не уменьшится.
- Фактическое число узлов в группе может быть меньше, чем минимальный размер группы узлов. Это может произойти, если:
- минимальный размер автомасштабируемой группы узлов был увеличен после создания группы;
- фактическая нагрузка в кластере не требует большего количества узлов, чем есть в данный момент.
Примечание
При подсчете текущих лимитов и квот сервис Managed Service for Kubernetes учитывает указанный максимальный размер группы узлов как фактический, независимо от текущего размера группы.
Автоматическое масштабирование группы узлов не тоже самое, что горизонтальное масштабирование подов (Horizontal Pod Autoscaler). В последнем случае контроллер периодически запрашивает информацию об использовании ресурсов по метрикам, указанным в каждом описании объекта API Kubernetes HorizontalPodAutoscaler. Вы можете использовать оба механизма одновременно.