使用 Hub Resolver 消费资源
功能概览
Tekton hub resolver 可以在 TektonConfig 将 Artifact Hub 端点指向 shim API 时,从 artifacthub-shim 获取远程 Task、Pipeline 和 StepAction 清单。
resolver 的 catalog 参数必须与 ConfigMap 支持的仓库对应的 repository.yaml gitRepositories[].repositories[].name 值匹配,或者是以下内置 catalog 名称之一:
只有当打包的 catalog 包含 stepaction/ 目录时,才会注册内置 StepAction catalog。
前提条件
- 已安装并可用
artifacthub-shim。 - 已启用 Tekton hub resolver。
TektonConfig.spec.pipeline.hub-resolver-config.default-type已设置为artifact,或者每个引用都显式传递type: artifact。default-tekton-hub-catalog仍然设置为catalog;当前 resolver 版本即使在 Artifact Hub 模式为默认值时也仍会读取该项。
引用 Task
在 taskRef 中使用远程 Task。
引用 Pipeline
在 pipelineRef 中使用远程 Pipeline。
引用 StepAction
在 step 的 ref 中使用远程 StepAction。
StepAction 引用应显式传递 catalog。当前 hub resolver 的默认值
仅包含 Artifact Hub 的 task 和 pipeline catalog 设置。
历史 Pipeline Catalog 兼容性
较旧的 Pipeline 引用可能会使用 catalog: catalog。新的引用应使用
catalog-pipelines,但 shim 会保留一个从 pipeline/catalog 到 pipeline/catalog-pipelines 的内置 catalog 别名以保证兼容性。有关确切行为和建议的清理方式,请参阅
历史 Pipeline Catalog 引用。
参数参考
验证
如果资源未能解析,请先检查 TaskRun 或 PipelineRun
状态:
resolver 失败通常会在工作负载 Pod 创建之前出现。如果失败信息提到缺少 catalog、包或版本,请检查仓库 ConfigMap Events:
查找 RepositorySourceReady、RepositorySourceInvalid 或
RepositorySourceDegraded。仅当运行状态和仓库 Events 仍无法解释失败原因时,才使用 resolver 日志。