Доступно в редакциях:  CE, BE, SE, SE+, EE

Стадия жизненного цикла модуля: Experimental
У модуля есть требования для установки

Модуль adaptive-resource-management предназначен для администраторов кластеров и платформенных инженеров, которые хотят автоматизировать подбор resource requests и limits для рабочих нагрузок. Он избавляет от необходимости вручную настраивать параметры CPU и памяти, используя рекомендации VPA (Vertical Pod Autoscaler).

Модуль разворачивает контроллер AutoVPA на основе Goldilocks, который автоматически создает объекты VPA для рабочих нагрузок в выбранных пространствах имен и предоставляет рекомендации по ресурсам.

Основные возможности

  • Автоматическое создание объектов VPA для Deployments, StatefulSets, DaemonSets и Jobs в управляемых пространствах имен.
  • Гибкий выбор пространств имен: управление всеми пространствами имен, только пространствами имен с определенным лейблом или пространствами имен, соответствующими label selector.
  • Комбинированный режим выбора: использование label selector вместе со специальным лейблом autovpa.deckhouse.io/enabled для формирования объединения подходящих пространств имен.
  • Для режима рекомендаций по умолчанию не требуется менять манифесты приложений; объекты VPA создаются и поддерживаются автоматически.
  • Настройка VPA на уровне workload и namespace через аннотации и лейблы autovpa.deckhouse.io/* — см. Примеры использования.
  • Минимальное потребление ресурсов: контроллер работает в одной реплике с низкими требованиями к CPU и памяти.

Ограничения

  • Для работы объектов VPA в кластере должен быть включен модуль vertical-pod-autoscaler.
  • По умолчанию AutoVPA создает объекты VPA в режиме Off (только рекомендации). Другие режимы задаются аннотациями — см. Примеры использования; для их работы нужен VPA updater, они могут менять ресурсы pod’ов.
  • Пространства имён kube-* и d8-* не управляются AutoVPA.
  • AutoVPA не управляет workload’ами, на которые уже назначен VPA без меток модуля (creator: Deckhouse, source: autovpa).
  • Аннотации на workload применяются не сразу — см. Как AutoVPA применяет изменения.