快速开始
目录
Tekton Results 的安装前提条件使用 operator CRD 安装验证功能1. 创建一个TaskRun 资源2. 等待 task 执行完成3. 使用 tkn-results CLI 查询结果参考资料Tekton Results 的安装
本文档说明如何使用现有数据库安装 Tekton Results。
目前不支持内置 PostgreSQL 数据库,请使用外部数据库。
关于外部数据库,请参阅 使用 Data Services 中的 PostgreSQL
Tekton Results 支持将日志存储在多种存储后端中。目前推荐使用与 S3 兼容的对象存储(例如 AWS S3、Ceph、MinIO),以实现可扩展且持久的日志保留。有关 S3 存储的详细配置,请参阅 S3 存储配置指南。不建议在生产环境中使用本地 PVC 存储。
前提条件
-
集群中必须已安装 Tekton Pipelines。
TIP以下说明假定您已默认将 Results 安装到
tekton-pipelines命名空间中。如果您将其安装到了其他命名空间,请将
tekton-pipelines替换为您的命名空间。 -
创建数据库 root 密码。
用户必须先生成数据库 root 密码,并在安装前将其存储到 Kubernetes Secret 中。默认情况下,Tekton Results 期望该
Secret具有以下属性:- Namespace:
tekton-pipelines - Name:
tekton-results-postgres - 包含以下字段:
POSTGRES_USER=<your_username>POSTGRES_PASSWORD=<your_password>
您可以使用以下命令快速创建一个
Secret: - Namespace:
-
生成证书/密钥对。注意:可以使用任何证书管理软件完成此操作!
Tekton Results 期望将证书/密钥对存储在名为
tekton-results-tls的 TLS Kubernetes Secret 中。-
生成新的自签名证书
TIP如果您的
openssl版本过低且不支持某些参数,请通过 openssl binaries 升级您的openssl版本。 -
根据证书创建新的 TLS Secret。
-
-
(仅适用于快速开始)如果您使用的是旧版
File存储类型(不建议用于生产环境),请创建一个PVC。WARNING基于 PVC 的本地存储不建议在生产环境中使用。推荐使用与 S3 兼容的对象存储,以实现可扩展且持久的日志保留。有关 S3 存储配置,请参阅 S3 存储配置指南。
如果您仍需要将 PVC 用于测试目的:
- 请根据需要调整 PVC 大小。
- 注意:仅在使用旧版 File 存储类型时才需要此步骤。
使用 operator CRD 安装
DETAILS
Tekton Results 的所有配置字段都嵌套在 TektonConfig 资源的 spec.result 下。
db_host:数据库主机。db_port:数据库端口。db_name:数据库名称。is_external_db:是否使用外部数据库。true:使用外部数据库。
db_secret_name:包含数据库账户信息的 secret 名称。- 这是上一步创建的 secret。
server_port:服务端口。targetNamespace:部署 Results 的命名空间。auth_disable:是否禁用认证。db_enable_auto_migration:是否启用数据库自动迁移。log_level:日志级别。logs_api:是否启用 logs API。true:启用 logs API。
logs_type:日志类型。File:将日志存储在文件中(不建议用于生产环境)。S3:将日志存储在与 S3 兼容的对象存储中(例如 AWS S3、Ceph、MinIO)。这是推荐的方法,适用于可扩展且持久的日志保留。有关详细配置,请参阅 S3 存储配置指南。
secret_name:包含 S3 账户信息的 secret 名称。有关详细配置,请参阅 S3 存储配置指南。logs_path:日志路径。logs_buffer_size:日志缓冲区大小。logging_pvc_name:用于存储日志的 PVC 名称(仅在使用旧版 File 存储类型时需要)。- 这是上一步创建的 PVC(使用 S3 存储时不需要)。
有关更多数据库配置,请参阅 PostgreSQL 配置
部署后,您可以看到 results-api / results-retention-policy-agent / results-watcher 的状态为 Running
验证功能
可以通过一个简单的 taskrun 来验证功能。
1. 创建一个 TaskRun 资源
对于 air-gapped 环境,请将 alpine 镜像地址更改为网络中已存在的其他镜像
2. 等待 task 执行完成
3. 使用 tkn-results CLI 查询结果
准备 CLI
tkn 是一个用于与 Tekton 交互的命令行工具。您可以从 官方页面 下载它。
您需要使用 golang 构建 tkn-results。
不要始终从
main构建。请使用与您环境中部署的 Tekton Results 版本匹配的 release 分支。 您可以在 发行说明 中找到 Results 组件版本(Results列),然后检出对应的分支release-v<version>.x。
连接行为
当未设置
--addr时,tkn-results会尝试自动 port-forward 到 Results API service。在许多版本中(包括
release-v0.15.x),自动目标为tekton-pipelines/tekton-results-api-service。 如果您的 Results 部署使用了不同的命名空间或 service 名称,自动模式可能会失败。当设置了
--addr时,tkn-results会直接连接到该地址。 在这种情况下,您通常需要自行运行kubectl port-forward。
查询执行记录列表
自动 port-forward 失败时的回退方案
查询单个执行记录
查询日志列表
查询单个日志
Logs API 版本可能因部署而异。 如果您遇到
unknown service tekton.results.v1alpha3.Logs,请使用--v1alpha2标志重试该命令。