Kubernetes v1.37: Масштабируйт... Заметка
Kubernetes Blog на русском

Kubernetes v1.37: Масштабируйте рабочие нагрузки до нуля с помощью HorizontalPodAutoscaler

Kubernetes v1.37 теперь предлагает бета-поддержку API для масштабирования рабочих нагрузок до нуля реплик, по умолчанию. Это позволяет HorizontalPodAutoscaler сокращать неиспользуемые ресурсы до нуля, а затем масштабироваться обратно при необходимости. Ранее эта функциональность требовала внешних дополнений или альфа-флагов функций. Масштабирование до нуля особенно выгодно для таких рабочих нагрузок, как потребители очередей, где экономия ресурсов может быть значительной, особенно при использовании дорогостоящего выделенного оборудования.Основным компромиссом является увеличение времени холодного старта, поскольку системе необходимо наблюдать за метриками, планировать pod и запускать приложение. Этот подход наиболее эффективен, когда работа может быть временно удержана в долговечной очереди. В отличие от метрик CPU или памяти, которые перестают существовать при исчезновении pod, объектные и внешние метрики сохраняются независимо. Это позволяет HorizontalPodAutoscaler продолжать отслеживать метрики, такие как длина очереди, даже когда рабочие pod не запущены.Для масштабирования с нуля необходим адаптер внешних метрик, такой как Prometheus Adapter, для предоставления метрик, таких как отставание потребителя очереди, в Kubernetes. Затем HorizontalPodAutoscaler настраивается с минимальным количеством реплик, равным нулю, и нацеливается на внешнюю метрику для управления масштабированием. Специальное условие состояния ScaledToZero отличает автоматическое масштабирование вниз от ручной паузы, гарантируя, что HorizontalPodAutoscaler может возобновить управление. Эта функция, ранее находившаяся в альфа-версии, перешла в бета-версию в v1.37 и включена по умолчанию для повышения эффективности использования ресурсов.