在 Argo 工作流模板中引用当前执行编号
Referencing the current execution number inside Argo workflow template
有什么方法可以确定 Argo 工作流模板执行的次数吗?并在模板中引用当前执行次数。
Argo Workflows 不会跟踪 WorkflowTemplate 已执行了多少次。但是这些信息可能在其他几个地方。
首先,计数可能在 Kubernetes 本身。当 Workflow 作为 WorkflowTemplate 的一个实例被调用时,Workflow 被标记为 WorkflowTemplate 名称。所以你可以使用 kubectl
来获取工作流。但是,如果没有人删除任何工作流,并且没有清理过程,这只能用作计数 运行(与 Argo 的 TTL 设置一样)。
kubectl get workflows -l workflows.argoproj.io/workflow-template=whatever
其次,计数可能在数据库中。 Argo Workflows 有一个可选的 archive 存储每个工作流达到 TTL 时的 JSON 表示。如果启用此功能,则调用次数是带有 workflows.argoproj.io/workflow-template=whatever
标签的已归档工作流和仍在集群上(尚未处于 TTL)且带有该标签的工作流的总和。同样,只有在没有人在达到 TTL 之前手动删除工作流时,此计数才准确。
如果准确计数绝对重要,您可能应该向每个工作流添加一个步骤以增加某种数据库中的计数器。
有什么方法可以确定 Argo 工作流模板执行的次数吗?并在模板中引用当前执行次数。
Argo Workflows 不会跟踪 WorkflowTemplate 已执行了多少次。但是这些信息可能在其他几个地方。
首先,计数可能在 Kubernetes 本身。当 Workflow 作为 WorkflowTemplate 的一个实例被调用时,Workflow 被标记为 WorkflowTemplate 名称。所以你可以使用 kubectl
来获取工作流。但是,如果没有人删除任何工作流,并且没有清理过程,这只能用作计数 运行(与 Argo 的 TTL 设置一样)。
kubectl get workflows -l workflows.argoproj.io/workflow-template=whatever
其次,计数可能在数据库中。 Argo Workflows 有一个可选的 archive 存储每个工作流达到 TTL 时的 JSON 表示。如果启用此功能,则调用次数是带有 workflows.argoproj.io/workflow-template=whatever
标签的已归档工作流和仍在集群上(尚未处于 TTL)且带有该标签的工作流的总和。同样,只有在没有人在达到 TTL 之前手动删除工作流时,此计数才准确。
如果准确计数绝对重要,您可能应该向每个工作流添加一个步骤以增加某种数据库中的计数器。