提问者:小点点

Tekton管道:使用已发布的管道yaml启用alpha功能,无需存储(


我们想使用Tekton实验功能,例如管道中的管道功能。我们已经通过kubectl application安装了README中描述的功能,但最终出现了如下错误:

Pipeline default/buildpacks-test-pipeline can't be Run; it contains Tasks that don't exist: Couldn't retrieve Task "generic-gitlab-set-status": tasks.tekton.dev "generic-gitlab-set-status" not found

在这个问题中,我们需要在我们的部署中启用Tekton alpha功能。在自定义管道控制器行为的Tekton文档中,描述了所有功能标志-包括Alpha功能。如果我们想使用这些功能,我们应该将enable-api字段:字段从稳定更改为alpha

安装Tekton管道的推荐方法是使用kubectl application利用远程提供的yaml文件:

kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml

在里面我们看到ConfigMapfeature ure-标志(缩短):

apiVersion: v1
kind: ConfigMap
metadata:
  name: feature-flags
  namespace: tekton-pipelines
  labels:
    app.kubernetes.io/instance: default
    app.kubernetes.io/part-of: tekton-pipelines
data:
  ...
  # Setting this flag will determine which gated features are enabled.
  # Acceptable values are "stable" or "alpha".
  enable-api-fields: "stable"
  ...

有没有一种方法可以将enable-api-field字段更改为alpha,而无需存储(并长期维护)官方Tekton管道yaml文件?


共1个答案

匿名用户

curl的简单组合下载文件并将其导入sed,将稳定替换为alpha就像一个魅力-特别是因为这个标志是唯一包含稳定的行(除了正上方的注释行)。sed是使用库伯斯内特yaml文件设置动态值的常用工具。

您可以在末尾添加grep来测试它以查看更改的行:

curl https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml | sed "s#stable#alpha#g" | grep enable-api-fields

现在将该命令与最终的kubectl application-f-(而不是grep)结合使用将执行要求:

curl https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml | sed "s#stable#alpha#g" | kubectl apply -f -

现在正式发布的Tekton管道yaml被配置为即时使用alpha功能——例如,无需在自定义git存储库中存储和维护ConfigMap

相关问题