Доступно в редакциях: 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 применяет изменения.