我有一个问题,我需要同时触发多个管道运行,而运行将花费更长的时间,超过1个小时。默认情况下,管道运行的全局超时为1小时,因此它会失败。管理OpenShift集群的团队不想更改全局超时,所以我必须以某种方式覆盖它。
我使用的资源是EventListener、触发器绑定、触发器模板、管道和管道运行。
我曾尝试为管道任务设置超时,如下所示:
runAfter:
- fetch-repository
taskRef:
kind: ClusterTask
name: buildah
timeout: "3h0m0s"
但是,PipelineRun超时似乎具有优先权,因此不起作用。
- OpenShift版本:4.9.35
- K8S版本:v1.22.8
- Tekton似乎是随OpenShift一起安装的,找不到哪个版本,但可能很新。
有什么主意吗?
2条答案
按热度按时间bsxbgnwa1#
这是OpenShift的一个已知问题,我有一个功能请求与Redhat支持提交关于这一点…已经一年多了.
尽管您提到了使用EventListeners:在这种情况下,您应该能够强制您自己的管道运行超时,从而设置您的TriggerTemplate。
试试这个:
唯一的问题是,你不能从OpenShift控制台使用它们。您需要确保使用您的EventListener,启动该管道(例如:使用cURL、oc插件等),强制执行正确的超时配置。
lstz6jyr2#
您可以在管道运行中指定超时:
如果将其设置为0,它将在遇到错误时立即失败。目前,它可以在OpenShift管道上运行,但可能会像在Tekton中那样被弃用(不是完全弃用,只是改变了语法)。