k8s部署成功后却显示结点一直处于NotReady状态解决方案

直接说结论:原因是服务器的/opt/cni/bin/目录中没有flannel插件,安装flannel 到/opt/cni/bin/目录下即可。具体步骤往下看。

[root@K8SMaster ~]# journalctl -f -u kubelet.service 
先看下报错,发现我一直显示NotReady的原因是由于

[failed to find plugin "flannel" in path [/opt/cni/bin]]

因此,安装flannel 到/opt/cni/bin/目录下即可

去github找到插件

Release CNI plugins v0.8.6 · containernetworking/plugins · GitHub

 下载好后上传到服务器然后解压

[root@K8SMaster ~]# tar -xvf cni-plugins-linux-amd64-v0.8.6.tgz 

 得到flannel插件后将其复制到/opt/cni/bin/目录下后重新 运行kubectl apply -f kube-flannel.yml即可解决结点状态为NotFound的问题。

 剩下的两个结点服务器也是因为/opt/cni/bin/目录中没有flannel插件,按照上面的操作将flannel插件安装到/opt/cni/bin/目录下即可。

 最后的碎碎念:我是真的服了,查了一晚上,基本全都是一些毫无价值的东西,一个有用的都没有,我还一直以为是老师的给的那个kube-flannel.yml有问题,原来根本不是那个文件的问题。我这篇文章应该是第一个摸索出解决方法的,由于搞了太久,因此只能简单的将博客写下来,但是基本的解决思路和方法都写清楚了,希望能帮大家少走些坑。

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
ks node 处于 NotReady 状态通常表示该节点无法正常工作,无法接受新的Pod调。这可能是由于节点的网络连接问题资源不足、kubelet未正确运行、容器运行时问题等引起的。要解决此问题,可以尝试以下步骤1. 检查节点的网络连接:确保节点能够与群中的其他节点和控制平面进行通信。可以使用 ping 命令或其他网络工具进行测试。 2. 检查节点资源:确保节点具有足够的资源(CPU、内存、磁盘)来运行Pod。可以使用 kubectl describe node <node-name> 命令查看节点资源信息。 3. 检查 kubelet 运行状态:通过运行 systemctl status kubelet 命令(在使用 systemd 的系统上)或 service kubelet status 命令(在使用 init.d 的系统上)来检查 kubelet 服务是否正常运行。如果 kubelet 未运行,请尝试启动它。 4. 检查容器运行时:如果节点上使用的是 Docker 运行时,请确保 Docker 服务正常运行。可以通过运行 systemctl status docker 命令来检查 Docker 服务状态。如果出现问题,可以尝试重启 Docker 服务。 5. 检查容器运行时配置:某些情况下,容器运行时的配置可能有问题,导致节点处于 NotReady 状态。请检查容器运行时的配置文件,并确保其正确设置。 如果以上步骤都没有解决问题,可以查看节点的日志文件(如 kubelet 日志、容器运行时日志)来获取更多详细信息,以帮助进一步排查和解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小西瓜呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值