Конфигурация пространства имён
Настройте различные политики очистки для каждого пространства имён в соответствии с требованиями к хранению данных в конкретной среде.
Содержание
Иерархия конфигурацииГраницы валидацииМетод 1: Встроенные спецификации пространства имён (Централизованно)Метод 2: ConfigMaps на уровне пространства имён (Самообслуживание)Правила валидации1. Явные глобальные лимиты2. Системные лимиты по умолчанию3. Переопределение значений по умолчаниюНаследование конфигурацииПоддержка селекторовРаспространённые шаблоныРекомендации по использованиюСледующие шагиИерархия конфигурации
Порядок применения настроек: Global → Namespace → Resource Group
Установите enforcedConfigLevel: namespace в глобальной конфигурации для включения переопределений на уровне пространства имён.
Границы валидации
КРИТИЧНО - Системные границы: Создавайте ConfigMaps на уровне пространства имён ТОЛЬКО в пользовательских пространствах имён, где выполняются PipelineRuns/TaskRuns.
ЗАПРЕЩЁННЫЕ пространства имён (валидация отклонит):
- Системные:
kube-* - Контроллеры Tekton:
tekton-pipelines,tekton-*
Обязательные метки для всех конфигураций:
ConfigMaps на уровне пространства имён находятся вне жизненного цикла TektonConfig. Если потребуется резервное копирование или восстановление конфигурации Tekton, сохраните эти ConfigMaps отдельно.
Метод 1: Встроенные спецификации пространства имён (Централизованно)
Определите все конфигурации пространств имён внутри TektonConfig:
Метод 2: ConfigMaps на уровне пространства имён (Самообслуживание)
Рекомендуется для изоляции пространств имён и автономии команд.
Шаг 1: Включите конфигурацию на уровне пространства имён в TektonConfig:
Шаг 2: Создайте ConfigMap, специфичный для пространства имён (фиксированное имя: tekton-pruner-namespace-spec):
Преимущества:
- Самообслуживание для владельцев пространств имён
- Независимое управление жизненным циклом
- Приоритет над глобальной конфигурацией
Правила валидации
Конфигурации пространств имён проверяются на соответствие лимитам для предотвращения исчерпания ресурсов.
1. Явные глобальные лимиты
Если в глобальной конфигурации задан лимит, конфигурации пространств имён не могут его превышать.
2. Системные лимиты по умолчанию
Если глобальные лимиты не заданы, система применяет следующие максимумы:
Пример:
3. Переопределение значений по умолчанию
Администраторы кластера могут задавать более строгие лимиты через глобальную конфигурацию. Глобальные лимиты имеют приоритет над системными, но не могут превышать системные максимумы.
Наследование конфигурации
Неуказанные настройки наследуются с более высокого уровня:
Поддержка селекторов
ВАЖНО: Селекторы ресурсов (matchLabels, matchAnnotations) работают только в ConfigMaps на уровне пространства имён (tekton-pruner-namespace-spec), НЕ в встроенных спецификациях пространств имён глобального ConfigMap.
Работает (ConfigMap пространства имён):
Игнорируется (встроенное пространство имён в глобальном ConfigMap):
Для групп ресурсов на основе селекторов используйте отдельные ConfigMaps на уровне пространства имён (Метод 2).
Распространённые шаблоны
По средам:
Рекомендации по использованию
- Используйте понятные соглашения по именованию пространств имён
- Начинайте с более свободных лимитов в разработке
- Внедряйте более строгие правила хранения в продакшене
- Документируйте решения по конфигурации пространств имён
- Регулярно пересматривайте и корректируйте настройки
- Тестируйте конфигурации перед развертыванием
- Используйте ConfigMaps на уровне пространства имён для групп с селекторами
Следующие шаги
- Изучите Resource Groups — конфигурации на основе селекторов
- Ознакомьтесь с Time-based Pruning — стратегии TTL
- Просмотрите History-based Pruning — ограничения хранения истории