Вы можете автоматизировать назначение лейблов и аннотаций пространствам имён в кластере Deckhouse на основе заданных шаблонов. Это полезно, например, когда нужно автоматически включать новые пространства имён в мониторинг без ручного редактирования каждого из них.
Как это работает
- Все пространства имён, чьи названия совпадают с шаблонами в
includeNames
и не совпадают с шаблонами вexcludeNames
, получают указанные лейблы и аннотации. - При изменении конфигурации лейблы и аннотации на существующих пространствах имён обновляются автоматически.
- Новые пространства имён, подходящие под условия шаблонов, также получают нужные лейблы и аннотации автоматически.
Настройка автоматического назначения лейблов и аннотаций
Включите модуль namespace-configurator
:
d8 platform module enable namespace-configurator
Настройте автоматическое назначение лейблов и аннотаций в ModuleConfig namespace-configurator
:
- Перечислите аннотации и лейблы, которые должны применяться к пространствам имён, в полях
settings.configurations.annotations
иsettings.configurations.labels
соответственно; - Укажите шаблоны названий пространств имён, к которым должны применяться настройки:
- в поле
includeNames
перечислите регулярные выражения, соответствующие нужным названиям; - в поле
excludeNames
перечислите те, которые нужно исключить.
- в поле
Пример конфигурации
В следующем примере конфигурации настраивается автоматическое добавление лейбла extended-monitoring.deckhouse.io/enabled=true
и аннотации foo=bar
ко всем пространствам имён, названия которых начинаются с prod-
или infra-
, за исключением infra-test
:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: namespace-configurator
spec:
version: 1
enabled: true
settings:
configurations:
- annotations:
foo: bar
labels:
extended-monitoring.deckhouse.io/enabled: "true"
includeNames:
- "^prod"
- "^infra"
excludeNames:
- "infra-test"