You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EKS私有子网Argo Workflow镜像拉取问题及ECR配置咨询

解决方案:将argosay镜像迁移至私有ECR并配置Argo全局引用

当然可以把argoproj/argosay:v2镜像上传到你的AWS私有ECR,再通过修改Argo Workflows的install.yaml配置全局引用这个私有镜像,彻底解决无公网环境下的镜像拉取失败问题。

1. 把argosay镜像推送到私有ECR

找一台能连公网的机器,执行以下命令:

  • 拉取公网的argosay镜像:
    docker pull argoproj/argosay:v2
    
  • 给镜像打上私有ECR的标签(把<ECR账户ID>和<AWS区域>换成你自己的信息):
    docker tag argoproj/argosay:v2 <ECR账户ID>.dkr.ecr.<AWS区域>.amazonaws.com/argosay:v2
    
  • 登录你的私有ECR仓库:
    aws ecr get-login-password --region <AWS区域> | docker login --username AWS --password-stdin <ECR账户ID>.dkr.ecr.<AWS区域>.amazonaws.com
    
  • 把镜像推送到ECR:
    docker push <ECR账户ID>.dkr.ecr.<AWS区域>.amazonaws.com/argosay:v2
    

2. 修改Argo配置文件引用私有镜像

打开你的install.yaml,找到workflow-controller-configmap这个ConfigMap,在data.config里添加默认镜像配置,替换成你的私有ECR镜像地址:

apiVersion: v1
kind: ConfigMap
metadata:
  name: workflow-controller-configmap
  namespace: argo
data:
  config: |
    containerRuntimeExecutor: emissary
    # 替换成你的私有ECR argosay镜像地址
    defaultImage: <ECR账户ID>.dkr.ecr.<AWS区域>.amazonaws.com/argosay:v2

另外,如果你的工作流定义里直接写了argoproj/argosay:v2,也要把这些地方的镜像地址改成私有ECR的地址。

3. 重新部署Argo Workflows

用修改后的配置更新Argo部署:

kubectl apply -f install.yaml -n argo

做完这些操作后,Argo运行需要argosay镜像的步骤时,就会从你的私有ECR拉取镜像,不会再出现ImagePullBackOff错误了。

内容的提问来源于stack exchange,提问作者ashutosh patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:05:19