Argo 工作流 json 参数文件和秘密

Argo workflow json parameter file and secrets

Argo 工作流允许您在 json 文件中指定参数:

{
  "valueA": 1,
  "valueB": 2,
  "valueC": 3,
  "valueD": 4
}

然后在提交工作流时指定:

argo submit workflow.yaml -f params.json --watch

我有一个工作流程清单,其中有多个步骤使用相同的秘密,是否可以在 json 参数文件中指定秘密?以提供更多上下文我正在使用诸如 aws 秘密之类的东西和键:

- name: AWS_ACCESS_KEY_ID
  valueFrom:
    secretKeyRef:
      name: aws-access-key-id
      key: awsaccesskeyid

除了将参数插入其中:

- name: AWS_ACCESS_KEY_ID
      valueFrom:
        secretKeyRef:
          name: "{{ workflow.parameters . . . }}"
          key: "{{ workflow.parameters . . . }}"

有没有更优雅的方法来参数化它?

我会根据 json 文件中的说明创建一个秘密

然后您可以通过 secretRef 使用该秘密,这样就无需指定每个值。 “缺点”是您需要 create/clean 来自集群的秘密、管理命名冲突等

envFrom:
  - secretRef:
      name: secret-name

如果您只想使用“argo”变量,也可以使用 ConfigMap