Не удается отправить данные в Minio с помощью Argo workflow, запущенного на Minikube

#kubernetes #minio #argoproj #argo-workflows

#кубернетес #minio #argoproj #argo-workflows #kubernetes

Вопрос:

Я тестирую рабочий процесс Argo на Minikube и использую Minio для загрузки данных, созданных в рамках рабочего процесса. И когда я отправляю шаблон yaml, я получаю 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. Я думаю, что вы неправильно написали имя свойства для «accessKeySecret» и вместо этого дважды указали «secretKeySecret».

Ответ №1:

создаете ли вы секретные учетные данные minio, которые имеют secretkey и accesskey в пространстве имен, где выполняется рабочий процесс?

Пример: модуль контроллера Argo запущен в пространстве имен argo. шаблон рабочего процесса отправляется в пространство имен по умолчанию. minio-секрет учетных данных должен быть доступен в пространстве имен по умолчанию.

Комментарии:

1. У меня такая же проблема, и кажется, что модули рабочего процесса запускаются без пространства имен, поэтому вам нужно создать секрет без пространства имен