如何解决argo 工作流重试策略覆盖
有什么方法可以覆盖 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"
解决方法
是的!只需为重试限制设置一个工作流参数即可。
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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。