我在us-east-1中的EKS集群停止了对所有节点NotReady的工作,因为kubelet无法拉取暂停容器。这是在引导时执行的kubelet命令
/usr/bin/kubelet --cloud-provider aws --config /etc/kubernetes/kubelet/kubelet-config.json --kubeconfig /var/lib/kubelet/kubeconfig --container-runtime docker --network-plugin cni --node-ip=10.0.21.107 --pod-infra-container-image=602401143452.dkr.ecr.us-east-1.amazonaws.com/eks/pause-amd64:3.1 --node-labels=kubernetes.io/lifecycle=spot问题在于拉取图像
602401143452.dkr.ecr.us-east-1.amazonaws.com/eks/pause-amd64:3.1其他必需的容器也不可用,例如:
602401143452.dkr.ecr.us-east-1.amazonaws.com/eks/kube-proxy:v1.14.6
602401143452.dkr.ecr.us-east-1.amazonaws.com/eks/coredns:v1.3.1另一方面,容器镜像可以从其他区域获得,但不是集群所在的区域。
Kubernetes事件提到cni插件未初始化。这是意料之中的,因为aws-node pod不会启动。
发布于 2019-10-10 22:25:29
工作节点所在的VPC具有用于ECR的PrivateLink端点。该端点及其附带的DNS条目可使同一区域内的ECR域解析为专用IP。这就是为什么docker pull只在同一区域的ECR中失败。
工作节点的安全组需要允许(https)流量出站到PrivateLink端点安全组。
https://stackoverflow.com/questions/58324975
复制相似问题