【发布时间】:2021-04-12 23:02:33
【问题描述】:
使用 terraform 在 AWS EKS 上预置节点组时出现错误。
错误:等待创建 EKS 节点组 (xxx) 时出错:NodeCreationFailure: Unhealthy nodes in the kubernetes cluster.
然后我去控制台检查了节点。有消息“runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker network plugin is not ready: cni config uninitialized”。
我有 5 个私有子网并通过 NAT 连接到 Internet。
有人能给我一些关于如何调试的提示吗?
这里有一些关于我的环境的细节。
Kubernetes version: 1.18
Platform version: eks.3
AMI type: AL2_x86_64
AMI release version: 1.18.9-20201211
Instance types: m5.xlarge
集群中设置了三个工作负载。
coredns, STATUS (2 Desired, 0 Available, 0 Ready)
aws-node STATUS (5 Desired, 5 Scheduled, 0 Available, 0 Ready)
kube-proxy STATUS (5 Desired, 5 Scheduled, 5 Available, 5 Ready)
进入coredns,两个pod都处于挂起状态,条件有“Available=False, Deployment does not have minimum availability”和“Progress=False, ReplicaSet xxx has timed out progressing”
进入aws-node中的pod之一,状态显示“Waiting - CrashLoopBackOff”
【问题讨论】:
-
您使用的是哪个 pod 网络插件?是否安装正确?
-
我使用的是默认 AWS 网络,即 Amazon VPC CNI。
-
我也面临同样的问题。如果你能详细说明你是如何解决它的,并将它作为这个问题的答案发布,那对我和其他有同样问题的人会很有帮助。
-
我遇到的问题与节点角色的权限有关。在我的组织中,我们为每个角色附加了权限边界。我已将这四个策略分配给节点角色 AmazonEKSWorkerNodePolicy、AmazonEKS_CNI_Policy、AmazonEC2ContainerRegistryReadOnly、CloudWatchAgentServerPolicy。我发现一些操作被排除在权限边界之外。更新权限边界后,节点不健康问题消失了。
标签: amazon-web-services kubernetes terraform-provider-aws amazon-eks