argo报错:error: controller is not configured with a default archive location

原因:工作流里面用到组件方式把前一环节的输出构件,用作下一环节的输入构件。 组件方式需要有一个中转文件的地方,所以需要给argo配置一个存储引擎。

解决办法:配置存储引擎。目前argo支持三种类型的存储:aws的s3,gcs(Google Cloud Storage) ,Minio(开源对象存储服务)。这里用开源的Minio

1. 下载chart release https://github.com/minio/charts

2. 安装、配置:

helm install argo-artifacts ./minio-8.0.8.tgz --set persistence.storageClass=rook-ceph-block --set persistence.size=10Gi --set accessKey=myaccesskey,secretKey=mysecretkey  --set buckets[0].name=my- bucket,buckets[0].policy=none,buckets[0].purge=false -n hlf-kube

这里

  •  持久化了,也可以选择不持久化
  •  设置了accesskey和secretkey
  • 创建了一个叫my-bucket的bucket

3. 编辑argo的配置文件

kubectl edit configmap workflow-controller-configmap -n argo

增加如下内容

data:
  config: |
    artifactRepository:
      s3:
        bucket: my-bucket
        endpoint: argo-artifacts-minio.hlf-kube:9000 #服务
        insecure: true
        # accessKeySecret and secretKeySecret are secret selectors.
        # It references the k8s secret named 'argo-artifacts-minio'
        # which was created during the minio helm install. The keys,
        # 'accesskey' and 'secretkey', inside that secret are where the
        # actual minio credentials are stored.
        accessKeySecret:
          name: argo-artifacts-minio #和安装生成的secret保持一致
          key: accesskey
        secretKeySecret:
          name: argo-artifacts-minio
          key: secretkey

 

注意endpoint以及accessKeySecret、secretKeySecret的name的配置和自己的环境保持一致

posted @ 2020-12-24 10:41  nanadeis  阅读(183)  评论(0)    收藏  举报