无法从Amazon ECR拉取镜像,卡在Pulling fs layer阶段求助
ECR私有网络拉取镜像超时排查思路
确认ECR Interface端点(API/DKR)的配置
- 检查端点是否与集群节点在同一VPC,且部署在节点所在的子网中
- 必须开启端点的私有DNS(默认开启,若手动关闭会导致ECR域名解析到公网IP,无法走私有网络)
- 查看端点状态是否为
available,pending/failed状态的端点无法提供服务
验证S3 Gateway端点的路由配置
- 确认S3 Gateway端点与节点VPC关联,且节点所在子网的路由表已添加S3前缀列表(pl-xxxx)的路由条目,目标指向S3 Gateway端点
- 检查路由表中是否存在冲突路由(比如默认路由0.0.0.0/0指向IGW,需确保ECR/S3流量优先走端点)
检查安全组双向规则
- 节点安全组出站规则:再次确认允许443端口访问ECR端点安全组
- ECR Interface端点安全组入站规则:必须允许节点安全组的443端口访问(节点主动发起连接,端点需开放对应入站权限)
测试DNS解析与连通性
- 在节点上执行
nslookup <你的ECR仓库域名>.dkr.ecr.<区域>.amazonaws.com,确认返回的是VPC私有IP(如10.x.x.x),而非公网IP - 用
telnet <ECR端点私有IP> 443测试端口连通性,不通则排查安全组/路由;通的话用curl -v https://<ECR仓库域名>/v2/验证API访问(返回401属于正常认证提示,说明网络连通)
- 在节点上执行
确认IAM权限与角色配置
- 集群节点的IAM角色需包含
AmazonEC2ContainerRegistryReadOnly权限,或至少允许以下动作:ecr:GetDownloadUrlForLayer、ecr:BatchGetImage、ecr:BatchCheckLayerAvailability - 公网能拉取说明权限基本没问题,但需确认私有网络下角色是否能通过VPC端点正常获取临时凭证
- 集群节点的IAM角色需包含
检查VPC端点策略
- 虽然你的S3策略是全允许,但需确认ECR Interface端点的策略是否允许节点角色的访问(默认策略允许所有VPC内资源访问,若自定义策略需确保权限足够)
内容的提问来源于stack exchange,提问作者arwt
相关产品推荐
相关产品推荐

