如何通过 tkn CLI 传递 VolumeClaimTemplate 并在启动 Pipeline 时使用它们,以便将其应用于 PipelineRun

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

有没有办法将声明作为 VolumeClaimTemplate 传递,然后将其值提供给管道,以便在管道执行时创建 PipelineRun 而不是 PVC 时使用这些值?

我有这个 VolumeClaimTemplate(参见图片),需要通过 tkn start pipeline-name CLI 命令传递其详细信息:

我的整个 CLI 命令如下:

tkn pipeline start run-tests-portal-with-report --showlog \
 -w name=shared-data,claimName=VolumeClaimTemplate,storageClassName=default-netapp-disk,accessModes=ReadWriteOnce,storage=1Gi,volumeMode=Filesystem \
 -w name=git-credentials,secret=gh-token \
 -p repo-url=https://github.com/my-project-url \
 -p revision=PRJT-123

现在这是我在 openshift 中遇到的错误:

消息:>- Pod 状态 "PodScheduled":"False";消息:“0/12 个节点可用: 12 持久卷声明“VolumeClaimTemplate”未找到。抢占: 0/12个节点可用:12个抢占对调度没有帮助。”

我理解这个问题,但如何通过 CLI 告诉它“使用这个 VolumeClaimTemplate”,其中“StorageClassdefault-netapp-disk”以及其他详细信息(尽管当我手动选择存储时) UI 中的类会自动设置访问模式、大小和卷模式),然后它将使用它在 PipelineRun 中运行时创建PersistentVolume

我希望这已经足够解释了,这是否可行?

我尝试了很多方法但找不到解决方案,我什至不确定这是否可行。

command-line-interface openshift tekton tekton-pipelines
1个回答
0
投票

您提供的命令将在

PipelineRun
中创建一个不正确的工作区,如下所示:

workspaces:
  - name: source
    persistantVolumeClaim:
      claimName: VolumeClaimTemplate

使用

VolumeClaimTemplateFile
CLI 时,需要将
—workspace
选项与
tkn
参数一起使用,如下所示 (https://github.com/tektoncd/cli/pull/1066):

tkn pipeline start pipeline-with-workspace --workspace name=myworkspace,volumeClaimTemplateFile=/path/to/pvc.yaml

其中

pvc.yaml
是适合您的情况的文件:

spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  storageClassName: default-netapp-disk
  resources:
    requests:
      storage: 1Gi

通过运行命令,生成的

PipelineRun
将是:

apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  name: my-pipelinerun-name
spec:
  workspaces:
    - name: myworkspace
      volumeClaimTemplate:
        spec:
          accessModes:
            - ReadWriteOnce
          volumeMode: Filesystem
          storageClassName: default-netapp-disk
          resources:
            requests:
              storage: 1Gi    
pipelineRef:
    name: pipeline-with-workspace
© www.soinside.com 2019 - 2024. All rights reserved.