有人可以解释argo中循环任务的输出是什么?

问题描述

根据文档:https://github.com/argoproj/argo/blob/v2.10.0/docs/variables.md#dag-templates

tasks.<STEPNAME>.outputs.parameters:当上一个任务使用'withItems'时,它包含每个调用的输出参数的JSON数组(文档中有错误, STEPNAME应该为{{1} },已固定在主服务器上)

尝试以下简单的工作流程时:

TASKNAME

我收到以下错误: apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: test-workflow- spec: entrypoint: start templates: - name: start dag: tasks: - name: with-items template: hello-letter arguments: parameters: - name: input-letter value: "{{item}}" withItems: - A - B - C - name: show-result dependencies: - with-items template: echo-result arguments: parameters: - name: input value: "{{tasks.with-items.outputs.parameters}}" - name: hello-letter inputs: parameters: - name: input-letter outputs: parameters: - name: output-letter value: "{{inputs.parameters.input-letter}}" script: image: alpine command: ["sh"] source: | echo "{{inputs.parameters.input-letter}}" - name: echo-result inputs: parameters: - name: input outputs: parameters: - name: output value: "{{inputs.parameters.input}}" script: image: alpine command: ["sh"] source: | echo {{inputs.parameters.input}}

Argo版本(在minikube集群中运行)

Failed to submit workflow: templates.start.tasks.show-result failed to resolve {{tasks.with-items.outputs.parameters}}

在Argo 2.8.1中出现相同的错误,尽管在show-result任务中使用argo: v2.10.0+195c6d8.dirty BuildDate: 2020-08-18T23:06:32Z GitCommit: 195c6d8310a70b07043b9df5c988d5a62dafe00d GitTreeState: dirty GitTag: v2.10.0 GoVersion: go1.13.4 Compiler: gc Platform: darwin/amd64 代替.result可以正常工作(结果为.parameters),但在不再是2.10

[A,B,C]

结果:

        - name: show-result
          dependencies:
          - with-items
          template: echo-result
          arguments:
            parameters:
            - name: input
              value: "{{tasks.with-items.outputs.result}}"

我还尝试将显示结果任务更改为:

STEP                                TEMPLATE      PODNAME                                     DURATION  MESSAGE
 ⚠ test-workflow-parallelism-xngg4  start                                                                                                                     
 ├-✔ with-items(0:A)                hello-letter  test-workflow-parallelism-xngg4-3307649634  6s                                                              
 ├-✔ with-items(1:B)                hello-letter  test-workflow-parallelism-xngg4-768315880   7s                                                              
 ├-✔ with-items(2:C)                hello-letter  test-workflow-parallelism-xngg4-2631126026  9s                                                              
 └-⚠ show-result                    echo-result                                                         invalid character 'A' looking for beginning of value

执行没有错误:

        - name: show-result
          dependencies:
          - with-items
          template: echo-result
          arguments:
            parameters:
            - name: input
              value: "{{tasks.with-items.outputs.parameters.output-letter}}"

但是该参数不会替换为值:

STEP                                TEMPLATE      PODNAME                                     DURATION  MESSAGE
 ✔ test-workflow-parallelism-qvp72  start                                                                 
 ├-✔ with-items(0:A)                hello-letter  test-workflow-parallelism-qvp72-4221274474  8s          
 ├-✔ with-items(1:B)                hello-letter  test-workflow-parallelism-qvp72-112866000   9s          
 ├-✔ with-items(2:C)                hello-letter  test-workflow-parallelism-qvp72-1975676146  6s          
 └-✔ show-result                    echo-result   test-workflow-parallelism-qvp72-3460867848  3s 

我不明白作为循环输出会发生什么!我错过了什么?有没有办法找出正在发生的事情?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...