- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Argo 允许基于先前步骤的输出动态生成并行工作流步骤。
此处提供了此动态工作流生成的示例:https://github.com/argoproj/argo-workflows/blob/master/examples/loops-param-result.yaml
我正在尝试使用最终的“扇入”步骤创建一个类似的工作流程,该步骤将从动态创建的并行步骤中读取输出。这是一个尝试:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: loops-param-result-
spec:
entrypoint: loop-param-result-example
templates:
- name: loop-param-result-example
steps:
- - name: generate
template: gen-number-list
- - name: write
template: output-number
arguments:
parameters:
- name: number
value: "{{item}}"
withParam: "{{steps.generate.outputs.result}}"
- - name: fan-in
template: fan-in
arguments:
parameters:
- name: numbers
value: "{{steps.write.outputs.parameters.number}}"
- name: gen-number-list
script:
image: python:alpine3.6
command: [python]
source: |
import json
import sys
json.dump([i for i in range(20, 31)], sys.stdout)
- name: output-number
inputs:
parameters:
- name: number
container:
image: alpine:latest
command: [sh, -c]
args: ["echo {{inputs.parameters.number}} > /tmp/number.txt"]
outputs:
parameters:
- name: number
valueFrom:
path: /tmp/number.txt
- name: fan-in
inputs:
parameters:
- name: numbers
container:
image: alpine:latest
command: [sh, -c]
args: ["echo received {{inputs.parameters.numbers}}"]
我能够提交此工作流程,并且它运行成功。不幸的是,最终的输出
fan-in
步骤如下所示:
fan-in: received {{steps.write.outputs.parameters.number}}
输入值
numbers
参数没有被内插。关于如何让这个工作的任何想法?
最佳答案
聚合步骤输出参数可通过 steps.STEP-NAME.outputs.parameters
访问.无法按名称访问一个参数的一组聚合输出。
对您的工作流程的这种轻微更改应该可以满足您的需求:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: loops-param-result-
spec:
entrypoint: loop-param-result-example
templates:
- name: loop-param-result-example
steps:
- - name: generate
template: gen-number-list
- - name: write
template: output-number
arguments:
parameters:
- name: number
value: "{{item}}"
withParam: "{{steps.generate.outputs.result}}"
- - name: fan-in
template: fan-in
arguments:
parameters:
- name: numbers
value: "{{steps.write.outputs.parameters}}"
- name: gen-number-list
script:
image: python:alpine3.6
command: [python]
source: |
import json
import sys
json.dump([i for i in range(20, 31)], sys.stdout)
- name: output-number
inputs:
parameters:
- name: number
container:
image: alpine:latest
command: [sh, -c]
args: ["echo {{inputs.parameters.number}} > /tmp/number.txt"]
outputs:
parameters:
- name: number
valueFrom:
path: /tmp/number.txt
- name: fan-in
inputs:
parameters:
- name: numbers
container:
image: alpine:latest
command: [sh, -c]
args: ["echo received {{inputs.parameters.numbers}}"]
唯一的变化是删除
.number
来自
{{steps.write.outputs.parameters.number}}
.
received [{number:20},{number:21},{number:22},{number:23},{number:24},{number:25},{number:26},{number:27},{number:28},{number:29},{number:30}]
这是
GitHub issue where output parameter aggregation was discussed/created .
关于kubernetes - Argo 工作流中的动态 "Fan In",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60569353/
我遵循 Argo 工作流程的 Getting Started文档。一切都很顺利,直到我运行第一个示例工作流程,如 4. Run Sample Workflows 中所述.工作流只是停留在挂起状态: v
我正在尝试删除(并重新创建)Argo 命名空间,但它不会完全删除,因为我尝试在那里启动事件源和事件总线。现在这些不会删除。 我试图通过 yaml 和单独删除它们 - 还没有成功。 令人沮丧的结果是我无
当我使用 argo cron delete 删除 Argo cron 工作流时,根据我的观察,所有以前的工作流(已完成以及仍在运行的)似乎也将被删除。不过我不太确定,而且我还没有找到比 https:/
我正在尝试从 argo/argo-events 中的发布请求触发预先存在的 ClusterWorkflowTemplate。 我一直在关注示例 here ,但我不想在传感器中定义工作流程-我想将其分开
我有下面提到的示例 Argo DAG。如下所示,我对每个任务的参数值进行了硬编码。每个任务使用不同的参数值。我知道 Argo 提供了一种以 JSON 或 YAML 格式提交参数文件以动态传递参数值的方
我正在关注 Argo GitHub 上的示例,但是当我将模板移动到步骤中时,我无法更改消息的参数。 apiVersion: argoproj.io/v1alpha1 kind: Workflow me
我安装了 Argo Workflow 的默认 Helm chart ,仅将 init.serviceAccount 配置为我创建的 argo-sa。 (具有足够授权的ServiceAccount) 但
我的 Argo 工作流程有两个步骤,第一个在 Linux 上运行,第二个在 Windows 上运行 apiVersion: argoproj.io/v1alpha1 kind: WorkflowTem
我尝试掌握 Argo 进行 json 解码。在文档中有解码功能的例子 extension User: Decodable { static func decode(j: JSON) -> Deco
本文整理了Java中com.argo.yaml.YamlTemplate类的一些代码示例,展示了YamlTemplate类的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
本文整理了Java中com.argo.yaml.YamlMap类的一些代码示例,展示了YamlMap类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从
我正在尝试访问作为输入工件传递给脚本模板的文件的内容(json 数据)。它失败并出现以下错误 NameError: name 'inputs' is not defined。您是说:“输入”吗? 我的
我创建了一个集群工作流模板,它将执行一些任务。我将使用最后一步的输出作为当前的工作流程参数。当我引用此模板时,我不知道如何从集群工作流任务/步骤中获取 output。 集群工作流模板 apiVersi
我正在尝试 Argo 工作流程并想了解如何卡住步骤。假设我有 3 步工作流程,而工作流程在第 2 步失败。所以我想使用成功的第 1 步工件重新提交第 2 步中的工作流。我怎样才能做到这一点?我在文档的
我正在使用 Argo 并且对工作流示例的工作流程有疑问。 ( https://github.com/argoproj/argo-workflows/blob/master/examples/workf
我有一个遍历 JSON 数组的 Argo 工作流。当列表变得太大时,我会收到如下错误: time="some-time" level=fatal msg="Pod \"some-pod-name\"
如果字符串以特定子字符串开头,我想在 Argo 工作流中执行任务。例如,我的字符串是 tests/dev-or.yaml 如果我的字符串以 tasks/ 开头,我想执行任务 这是我的工作流程,但条件未
Argo 允许基于先前步骤的输出动态生成并行工作流步骤。 此处提供了此动态工作流生成的示例:https://github.com/argoproj/argo-workflows/blob/master
如果字符串以特定子字符串开头,我想在 Argo 工作流中执行任务。例如,我的字符串是 tests/dev-or.yaml 如果我的字符串以 tasks/ 开头,我想执行任务 这是我的工作流程,但条件未
我正在尝试使用 Argo ( https://github.com/thoughtbot/Argo ) 将 JSON 中的数据解码为非常通用的结构: struct ValueBox { let
我是一名优秀的程序员,十分优秀!