1

我有一个发送以下指标的 CronWorkflow:

apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: my-cron-wf
spec:
  schedule: "0 * * * *"
  suspend: false
  workflowSpec:
    metrics:
      prometheus:
        - name: wf_exec_duration_gauge
          help: "Duration gauge by workflow name and status"
          labels:
            - key: name
              value: my-cron-wf
            - key: status
              value: "{{workflow.status}}"
          gauge:
            value: "{{workflow.duration}}"

我想使用变量用 CronWorkflow 名称填充指标的标签名称,以避免复制它,但我没有找到它的变量。我尝试使用{{workflow.name}},但它等于生成的工作流名称,而不是所需的 CronWorkflow 名称。

我使用Kustomize来管理 argo 工作流资源,所以如果有一种kustomize 方式来实现这一点,那也很棒。

4

1 回答 1

2

Argo Workflows会自动将Cron Workflow 的名称添加为工作流上的标签。该标签可作为变量访问。

apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: my-cron-wf
spec:
  schedule: "0 * * * *"
  suspend: false
  workflowSpec:
    metrics:
      prometheus:
        - name: wf_exec_duration_gauge
          help: "Duration gauge by workflow name and status"
          labels:
            - key: name
              value: "{{workflow.labels.workflows.argoproj.io/cron-workflow}}"
            - key: status
              value: "{{workflow.status}}"
          gauge:
            value: "{{workflow.duration}}"
于 2022-02-14T14:37:35.490 回答