Добавление пользовательских образов задач в селектор
В этом руководстве объясняется, как настроить параметры селектора для параметра image в UI-форме Task, охватывая два сценария:
- Добавление образов для hub Tasks
- Добавление образов для задач в вашем собственном namespace.
Содержание
Обзор функцииСценарии использованияПредварительные требованияСценарий A: Добавление образов в селектор Hub Task1. Найдите селектор меток в дескрипторе Task2. Создайте ConfigMap в kube-public3. Примените и проверьтеСценарий B: Добавление образов в селектор вашей собственной Task1. Настройтеstyle.tekton.dev/descriptors в Task2. Создайте соответствующий ConfigMap в kube-public3. Примените и проверьтеСоветы по обслуживаниюОбзор функции
- Каждая опция селектора берётся из
ConfigMapсdata.name(метка) иdata.image(значение). - Метки, специфичные для задачи (например,
catalog.tekton.dev/tool-image-python), позволяют UI сопоставлятьConfigMapsс нужным параметромTask. - UI запрашивает namespace, указанный в аннотации
Task(например,kube-public), используя селектор меток, определённый в дескриптореTask, затем отображает селектор с полученными результатами.
Сценарии использования
- Добавить пользовательский образ зеркала реестра для селектора
Task. - Ввести новую минорную версию runtime наряду с существующими опциями селектора.
- Предоставить вариант с усиленным образом для пользовательской
Task.
Предварительные требования
- Установлены Tekton Pipelines.
- Вы можете создавать
ConfigMapsвkube-public. - Вы можете установить
style.tekton.dev/descriptorsна целевойTask(Hub Tasksуже предоставляют это; для пользовательскихTasksнужно добавить самостоятельно).
Сценарий A: Добавление образов в селектор Hub Task
Используйте этот путь, если расширяете селектор Hub Task.
1. Найдите селектор меток в дескрипторе Task
Найдите аннотацию style.tekton.dev/descriptors у Task и найдите запись, у которой path указывает на параметр image.
Дескриптор, заканчивающийся на urn:alm:descriptor:expression:props.options:api, содержит запрос labelSelector=...; ключ метки там должен присутствовать в вашем ConfigMap.
В следующем примере нужно создать ConfigMap с меткой catalog.tekton.dev/tool-image-python в namespace kube-public.
Для дополнительной информации о style.tekton.dev/descriptors смотрите How to Configure Dynamic Forms.
2. Создайте ConfigMap в kube-public
Создайте ConfigMap, используя этот ключ метки.
По умолчанию задачи поставляются с
ConfigMaps, помеченнымиcatalog.tekton.dev/source: system, чтобы указать записи, предоставленные платформой. Не изменяйте и не удаляйте их, а ваши пользовательскиеConfigMapsне должны содержать эту метку.
3. Примените и проверьте
Откройте форму Task; селектор теперь должен включать Python 3.10 и устанавливать образ в
registry.example.com/tekton/python:3.10.
Сценарий B: Добавление образов в селектор вашей собственной Task
Используйте этот путь, если вы управляете определением Task и нужно настроить дескрипторы и ConfigMaps.
1. Настройте style.tekton.dev/descriptors в Task
Пример дескриптора Task для селектора образов:
Элементы дескриптора и их назначение:
Для дополнительной информации о style.tekton.dev/descriptors смотрите How to Configure Dynamic Forms.
2. Создайте соответствующий ConfigMap в kube-public
Используйте тот же ключ метки, который запрашивает ваш дескриптор. Для пользовательских Tasks предпочтительно использовать ключ метки, который не конфликтует с
селекторами по умолчанию, чтобы избежать случайного отображения в Hub Tasks.
По умолчанию задачи поставляются с
ConfigMaps, помеченнымиcatalog.tekton.dev/source: system, чтобы указать записи, предоставленные платформой. Не изменяйте и не удаляйте их, а ваши пользовательскиеConfigMapsне должны содержать эту метку.
Вы также можете разместить ConfigMap в любом другом предпочитаемом namespace; просто убедитесь, что namespace ConfigMap совпадает с namespace, указанным в аннотации style.tekton.dev/descriptors Task.
Например, вы можете установить аннотацию Task, как в примере ниже, заменив <NAMESPACE> на ваш namespace.
3. Примените и проверьте
Откройте форму вашей Task; селектор должен содержать Python 3.13 (Team Edition) и устанавливать образ в
registry.example.com/internal/python:3.13.
Советы по обслуживанию
- Обновляйте пользовательскую опцию, редактируя и повторно применяя её
ConfigMap. - Удаляйте опцию, удаляя только ваш пользовательский
ConfigMap; оставляйте без изменений любыеConfigMapс меткойcatalog.tekton.dev/source: system.