如何在 Argo 工作流程中查找重试次数

How to find number of retries in Argo workflow

我有一个 Argo 工作流程

retryStrategy:
  limit: "2"
  retryPolicy: Always

如果我的工作流程失败,它会重试 2 次,那么有什么方法可以让我知道我的工作流程在通过之前重试了多少次。

is there any way by which I can know how many times my workflow was retried before getting passed.

retryStrategy 不会重试 Worfklows。它在工作流中重试 tasks/steps。如果工作流中的 step/task 失败,将根据模板的 retryStrategy 重试(如果在模板中定义了 none,则将根据工作流级别定义的默认 retryStrategy 重试水平)。

有很多方法可以检查重试次数。这里有一些:

  1. 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
    

    步骤失败一次,然后成功。

  2. 阿尔戈 UI

    Argo 网络 UI 有类似的介绍。该图将分支,失败的尝试将显示为标记为失败的叶节点。

  3. 其他

    您可以检查工作流对象并分析节点以查找与重试相关的失败。

    kubectl get wf retry-on-error-6dmcq -n argo -ojson
    

    您还可以查看应用日志以查找重复的相关步骤。