EKS:kubernetes 集群中的不健康节点
Posted
技术标签:
【中文标题】EKS:kubernetes 集群中的不健康节点【英文标题】:EKS: Unhealthy nodes in the kubernetes cluster 【发布时间】: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。 请看一下这个问题network is not ready: [runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady。 我也面临同样的问题。如果你能详细说明你是如何解决它的,并将它作为这个问题的答案发布,那对我和其他有同样问题的人会很有帮助。 我遇到的问题与节点角色的权限有关。在我的组织中,我们为每个角色附加了权限边界。我已将这四个策略分配给节点角色 AmazonEKSWorkerNodePolicy、AmazonEKS_CNI_Policy、AmazonEC2ContainerRegistryReadOnly、CloudWatchAgentServerPolicy。我发现一些操作被排除在权限边界之外。更新权限边界后,节点不健康问题消失了。 【参考方案1】:添加 pod 网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
【讨论】:
以上是关于EKS:kubernetes 集群中的不健康节点的主要内容,如果未能解决你的问题,请参考以下文章
NodeCreationFailure-> kubernetes 集群中不健康的节点