Cluster Autoscaler
Компонент Kubernetes, добавляющий и убирающий узлы кластера в зависимости от нагрузки на планирование подов. Если поды в статусе pending не помещаются из-за нехватки ресурсов — запускается новый узел. Если узел загружен меньше чем на 50 % — поды выселяются и узел завершается.
Интегрируется с группами автомасштабирования облаков: AWS ASG, GCP MIG, Azure VMSS. При уменьшении учитываются приоритеты подов и PodDisruptionBudget. Классическая ловушка: DaemonSet удерживают узел живым (автомасштабировщик считает их «неперемещаемыми»), и узлы не уменьшаются. Для логирующих DaemonSet нужна аннотация cluster-autoscaler.kubernetes.io/safe-to-evict: "true". Современная альтернатива — Karpenter (изначально AWS, теперь мультиоблачный): действует агрессивнее и подбирает узел точного размера под каждую ожидающую нагрузку вместо выбора из фиксированных групп.