无法使用在Minikube上运行的Argo工作流将数据发送到Minio

时间:2019-04-24 04:47:10

标签: kubernetes minio argoproj

我正在Minikube上测试Argo工作流程,并且正在使用Minio上传/下载在工作流程中创建的数据。当我提交模板yaml时,在pod上收到failed to save outputs错误。

我使用kubectl logs -n air [POD NAME] -c wait检查了日志,结果如下。

time="2019-04-24T04:25:27Z" level=info msg="Creating a docker executor"
time="2019-04-24T04:25:27Z" level=info msg="Executor (version: v2.2.1, build_date: 2018-10-11T16:27:29Z) and goes on and on
time="2019-04-24T04:25:27Z" level=info msg="Waiting on main container"
time="2019-04-24T04:25:29Z" level=info msg="main container started with container ID: 86afd5f5a35fbea3fcd65fdf565f8194d79535034d94548bb371681faf549e6e"
time="2019-04-24T04:25:29Z" level=info msg="Starting annotations monitor"
time="2019-04-24T04:25:29Z" level=info msg="docker wait 86afd5f5a35fbea3fcd65fdf565f8194d79535034d94548bb371681faf549e6e"
time="2019-04-24T04:25:29Z" level=info msg="Starting deadline monitor"
time="2019-04-24T04:25:33Z" level=info msg="Main container completed"
time="2019-04-24T04:25:33Z" level=info msg="No sidecars"
time="2019-04-24T04:25:33Z" level=info msg="Saving output artifacts"
time="2019-04-24T04:25:33Z" level=info msg="Saving artifact: get-data"
time="2019-04-24T04:25:33Z" level=info msg="Archiving 86afd5f5a35fbea3fcd65fdf565f8194d79535034d94548bb371681faf549e6e:/data/ to /argo/outputs/artifacts/get-data.tgz"
time="2019-04-24T04:25:33Z" level=info msg="sh -c docker cp -a 86afd5f5a35fbea3fcd65fdf565f8194d79535034d94548bb371681faf549e6e:/data/ - | gzip > /argo/outputs/artifacts/get-data.tgz"
time="2019-04-24T04:25:33Z" level=info msg="Annotations monitor stopped"
time="2019-04-24T04:25:34Z" level=info msg="Archiving completed"
time="2019-04-24T04:25:34Z" level=info msg="Creating minio client 192.168.99.112:31774 using IAM role"
time="2019-04-24T04:25:34Z" level=info msg="Saving from /argo/outputs/artifacts/get-data.tgz to s3 (endpoint: 192.168.99.112:31774, bucket: reseach-bucket, key: /data/)"
time="2019-04-24T04:25:34Z" level=info msg="Deadline monitor stopped"
time="2019-04-24T04:26:04Z" level=info msg="Alloc=3827 TotalAlloc=11256 Sys=9830 NumGC=4 Goroutines=7"
time="2019-04-24T04:26:04Z" level=fatal msg="Get http://169.254.169.254/latest/meta-data/iam/security-credentials: dial tcp 169.254.169.254:80: i/o and goes on and on 

模板yaml文件如下所示:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
...

########################################
  - name: template-data-handling
    activeDeadlineSeconds: 10800
    outputs:
      artifacts:
      - name: get-data
        path: /data/
        s3:
          endpoint: 192.168.99.112:31774
          bucket: reseach-bucket
          key: /data/
          secretKeySecret:
            name: minio-credentials
            key: accesskey
          secretKeySecret:
            name: minio-credentials
            key: secretkey
    retryStrategy:
      limit: 1
    container:
      image: demo-pipeline
      imagePullPolicy: Never
      command: [/bin/sh, -c]
      args:
        - |
          python test.py

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您是否创建 minio-credentials 机密,该机密在工作流运行所在的名称空间上具有密钥和访问密钥?

示例:  Argo Controller Pod在Argo名称空间上运行。工作流模板正在默认名称空间中提交。 minio-credentials密码应该在默认名称空间中可用。