我创建了一个集群工作流模板,它将执行一些任务。我将使用最后一步输出作为当前工作流程参数。当我引用此模板时,我不知道如何output从集群工作流任务/步骤中获取。
集群工作流模板
apiVersion: argoproj.io/v1alpha1
kind: ClusterWorkflowTemplate
metadata:
name: gen-params
spec:
templates:
- name: tasks
steps:
- - name: prepare
template: prepare
- - name: gen-params
template: gen-params
...
Run Code Online (Sandbox Code Playgroud)
工作流程
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: demo
spec:
entrypoint: main
templates:
- name: main
steps:
- - name: gen-params
templateRef:
name: gen-params
template: tasks
clusterScope: true
- - name: calculate
template: calculate
arguments:
parameters:
- name: params
value: "{{steps.gen-params.steps.gen-params.outputs.result}}" # not work
...
Run Code Online (Sandbox Code Playgroud)
小智 6
您的问题可能与 WorkflowTemplate/ClusterWorkflowTemplate 的使用无关,而更多地与您尝试访问“嵌套”工作流步骤的输出有关。
您可以通过在 ClusterWorkflowTemplate 中定义顶级tasks模板的输出参数来实现此目的,该参数从该模板中最后一步的输出结果中获取其值tasks。
您的工作流程模板将如下所示:
apiVersion: argoproj.io/v1alpha1
kind: ClusterWorkflowTemplate
metadata:
name: gen-params
spec:
templates:
- name: tasks
steps:
- - name: prepare
template: prepare
- - name: gen-params
template: gen-params
outputs:
parameters:
- name: "nested-gen-params-result"
valueFrom:
parameter: "{{steps.gen-params.outputs.result}}"
Run Code Online (Sandbox Code Playgroud)
进行更改后,您将能够使用以下命令引用顶级工作流的 ClusterWorkflowTemplate 定义步骤的输出{{steps.gen-params.outputs.parameters.nested-gen-params-result}}
Argo 的嵌套工作流示例显示了其他一些类似的模式。
| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |