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