有什么方法可以覆盖 argo 中“WorkflowTemplate-retryStrategy”的值?
目前我们在 Argo WorkflowTemplate 中使用硬编码的 retryStrategy 如下(示例代码):
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: workflowtemplate-1
spec:
entrypoint: task-template-1
arguments:
parameters:
- name: "test"
value: "testing"
templates:
- name: task-template-1
retryStrategy:
limit: 1
retryPolicy: "Always"
inputs:
parameters:
- name: "test"
有什么方法可以让我们将其作为工作流参数(或任何类似内容)的一部分进行覆盖? 喜欢下面代码中注释的“#”值:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: sample-workflow
spec:
workflowTemplateRef:
name: workflowtemplate-1
# retryStrategy:
# limit: 3
# retryPolicy: "Always"
arguments:
parameters:
# - name: "retry"
# value: "2"
答案 0 :(得分:0)
是的!只需为重试限制设置一个工作流参数即可。
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: workflowtemplate-1
spec:
entrypoint: task-template-1
arguments:
parameters:
- name: "retry"
value: "1"
templates:
- name: task-template-1
retryStrategy:
limit: "{{workflow.parameters.retry}}"
retryPolicy: "Always"
container:
image: docker/whalesay:latest
command: ["false"]
---
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
name: sample-workflow
spec:
workflowTemplateRef:
name: workflowtemplate-1
arguments:
parameters:
- name: "retry"
value: "2"
如果您提交示例工作流,您会看到它重试了两次,而不是默认的一次。
注意:模板 limit
字段是 introduced in 2.11.0-rc1。
如果您坚持使用较早的版本,则有一个 workaround。