複雑なワークフローでは、あるステップの出力は別のステップの入力となる場合があります。アーティファクトを設定して、ワークフローのステップ間でパラメーターを渡すことができます。このトピックでは、Argo WorkflowsコントローラーのConfigMapにアーティファクト設定を追加して、OSSを使用してアーティファクトファイルを保存し、ワークフローのステップ間でパラメーターを渡す方法について説明します。
前提条件
OSSがアクティブ化されており、OSSバケットが作成されていること。詳細については、バケットの作成を参照してください。
OSSバケットとクラスターが同じVPCにある場合、OSSバケットのプライベートエンドポイントを使用して、データ転送料金を支払うことなくOSSオブジェクトにアクセスできます。OSSの課金については、課金対象項目を参照してください。
手順
my-oss-secretという名前のSecretをargoネームスペースに作成し、OSSバケットへのアクセスに使用する認証情報を保存します。apiVersion: v1 stringData: accessKey: xxxxxxxxxx # 実際のAccessKey IDに置き換えます。 secretKey: xxxxxxxxxx # 実際のAccessKeyシークレットに置き換えます。 kind: Secret metadata: name: my-oss-secret namespace: argo type: Opaque次のコマンドを実行して、
workflow-controller-configmapファイルを編集します。kubectl edit configmap workflow-controller-configmap -n argodataフィールドにアーティファクト設定を追加します。data: artifactRepository: | archiveLogs: true oss: endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com # 実際のOSSバケットエンドポイントに置き換えます。 bucket: my-bucket # 実際のOSSバケット名に置き換えます。 accessKeySecret: name: my-oss-secret key: accessKey secretKeySecret: name: my-oss-secret key: secretKey設定が完了すると、Argo WorkflowsコントローラーはConfigMap情報を監視し、作成したワークフローに基づいてファイルのアップロード、ダウンロード、削除を行います。