从ECR部署镜像到EKS失败:Pod始终处于0/2未就绪状态
解决EKS Pod ImagePullBackOff(no basic auth credentials)问题
核心问题分析
Pod拉取ECR镜像时返回no basic auth credentials,说明节点无权限访问ECR仓库,或目标镜像未正确推送至ECR。以下分步骤排查解决:
1. 确认ECR镜像已正确推送
先验证目标镜像是否存在于ECR仓库:
aws ecr describe-images --repository-name docker-gs-ping --region us-east-1
如果返回结果中没有latest标签的镜像,重新执行推送流程:
- 登录ECR:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 549840312665.dkr.ecr.us-east-1.amazonaws.com
- 重新打标签并推送:
docker tag docker-gs-ping:latest 549840312665.dkr.ecr.us-east-1.amazonaws.com/docker-gs-ping:latest docker push 549840312665.dkr.ecr.us-east-1.amazonaws.com/docker-gs-ping:latest
2. 验证EKS节点角色权限
你的CloudFormation已为节点角色附加AmazonEC2ContainerRegistryReadOnly策略,需确认:
- 节点组正确关联该角色:
kubectl describe node <你的节点名称>
在输出的Annotations部分找到eks.amazonaws.com/role-arn,确认其值与my.eks.node.role的ARN一致。
- 节点网络连通性:由于节点部署在私有子网,检查NAT网关是否正常运行,执行以下命令测试:
kubectl run -it --rm test-pod --image=busybox -- wget --spider https://549840312665.dkr.ecr.us-east-1.amazonaws.com
返回Connecting to ... succeeded则说明网络无问题。
3. 创建ImagePullSecret(角色权限失效时的备用方案)
若节点角色权限未生效,手动创建ECR凭证的ImagePullSecret:
- 生成Secret:
kubectl create secret docker-registry ecr-secret \ --docker-server=549840312665.dkr.ecr.us-east-1.amazonaws.com \ --docker-username=AWS \ --docker-password=$(aws ecr get-login-password --region us-east-1)
- 修改Deployment.yaml,添加
imagePullSecrets字段:
apiVersion: apps/v1 kind: Deployment metadata: name: helloworld namespace: default spec: replicas: 2 selector: matchLabels: app: helloworld template: metadata: labels: app: helloworld spec: imagePullSecrets: - name: ecr-secret containers: - name: new-container image: 549840312665.dkr.ecr.us-east-1.amazonaws.com/docker-gs-ping:latest ports: - containerPort: 80
- 重新部署:
kubectl apply -f Deployment.yaml
4. 检查安全组与网络ACL
- 节点安全组:允许出站HTTPS(443)流量到ECR服务(可临时放开所有出站443流量测试)。
- 私有子网网络ACL:允许出站443流量;NAT网关所在公有子网的网络ACL需允许入站/出站443流量。
额外注意点
本地容器运行时映射的是8080:8080,但Deployment中设置containerPort: 80,请确保镜像内的应用确实监听80端口,否则Pod启动后可能出现健康检查失败问题。
内容的提问来源于stack exchange,提问作者Vishwa Ratna
相关产品推荐
相关产品推荐

