使用kubeadm方式部署集群时,Node节点一直处于NotReady状态、coredns处于pending状态的解决思路与故障排查

在官方文档中
https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/
存在以下说明:
使用kubeadm方式部署集群时,Node节点一直处于NotReady状态、coredns处于pending状态的解决思路与故障排查_第1张图片
也就是说,造成coredns组件处于pending状态的主要原因是网络插件没有安装好。

只有当网络插件安装后,coredns组件才会正常启用。这也就解释了为什么节点会一直处于NotReady状态。
因此,问题的主要原因就是网络插件没有安装成功。此时你应该将排查重点锁定在网络插件上。
比如,我在安装flannel网络插件时,由于自己的疏忽,将对node.kubernetes.io/not-ready污点的容忍配置写错而造成集群节点始终为notready状态。
使用kubeadm方式部署集群时,Node节点一直处于NotReady状态、coredns处于pending状态的解决思路与故障排查_第2张图片
正确的书写应该是这样的(当时想着省事,直接将上面的代码粘贴复制了下来,所以造成了此次网络插件启动失败)
使用kubeadm方式部署集群时,Node节点一直处于NotReady状态、coredns处于pending状态的解决思路与故障排查_第3张图片
修改完成后,节点恢复正常。

总的来说,coredns的状态是受网络插件状态影响的,而网络插件又影响着集群节点的状态(影响着节点间的通信)

你可能感兴趣的:(Kubernetes)