OpenShift 管道 - 如何一次只允许运行一个管道?

问题描述 投票:0回答:1

您好,我是 OpenShift 的新手,从我所看到的情况来看,如果我转到 Pipeline 并选择启动两次,两个 PipelineRun 将立即并行运行。这将导致错误,因为两个运行的 pod 将尝试访问相同的 pvc,然后 pod 将陷入错误状态。 Pod 将具有事件消息“Pod 已使用卷”。

如何强制一次只能运行一个管道? OpenShift 中是否可以让这些管道运行排队等待现有管道完成?有 OpenShift 解决方案吗?如果 OpenShift 中没有现成的解决方案,是否存在标准解决方法或插件?

openshift redhat tekton tekton-pipelines openshift-pipelines
1个回答
0
投票

解决方案是在

volumeClaimTemplate
中使用
pipeline-run
。通过这种方式,每次运行都会获得自己的持久卷。 将类似的内容放入管道运行中,或者如果从控制台运行,则选择卷模板:

  workspaces:
    - name: workspace
      volumeClaimTemplate:
        spec:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 1Gi
          volumeMode: Filesystem

虽然它并不禁止管道并行运行,但它会给它们单独的卷 - 所以不会发生冲突。

© www.soinside.com 2019 - 2024. All rights reserved.