TektonConfig
TektonConfig — это верхний уровень настраиваемого ресурса, предоставляемого Tekton Operator, который позволяет пользователям устанавливать, настраивать и управлять всеми компонентами Tekton из единой контрольной точки. Он предоставляет единый подход к управлению экосистемой Tekton в рамках кластера Kubernetes.
Содержание
Объяснение терминологииПочему нам нужен TektonConfigПроблема управления компонентами TektonКак TektonConfig решает эти проблемыПреимуществаПрименимые сценарииОграничения и ограниченияПринципыСтруктура TektonConfigКлючевые компоненты и их взаимосвязиПримеры конфигурацииМинимальная конфигурацияКонфигурация производства со всеми компонентамиВажные объяснения параметровКонфигурация конвейераПрименимые сценарииОграничения и ограниченияПринципы/Разъяснения параметровКонфигурация удаленийПрименимые сценарииПримеры конфигурацийСправочные материалыОбъяснение терминологии
Почему нам нужен TektonConfig
Проблема управления компонентами Tekton
Без TektonConfig управление компонентами Tekton в кластере Kubernetes требует:
- Ручной установки и настройки каждого компонента отдельно
- Индивидуального управления версиями компонентов и совместимостью
- Пользовательского сценарирования для обработки обновлений и изменений конфигурации
- Отдельного обслуживания конфигурации каждого компонента
- Сложной координации зависимостей между компонентами
Этот подход приводит к:
- Увеличению операционной сложности
- Более высокому риску ошибок конфигурации
- Трудностям в поддержании совместимости версий
- Времязатратным обновлениям и изменениям
- Непоследовательной конфигурации в разных средах
Как TektonConfig решает эти проблемы
TektonConfig предоставляет единый декларативный подход к:
- Установке нескольких компонентов: Разворачивайте конвейеры, триггеры и другие компоненты из единого ресурса
- Обеспечению совместимости: Оператор управляет совместимостью версий между компонентами
- Централизации конфигурации: Настраивайте все компоненты через одну спецификацию
- Упрощению обновлений: Обновляйте версии компонентов, изменяя один ресурс
- Стандартизации управления: Используйте единообразные шаблоны для всех компонентов
- Включению функций, специфичных для платформы: Настраивайте функции, специфичные для Kubernetes или OpenShift, без усилий
Этот централизованный подход значительно уменьшает операционную сложность и обеспечивает последовательную конфигурацию в разных средах.
Преимущества
- Упрощенное управление: Управляйте всеми компонентами Tekton через единый ресурс
- Сниженные операционные затраты: Оператор обрабатывает установку, конфигурацию и обновления
- Последовательность: Обеспечение последовательной конфигурации для всех компонентов
- Совместимость версий: Оператор обеспечивает совместимость версий компонентов
- Осведомленность о платформе: Предоставляет функции, специфичные для платформы, для Kubernetes и OpenShift
- Декларативная конфигурация: Используйте подходы, специфичные для Kubernetes, для управления всем стеком Tekton
- Сниженный риск ошибок: Централизованная проверка предотвратит неправильные конфигурации
- Очистка ресурсов: Встроенная функция удаления для управления ресурсами кластера
Применимые сценарии
TektonConfig имеет решающее значение в следующих сценариях:
- Производственные CI/CD среды: Упростите управление установленными Tekton в производственной среде.
- Многопользовательские кластеры: Настройте и изолируйте компоненты Tekton в общей среде.
- Корпоративные развертывания: Обеспечьте последовательную конфигурацию в нескольких кластерах.
- Регулируемые среды: Поддерживайте и проверяйте конкретные настройки для соблюдения регуляторных требований.
- Автоматизированная инфраструктура: Используйте подходы GitOps для управления компонентами Tekton.
- Сложные CI/CD рабочие процессы: Координируйте несколько компонентов Tekton для комплексных конвейеров.
Ограничения и ограничения
- Требуются разрешения на уровне кластера для установки и управления компонентами
- Некоторые конфигурации могут быть специфичными для платформы (Kubernetes против OpenShift)
- Изменения в ресурсе TektonConfig могут вызвать повторные развертывания компонентов
- Некоторые сложные конфигурации могут все же потребовать прямого взаимодействия с ресурсами, специфичными для компонентов
- Обновления между основными версиями могут потребовать дополнительных шагов
Принципы
Структура TektonConfig
Ресурс TektonConfig имеет следующую структуру:
Ключевые компоненты и их взаимосвязи
-
Профиль: Определяет, какие компоненты устанавливать
- lite: Устанавливает только основной контроллер конвейера
- basic: Устанавливает контроллеры конвейеров и триггеров
- all: Устанавливает все доступные компоненты
-
targetNamespace: Пространство имен, в котором будут установлены компоненты
- По умолчанию это обычно
tekton-pipelines - Все компоненты устанавливаются в это пространство имен
- По умолчанию это обычно
-
Конфигурации компонентов: Специфические настройки для каждого компонента
- pipeline: Конфигурация для контроллера конвейера
- trigger: Конфигурация для контроллера триггеров
- hub: Конфигурация для Tekton Hub
- results: Конфигурация для Tekton Results
- chain: Конфигурация для Tekton Chains
-
Удаление: Конфигурация для автоматической очистки ресурсов
- resources: Какие ресурсы нужно очищать (TaskRuns, PipelineRuns)
- schedule: Расписание cron для задач очистки
- keep: Количество ресурсов для сохранения
- keep-since: Период времени в секундах для сохранения ресурсов
Примеры конфигурации
Минимальная конфигурация
Конфигурация производства со всеми компонентами
Важные объяснения параметров
Конфигурация конвейера
Раздел конвейера настраивает основной контроллер конвейера.
Применимые сценарии
- Контроль высокой доступности для производственных сред
- Управление использованием ресурсов в ограниченных средах
- Включение экспериментальных функций для тестирования
- Настройка автоматической очистки завершенных запусков
Ограничения и ограничения
- Некоторые функции могут быть специфичными для определенных платформ Kubernetes
- Изменения в настройках высокой доступности могут вызвать временные сбои
- Параметры API уровня alfa могут изменяться между версиями
Принципы/Разъяснения параметров
Ключевые параметры включают:
- disable-affinity-assistant: Контролирует помощника по привязке для рабочих пространств
- disable-creds-init: Контролирует инициализацию учетных данных
- enable-api-fields: Контролирует границы функций (стабильные, альфа, бета)
- performance: Настройки для производительности контроллера и масштабирования
- pruner: Конфигурация для автоматической очистки ресурсов
Конфигурация удалений
Удаление автоматически очищает завершенные TaskRuns и PipelineRuns для управления ресурсами кластера.
Применимые сценарии
- Долгосрочные кластеры с множеством запусков конвейеров
- CI/CD системы с высокой частотой исполнения
- Среды с ограниченными ресурсами хранения
- Сценарии соблюдения нормативных требований, требующие политики хранения