【发布时间】:2022-01-14 22:19:44
【问题描述】:
我正在使用 Argo 工作流程
retryStrategy:
limit: "2"
retryPolicy: Always
如果我的工作流程失败,它将再次重试 2 次,那么有什么方法可以让我知道我的工作流程在通过之前被重试了多少次。
【问题讨论】:
标签: devops kubernetes-cronjob argo-workflows
我正在使用 Argo 工作流程
retryStrategy:
limit: "2"
retryPolicy: Always
如果我的工作流程失败,它将再次重试 2 次,那么有什么方法可以让我知道我的工作流程在通过之前被重试了多少次。
【问题讨论】:
标签: devops kubernetes-cronjob argo-workflows
有什么方法可以让我知道我的工作流程在通过之前被重试了多少次。
retryStrategy 不会重试 Worfklows。它重试工作流中的任务/步骤。如果工作流中的某个步骤/任务失败,将根据模板的retryStrategy(如果在模板级别未定义则在工作流级别定义的默认retryStrategy)重试。
有很多方法可以检查重试次数。以下是一些:
Argo CLI
argo submit https://raw.githubusercontent.com/argoproj/argo-workflows/master/examples/retry-on-error.yaml -n argo
argo get @latest -n argo
Name: retry-on-error-6dmcq
Namespace: argo
ServiceAccount: default
Status: Succeeded
Conditions:
PodRunning False
Completed True
Created: Fri Dec 10 09:42:36 -0500 (1 minute ago)
Started: Fri Dec 10 09:42:36 -0500 (1 minute ago)
Finished: Fri Dec 10 09:42:56 -0500 (1 minute ago)
Duration: 20 seconds
Progress: 2/2
ResourcesDuration: 4s*(1 cpu),4s*(100Mi memory)
STEP TEMPLATE PODNAME DURATION MESSAGE
✔ retry-on-error-6dmcq error-container
├─✖ retry-on-error-6dmcq(0) error-container retry-on-error-6dmcq-1358267989 3s Error (exit code 3)
└─✔ retry-on-error-6dmcq(1) error-container retry-on-error-6dmcq-1157083656 3s
该步骤失败一次,然后成功。
Argo 用户界面
Argo Web UI 也有类似的演示。该图将分支,失败的尝试将显示为标记为失败的叶节点。
其他
您可以检查 Workflow 对象并分析节点以查找与重试相关的故障。
kubectl get wf retry-on-error-6dmcq -n argo -ojson
您还可以查看应用日志以了解相关步骤的重复情况。
【讨论】: