EKS默认从何处拉取未指定仓库的应用镜像?
问题结论
你示例中未指定镜像仓库地址的nginx:1.20镜像,标准部署的EKS集群默认会从Docker Hub拉取。
规则说明
- EKS仅针对集群内置的系统组件(CoreDNS、kube-proxy、VPC CNI等)做了特殊配置,统一从AWS官方维护的对应区域ECR公有镜像仓库拉取,规避Docker Hub的限流、跨境网络连通等问题。
- 对于用户自定义部署的应用镜像,EKS不会修改Kubernetes和底层容器运行时的默认寻址逻辑:只要镜像名称没有带自定义仓库前缀,默认会被解析为Docker Hub官方镜像库的资源,你示例中的
nginx:1.20实际会被运行时补全为docker.io/library/nginx:1.20发起拉取请求。
特殊情况说明
如果你的EKS集群提前做了自定义配置,才会走其他镜像源,常见的修改默认源的配置包括:
- 节点层面配置了Docker Hub的镜像加速地址
- 集群配置了镜像重写策略,将无仓库前缀的镜像统一转发到私有的ECR镜像仓库或者其他第三方镜像仓库
你给出的部署示例参考:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx version: "1.20" spec: containers: - name: nginx image: nginx:1.20
内容的提问来源于stack exchange,提问作者user2562618
相关产品推荐
相关产品推荐

