【问题标题】:EKS worker nodes not ready and ECRs not reachableEKS 工作程序节点未准备好且 ECR 无法访问
【发布时间】:2020-02-08 00:29:40
【问题描述】:

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 没有启动。

【问题讨论】:

    标签: amazon-web-services kubernetes amazon-eks


    【解决方案1】:

    工作程序节点所在的 VPC 具有用于 ECR 的 PrivateLink 端点。该端点及其附带的 DNS 条目使同一区域内的 ECR 域解析为私有 IP。这就是为什么 docker pull 仅对同一区域的 ECR 失败的原因。

    工作节点的安全组需要允许 (https) 流量传出到 PrivateLink 端点安全组。

    【讨论】:

      猜你喜欢
      • 2019-07-28
      • 2019-06-21
      • 2021-05-31
      • 2020-10-03
      • 1970-01-01
      • 2017-10-20
      • 2023-01-05
      • 1970-01-01
      • 2019-05-24
      相关资源
      最近更新 更多