Стадия жизненного цикла модуля: Experimental
У модуля есть требования для установки
Включение AutoVPA для всех пространств имен
Чтобы включить контроллер AutoVPA для всех пространств имен в кластере, установите settings.autovpa.enabled в true без дополнительных фильтров:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: adaptive-resource-management
spec:
version: 1
enabled: true
settings:
autovpa:
enabled: trueВ этом режиме AutoVPA создает объекты VPA для рабочих нагрузок в каждом пространстве имен.
Включение AutoVPA для определенных пространств имен с помощью label selector
Чтобы ограничить AutoVPA пространствами имен, соответствующими label selector, используйте параметр namespaceLabelSelector:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: adaptive-resource-management
spec:
version: 1
enabled: true
settings:
autovpa:
enabled: true
namespaceLabelSelector:
matchLabels:
env: prodAutoVPA будет управлять только пространствами имен с лейблом env: prod.
Включение AutoVPA для пространств имен со специальным лейблом
Чтобы управлять только пространствами имен, явно отмеченными лейблом autovpa.deckhouse.io/enabled: "true", используйте параметр onlySpecialLabel:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: adaptive-resource-management
spec:
version: 1
enabled: true
settings:
autovpa:
enabled: true
onlySpecialLabel: trueЗатем добавьте лейбл к нужным пространствам имен:
d8 k label namespace my-namespace autovpa.deckhouse.io/enabled=trueКомбинирование label selector со специальным лейблом
Когда одновременно заданы onlySpecialLabel и namespaceLabelSelector, итоговый список управляемых пространств имен формируется как объединение обоих наборов:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: adaptive-resource-management
spec:
version: 1
enabled: true
settings:
autovpa:
enabled: true
onlySpecialLabel: true
namespaceLabelSelector:
matchLabels:
team: backendВ этом примере AutoVPA будет управлять пространствами имен, которые имеют лейбл team: backend или лейбл autovpa.deckhouse.io/enabled: "true" (или оба).
Сводная таблица поведения выбора пространств имен
onlySpecialLabel |
namespaceLabelSelector |
Управляемые пространства имен |
|---|---|---|
false |
не задан | Все пространства имен |
false |
задан | Только пространства имен, соответствующие selector |
true |
не задан | Только пространства имен с лейблом autovpa.deckhouse.io/enabled: "true" |
true |
задан | Объединение: пространства имен, соответствующие selector + пространства имен со специальным лейблом |