Tekton Hub 配置
目录
概述
本指南涵盖了 Tekton Hub 实例的基本配置,包括安装和核心系统设置。了解如何配置 Tekton Hub 部署的基础部分。
重要提示:如果您是通过
TektonConfig部署的Tekton Hub,请修改TektonConfig资源中的目录配置,而不是直接编辑ConfigMap。直接修改ConfigMap会被Tekton Operator控制器覆盖。
命名空间说明:本指南中
<tekton-pipelines>用作Tekton Hub命名空间的占位符,请替换为您实际的命名空间名称。默认安装使用tekton-pipelines命名空间。
核心配置领域
本指南涵盖了 Tekton Hub 的关键配置主题:
- 目录刷新:自动资源同步
- 分类:资源分类与组织
- Hub 解析器:与
Tekton Pipelines的集成
目录刷新配置
默认刷新间隔
默认情况下,Tekton Hub 每 30 分钟刷新一次目录,以获取配置仓库中的最新资源。
修改刷新间隔
刷新间隔可以通过修改 tekton-hub-api ConfigMap 中的 CATALOG_REFRESH_INTERVAL 设置来配置。
支持的时间单位:
s(秒):30s,60sm(分钟):15m,30m,45mh(小时):1h,2h,12hd(天):1d,2dw(周):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 配置:
在资源中使用分类
目录中的资源可以通过注解引用这些分类:
Hub 解析器配置
Hub 解析器使用户能够在 TaskRuns 和 PipelineRuns 中引用 Hub 资源。正确配置对于目录资源解析至关重要。
前提条件
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 实例,可通过解析器部署中的环境变量配置 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_REFRESH_INTERVAL - 验证目录仓库是否可访问
- 查看 API pod 日志是否有同步错误
- 手动重启 API pod:
kubectl delete pod app=tekton-hub-api -n <tekton-pipelines>
分类配置问题
问题:资源未出现在预期分类中
解决方案:
- 确认分类存在于
Hub配置中 - 检查资源注解是否匹配已配置的分类
- 分类更改后重启 API pod