Tekton Hub 配置
目录
概述核心配置区域目录刷新配置默认刷新间隔修改刷新间隔禁用自动刷新分类配置默认分类添加自定义分类应用分类更改在资源中使用分类Hub 解析器配置前提条件启用 Hub 解析器Hub 解析器配置自定义 Hub 端点应用配置测试 Hub 解析器常见配置问题Hub 解析器问题目录刷新问题分类配置问题概述
本指南介绍 Tekton Hub 实例的基本配置,包括安装和核心系统设置。了解如何配置 Tekton Hub 部署的基础方面。
重要:如果你是通过
TektonConfig部署的Tekton Hub,请修改TektonConfig资源中的 catalog 配置,而不要直接编辑ConfigMap。直接对ConfigMap的修改会被Tekton Operator控制器覆盖。
命名空间说明:在本指南中,
<tekton-pipelines>用作你的Tekton Hub命名空间的占位符。请将其替换为实际的 namespace 名称。默认安装使用tekton-pipelinesnamespace。
核心配置区域
本指南涵盖 Tekton Hub 配置的关键主题:
- 目录刷新:自动资源同步
- 分类:资源分类与组织
- Hub 解析器:与
Tekton Pipelines集成
目录刷新配置
默认刷新间隔
默认情况下,Tekton Hub 每 30 分钟刷新一次 catalog,以便从已配置的仓库获取最新资源。
修改刷新间隔
可以通过修改 tekton-hub-api ConfigMap 中的 CATALOG_REFRESH_INTERVAL 设置来配置刷新间隔。
支持的时间单位:
s(秒):30s、60sm(分钟):15m、30m、45mh(小时):1h、2h、12hd(天):1d、2dw(周):1w、2w
配置示例:
禁用自动刷新
如果要完全跳过自动刷新,请将间隔设置为空或 "0":
分类配置
默认分类
Tekton Hub 提供以下用于组织资源的标准分类:
- 自动化
- 构建工具
- CLI
- 云
- 代码质量
- 持续集成
- 部署
- 开发人员工具
- 镜像构建
- 集成与交付
- Git
- Kubernetes
- 消息传递
- 监控
- 网络
- Openshift
- 发布
- 安全
- 存储
- 测试
- 脚本
添加自定义分类
你可以通过修改 tekton-hub-api ConfigMap 中的 CATEGORIES 部分来添加自定义分类:
分类指南:
- 使用清晰、具有描述性的名称
- 遵循标题式大小写格式
- 避免与现有分类重复
- 名称要简洁,但要有意义
应用分类更改
更新分类后:
-
应用更新后的 ConfigMap:
-
刷新 Hub 配置:
在资源中使用分类
catalog 中的资源可以通过注解引用这些分类:
Hub 解析器配置
Hub 解析器使用户能够在 TaskRuns 和 PipelineRuns 中引用 Hub 资源。正确配置对于 catalog 资源解析至关重要。
前提条件
Tekton Pipelinesv0.41.0 或更高版本- 已安装内置远程解析器
- 已启用 beta 特性(如果使用 beta 解析器特性)
启用 Hub 解析器
通过在 feature-flags ConfigMap 中设置 feature flag 来启用 Hub 解析器:
Hub 解析器配置
通过 hubresolver-config ConfigMap 配置 Hub 解析器默认值:
自定义 Hub 端点
在大多数情况下,你应该保持默认的
TEKTON_HUB_API端点(http://tekton-hub-api.tekton-pipelines:8000/)不变。 只有在你明确需要与外部 hub API 集成时,才应修改此端点。
对于自定义的 Tekton Hub 实例,可通过解析器部署中的环境变量配置 API 端点:
应用配置
更新解析器配置后:
-
应用 ConfigMap 更改:
-
重启解析器部署:
测试 Hub 解析器
使用一个简单的 TaskRun 测试解析器配置:
常见配置问题
Hub 解析器问题
问题:无法通过 Hub 解析器解析资源
解决方案:
- 验证
Hub解析器是否已启用:kubectl get cm feature-flags -n <tekton-pipelines> -o yaml - 检查解析器配置:
kubectl get cm hubresolver-config -n <tekton-pipelines> - 确保
Hub配置与解析器参数中的 catalog 名称一致
目录刷新问题
问题:catalog 未自动更新
解决方案:
- 检查刷新间隔设置:
CATALOG_REFRESH_INTERVAL - 验证 catalog 仓库是否可访问
- 查看 API pod 日志以排查同步错误
- 手动重启 API pod:
kubectl delete pod app=tekton-hub-api -n <tekton-pipelines>
分类配置问题
问题:资源未出现在预期的分类中
解决方案:
- 验证分类是否存在于
Hub配置中 - 检查资源注解是否与已配置的分类匹配
- 在更改分类后重启 API pod