Tekton Hub 配置
目录
概述核心配置区域Catalog 刷新配置默认刷新间隔修改刷新间隔禁用自动刷新分类配置默认分类添加自定义分类应用分类更改在资源中使用分类Hub 解析器配置先决条件启用 Hub 解析器Hub 解析器配置自定义 Hub 端点应用配置测试 Hub 解析器常见配置问题Hub 解析器问题Catalog 刷新问题分类配置问题概述
本指南涵盖 Tekton Hub 实例的基本配置,包括安装和核心系统设置。了解如何配置 Tekton Hub 部署的基础方面。
重要:如果您通过
TektonConfig部署了Tekton Hub,请直接在TektonConfig资源中修改 catalog 配置,而不是直接编辑ConfigMap。对ConfigMap的直接修改会被Tekton Operator控制器覆盖。
命名空间说明:在本指南中,
<tekton-pipelines>用作您的Tekton Hub命名空间占位符。请将其替换为实际的命名空间名称。默认安装使用tekton-pipelines命名空间。
核心配置区域
本指南涵盖以下 Tekton Hub 配置主题:
- Catalog 刷新:自动资源同步
- 分类:资源分类与组织
- Hub 解析器:与
Tekton Pipelines集成
Catalog 刷新配置
默认刷新间隔
默认情况下,Tekton Hub 每 30 分钟刷新一次 catalog,以从已配置的仓库获取最新资源。
修改刷新间隔
可通过修改 tekton-hub-api ConfigMap 中的 CATALOG_REFRESH_INTERVAL 设置来配置刷新间隔。
支持的时间单位:
s(seconds):30s、60sm(minutes):15m、30m、45mh(hours):1h、2h、12hd(days):1d、2dw(weeks):1w、2w
配置示例:
禁用自动刷新
要完全跳过自动刷新,请将间隔设置为空或 "0":
分类配置
默认分类
Tekton Hub 提供以下用于资源组织的标准分类:
- Automation
- Build Tools
- CLI
- Cloud
- Code Quality
- Continuous Integration
- Deployment
- Developer Tools
- Image Build
- Integration & Delivery
- Git
- Kubernetes
- Messaging
- Monitoring
- Networking
- Openshift
- Publishing
- Security
- Storage
- Testing
- Script
添加自定义分类
您可以通过修改 tekton-hub-api ConfigMap 中的 CATEGORIES 部分来添加自定义分类:
分类指南:
- 使用清晰、具有描述性的名称
- 遵循标题式大小写格式
- 避免与现有分类重复
- 保持名称简洁但有意义
应用分类更改
更新分类后:
-
应用更新后的 ConfigMap:
-
刷新 Hub 配置:
在资源中使用分类
catalog 中的资源可以通过注解引用这些分类:
Hub 解析器配置
Hub 解析器允许用户在 TaskRuns 和 PipelineRuns 中引用 Hub 资源。正确的配置对于 catalog 资源解析至关重要。
先决条件
Tekton Pipelinesv0.41.0 或更高版本- 已安装内置远程解析器
- 已启用 Beta 功能(如果使用 Beta 解析器功能)
启用 Hub 解析器
通过在 feature-flags ConfigMap 中设置功能标志来启用 Hub 解析器:
Hub 解析器配置
通过 hubresolver-config ConfigMap 配置 Hub 解析器默认值:
自定义 Hub 端点
在大多数情况下,您应保持默认的
TEKTON_HUB_API端点(http://tekton-hub-api.tekton-pipelines:8000/)不变。 只有在您明确需要与外部 hub API 集成时,才修改此端点。
对于自定义的 Tekton Hub 实例,请通过 resolver 部署中的环境变量配置 API 端点:
应用配置
更新 resolver 配置后:
-
应用 ConfigMap 更改:
-
重启 resolver 部署:
测试 Hub 解析器
使用一个简单的 TaskRun 测试解析器配置:
常见配置问题
Hub 解析器问题
问题:无法通过 Hub 解析器解析资源
解决方案:
- 验证
Hub解析器是否已启用:kubectl get cm feature-flags -n <tekton-pipelines> -o yaml - 检查解析器配置:
kubectl get cm hubresolver-config -n <tekton-pipelines> - 确保
Hub配置与 resolver 参数中的 catalog 名称一致
Catalog 刷新问题
问题:catalog 没有自动更新
解决方案:
- 检查刷新间隔设置:
CATALOG_REFRESH_INTERVAL - 验证 catalog 仓库是否可访问
- 查看
APIPod 日志中的同步错误 - 手动重启
APIPod:kubectl delete pod app=tekton-hub-api -n <tekton-pipelines>
分类配置问题
问题:资源未出现在预期的分类中
解决方案:
- 验证分类是否存在于
Hub配置中 - 检查资源注解是否与已配置分类匹配
- 在更改分类后重启
APIPod