Как работает Kubernetes Cluster Autoscaler? Базовый флоу выглядит так
Pending Pod → Cluster Autoscaler → добавление ноды → Scheduler размещает Pod
Когда Pod переходит в состояние Pending, потому что scheduler не может найти ноду с достаточным количеством ресурсов, Cluster Autoscaler проверяет, поможет ли добавление новой ноды из одной из настроенных node group запустить этот Pod.
Если да, он масштабирует соответствующую node group вверх.
После того как новая нода присоединяется к кластеру, scheduler размещает на ней ожидающий Pod.
В обратную сторону это тоже работает.
Если нода долго остаётся недозагруженной и её Pods можно безопасно перенести на другие ноды, Cluster Autoscaler дренирует эту ноду и уменьшает размер node group.
Cluster Autoscaler часто используют вместе с HPA.
Вот как они работают в связке:
- Когда трафик растёт, HPA создаёт больше Pods
- Из-за нехватки ресурсов на нодах часть Pods переходит в Pending
- Cluster Autoscaler замечает это и добавляет новые ноды
- После этого pending Pods планируются на новых нодах
Вот практический гайд по настройке Cluster Autoscaler в AWS EKS.
Читать: devopscube.com/cluster-autosc
👉 DevOps Portal
Post #2099
708

- ❤ 1