Быстрый старт
Содержание
Установка Tekton ResultsПредварительные требованияУстановка с использованием TektonConfig CRПроверка функциональности1. Создайте ресурсTaskRun2. Дождитесь завершения выполнения taskrun3. Используйте curl для запроса результатов4. Используйте tkn-results CLI для запроса результатовСсылкиУстановка Tekton Results
В этом документе описано, как установить Tekton Results с использованием существующей базы данных.
В настоящее время встроенная база данных PostgreSQL не поддерживается, пожалуйста, используйте внешнюю базу данных.
Подробнее о внешней базе данных см. Using PostgreSQL from Data Services
Предварительные требования
-
В кластере должны быть установлены 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, если вы используетеPVCдля хранения логов.- При необходимости скорректируйте размер PVC.
Установка с использованием TektonConfig CR
:::details {title="Пояснение полей YAML"}
В ресурсе TektonConfig targetNamespace настраивается в spec, а поля Tekton Results — в spec.result.
db_host: Host базы данных.db_port: Port базы данных.db_name: Имя базы данных.is_external_db: Использовать ли внешнюю базу данных.true: Использовать внешнюю базу данных.
db_secret_name: Имя Secret, содержащего сведения об учетной записи базы данных.- Это Secret, созданный на предыдущем шаге.
server_port: Port сервера.targetNamespace: Namespace, в который развернуты Results.auth_disable: Отключить ли аутентификацию.db_enable_auto_migration: Включить ли автоматическую миграцию базы данных.log_level: Уровень логирования.logs_api: Включить ли Logs API.true: Включить Logs API.
logs_type: Тип логов.File: Хранить логи в файле.S3: Хранить логи в объектном хранилище, совместимом с S3.
secret_name: Имя Secret, содержащего учетные данные S3.logs_path: Путь к логам.logs_buffer_size: Размер буфера логов.logging_pvc_name: Имя PVC для хранения логов при использовании типа логовFile.- Это PVC, созданный на предыдущем шаге. :::
Подробнее о конфигурации базы данных см. PostgreSQL Configuration
После развертывания вы сможете увидеть, что статус results-api / results-retention-policy-agent / results-watcher — Running
Проверка функциональности
Функциональность можно проверить с помощью простого taskrun.
1. Создайте ресурс TaskRun
Для изолированных сред без доступа к сети измените адрес образа alpine на другой, доступный в сети
2. Дождитесь завершения выполнения taskrun
3. Используйте curl для запроса результатов
Дополнительные сценарии использования см. в официальной документации Tekton Results API
Подготовка прав доступа
Проверка прав доступа
Проброс портов
Проксируйте службу на локальный порт 8080
Получение Token
Запрос результатов
4. Используйте tkn-results CLI для запроса результатов
Подготовка CLI
tkn — это командная строка для работы с Tekton. Вы можете скачать ее со страницы проекта.
Вам нужно собрать tkn-results с помощью golang.
Не собирайте всегда из
main. Используйте release branch, который соответствует версии Tekton Results, развернутой в вашей среде. Версию компонента Results можно найти в Release Notes (столбецResults), а затем выполнить checkout соответствующей веткиrelease-v<version>.x.
Поведение подключения
Если
--addrне задан,tkn-resultsпопытается автоматически выполнить port-forward к Results API service.Во многих версиях (включая
release-v0.15.x) целевым объектом автоматически будетtekton-pipelines/tekton-results-api-service. Если в вашем развертывании Results используется другой namespace или имя service, автоматический режим может не сработать.Если
--addrзадан,tkn-resultsподключается напрямую к этому адресу. В этом случае обычно нужно самостоятельно запускатьkubectl port-forward.
Запрос списка записей выполнения
Резервный вариант, если автоматический port-forward не сработал
Запрос одной записи выполнения
Запрос списка логов
Запрос одного лога
Версия Logs API может отличаться в зависимости от развертывания. Если вы столкнетесь с
unknown service tekton.results.v1alpha3.Logs, повторите команду с флагом--v1alpha2.