Быстрый старт
Содержание
Установка Tekton ResultsПредварительные требованияУстановка с использованием operator CRDПроверка работоспособности1. Создайте ресурсTaskRun2. Дождитесь завершения выполнения task3. Используйте CLI tkn-results для запроса результатовСсылкиУстановка Tekton Results
В этом документе описывается, как установить Tekton Results, используя существующую базу данных.
В настоящее время встроенная база данных PostgreSQL не поддерживается, пожалуйста, используйте внешнюю базу данных.
Информацию о внешней базе данных см. в разделе Using PostgreSQL from Data Services
Tekton Results поддерживает хранение логов в различных backend-хранилищах. Совместимое с S3 object storage (например, AWS S3, Ceph, MinIO) сейчас является рекомендуемым подходом для масштабируемого и долговечного хранения логов. Подробную информацию о настройке S3 storage см. в S3 Storage Configuration Guide. Локальное хранилище PVC не рекомендуется для использования в production.
Предварительные требования
-
Tekton Pipelines должен быть установлен в кластере.
TIPСледующие инструкции предполагают, что вы по умолчанию установили Results в namespace
tekton-pipelines.Если вы установили его в другой namespace, пожалуйста, замените
tekton-pipelinesна ваш namespace. -
Создайте root-пароль базы данных.
Перед установкой пользователи должны сгенерировать root-пароль базы данных и сохранить его в Kubernetes Secret. По умолчанию Tekton Results ожидает, что этот
Secretбудет содержать следующие атрибуты:- Namespace:
tekton-pipelines - Имя:
tekton-results-postgres - Следующие поля:
POSTGRES_USER=<your_username>POSTGRES_PASSWORD=<your_password>
Вы можете быстро сгенерировать
Secretс помощью следующей команды: - Namespace:
-
Сгенерируйте пару сертификат/ключ. Примечание: для этого можно использовать любое ПО для управления сертификатами!
Tekton Results ожидает, что пара сертификат/ключ будет храниться в TLS Kubernetes Secret с именем
tekton-results-tls.-
Сгенерируйте новый самоподписанный сертификат
TIPЕсли ваша версия
opensslслишком старая и не поддерживает некоторые параметры, пожалуйста, обновитеopensslиз openssl binaries . -
Создайте новый TLS Secret из сертификата.
-
-
(Только для быстрого старта) Создайте
PVC, если вы используете устаревший тип хранилищаFile(не рекомендуется для production).WARNINGЛокальное хранилище на основе PVC не рекомендуется для использования в production. Совместимое с S3 object storage является рекомендуемым подходом для масштабируемого и долговечного хранения логов. Для настройки S3 storage см. S3 Storage Configuration Guide.
Если вам все же нужно использовать PVC для тестирования:
- При необходимости скорректируйте размер PVC.
- Примечание: это требуется только при использовании устаревшего типа хранилища File.
Установка с использованием operator CRD
DETAILS
Все поля конфигурации Tekton Results вложены в spec.result в ресурсе TektonConfig.
db_host: Хост базы данных.db_port: Порт базы данных.db_name: Имя базы данных.is_external_db: Указывает, использовать ли внешнюю базу данных.true: Использовать внешнюю базу данных.
db_secret_name: Имя secret, содержащего информацию об учетной записи базы данных.- Это secret, созданный на предыдущем шаге.
server_port: Порт сервера.targetNamespace: Namespace, в котором развернут Results.auth_disable: Указывает, отключать ли аутентификацию.db_enable_auto_migration: Указывает, включать ли автоматическую миграцию базы данных.log_level: Уровень логирования.logs_api: Указывает, включать ли Logs API.true: Включить Logs API.
logs_type: Тип логов.File: Сохранять логи в файл (не рекомендуется для использования в production).S3: Сохранять логи в совместимое с S3 object storage (например, AWS S3, Ceph, MinIO). Это рекомендуемый подход для масштабируемого и долговечного хранения логов. Подробную информацию о настройке см. в S3 Storage Configuration Guide.
secret_name: Имя secret, содержащего информацию об учетной записи S3. Подробную информацию о настройке см. в S3 Storage Configuration Guide.logs_path: Путь к логам.logs_buffer_size: Размер буфера логов.logging_pvc_name: Имя PVC для хранения логов (требуется только при использовании устаревшего типа хранилища File).- Это PVC, созданный на предыдущем шаге (не требуется для хранения в S3).
Дополнительную информацию о настройке базы данных см. в PostgreSQL Configuration
После развертывания вы можете увидеть, что статус results-api / results-retention-policy-agent / results-watcher равен Running
Проверка работоспособности
Функциональность можно проверить с помощью простого taskrun.
1. Создайте ресурс TaskRun
Для изолированных от сети сред измените адрес образа alpine на другой, доступный в сети
2. Дождитесь завершения выполнения task
3. Используйте CLI tkn-results для запроса результатов
Подготовка CLI
tkn — это командная строка для взаимодействия с Tekton. Вы можете загрузить ее с официальной страницы.
Вам нужно собрать tkn-results, используя golang.
Не собирайте всегда из
main. Используйте release-branch, соответствующий версии Tekton Results, развернутой в вашей среде. Версию компонента Results можно найти в Release Notes (столбецResults), а затем перейти на соответствующую веткуrelease-v<version>.x.
Поведение подключения
Когда
--addrне задан,tkn-resultsпытается автоматически выполнить port-forward к сервису Results API.Во многих версиях (включая
release-v0.15.x) целевой адрес по умолчанию —tekton-pipelines/tekton-results-api-service. Если ваш deployment Results использует другой namespace или имя сервиса, автоматический режим может не сработать.Когда
--addrзадан,tkn-resultsподключается к этому адресу напрямую. В этом случае вам обычно нужно самостоятельно запускатьkubectl port-forward.
Запрос списка записей выполнения
Резервный вариант при сбое автоматического port-forward
Запрос одной записи выполнения
Запрос списка логов
Запрос одного лога
Версия Logs API может отличаться в зависимости от deployment. Если вы столкнетесь с
unknown service tekton.results.v1alpha3.Logs, повторите команду с флагом--v1alpha2.