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的配置和自己的环境保持一致

浙公网安备 33010602011771号