节点未加入AWS EKS

时间:2018-12-04 08:14:45

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

我已成功使用aws eks启动了群集并应用了aws-auth,但是节点未加入群集。我检查了节点的日志消息并找到了它-

Dec  4 08:09:02 ip-10-0-8-187 kubelet: E1204 08:09:02.760634    3542 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Failed to list *v1.Node: Unauthorized
Dec  4 08:09:03 ip-10-0-8-187 kubelet: W1204 08:09:03.296102    3542 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
Dec  4 08:09:03 ip-10-0-8-187 kubelet: E1204 08:09:03.296217    3542 kubelet.go:2130] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Dec  4 08:09:03 ip-10-0-8-187 kubelet: E1204 08:09:03.459361    3542 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: Failed to list *v1.Service: Unauthorized`

对此我不确定。我已将eks的完全访问权限附加到这些实例节点角色。

2 个答案:

答案 0 :(得分:2)

如果您已遵循AWS白皮书,则有一种简单的方法可以连接所有工作程序节点并将其与EKS集群连接。

链接:https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html

按照我的想法,您忘记了使用实例角色配置文件ARN编辑配置映射。

答案 1 :(得分:0)

如果使用的是terraform,或修改标签和名称变量,请确保群集名称与标签中的匹配

节点必须由某个群集“拥有”。节点将仅加入他们应该加入的集群。我忽略了这一点,但是在使用terraform时没有太多的文档需要处理。确保变量匹配。这是命名要加入的父群集的节点标签:

  tag {
    key = "kubernetes.io/cluster/${var.eks_cluster_name}-${terraform.workspace}"
    value = "owned"
    propagate_at_launch = true
  }
相关问题