配置Artifacts

在复杂工作流步骤的编排中,一个步骤的输出往往会作为另一个步骤的输入。通过配置Artifacts,您可以在工作流各个步骤之间传递所需的参数。本文介绍如何在Argo Workflows ControllerConfigMap中新增Artifacts配置,以使用阿里云对象存储OSS存储Artifacts文件,实现工作流步骤间参数的传递。

前提条件

开通OSS服务,并创建了OSS Bucket,请参见创建存储空间

OSS Bucket与集群处于同一VPC下,您可以通过OSS内网地址访问OSS资源,无需支付流量费用。关于OSS的计费信息,请参见计费项

操作步骤

  1. 在集群argo命名空间中创建一个名为my-oss-secretSecret,用于保存访问OSS的凭证。

    apiVersion: v1
    stringData:
      accessKey: xxxxxxxxxx # 替换为能够访问OSSAccess Key信息。
      secretKey: xxxxxxxxxx # 替换为能够访问OSSAccess Key Secret信息。
    kind: Secret
    metadata:
      name: my-oss-secret
      namespace: argo
    type: Opaque
  2. 执行以下命令,编辑workflow-controller-configmap文件。

    kubectl edit configmap workflow-controller-configmap -n argo

    data字段中增加Artifacts配置。

    data:
      artifactRepository: |
       archiveLogs: true
       oss:
         endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com # 替换为OSS的访问域名。
         bucket: my-bucket # 替换为实际的OSS Bucket名称。
         accessKeySecret:
           name: my-oss-secret
           key: accessKey
         secretKeySecret:
           name: my-oss-secret
           key: secretKey        

    创建完成后,Argo Workflows ControllerWatch ConfigMap信息,根据您的工作流定义执行文件上传、下载、删除等操作。