在複雜工作流程步驟的編排中,一個步驟的輸出往往會作為另一個步驟的輸入。通過配置Artifacts,您可以在工作流程各個步驟之間傳遞所需的參數。本文介紹如何在Argo Workflows Controller的ConfigMap中新增Artifacts配置,以使用阿里雲Object Storage Service儲存Artifacts檔案,實現工作流程步驟間參數的傳遞。
前提條件
已開通OSS服務,並建立了OSS Bucket,請參見建立儲存空間。
當OSS Bucket與叢集處於同一VPC下,您可以通過OSS內網地址訪問OSS資源,無需支付流量費用。關於OSS的計費資訊,請參見計費項目。
操作步驟
在叢集argo命名空間中建立一個名為
my-oss-secret的Secret,用於儲存訪問OSS的憑證。apiVersion: v1 stringData: accessKey: xxxxxxxxxx # 替換為能夠訪問OSS的Access Key資訊。 secretKey: xxxxxxxxxx # 替換為能夠訪問OSS的Access Key Secret資訊。 kind: Secret metadata: name: my-oss-secret namespace: argo type: Opaque執行以下命令,編輯
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 Controller會Watch ConfigMap資訊,根據您的工作流程定義執行檔案上傳、下載、刪除等操作。