节点not ready 故障排查

k8s master 查看nodes,有节点的 状态是 notready 如何排查?

  • 查看具体报错,如果是 节点上的docker 服务端进程连不上的话,就去解决节点上的问题。查看节点详细信息 kubectl describe nodename

  • 解决节点上的问题前,可以在 master 节点上将 异常的节点先删除掉,命令:kubectl delete nodes nodename ,然后查看永久有效的token,kubeadm token list ,等节点恢复好了需要再加入到集群中时需要这个token。

  • 节点上如果重启docker 卡死,可能是 docker 占用的 磁盘空间,内存,cpu 等硬件资源太多导致的。可以尝试重装 docker来解决。可以清理 节点上 多余的镜像 docker system prune -a,保证节点空间足够。可以用journal -u docker或者systemctl status docker 排查docker 进程的问题。

  • 节点使用 kubeadm reset之后,会清除 cni0 和 fannal 网卡的配置文件,需要创建 10.fannel 的相关文件,才能在集群中显示 ready,注意旧的网卡需要删除,执行ip link del cni0 等。最后最好执行一下 systemctl daemon -reload,重新加载一下后台进程。

  • 节点上启动docker服务,和kubelet 服务,用 kubeadm join 命令将此节点加入到集群中,最后在k8s 的 dashboard上也可以看得到了。master 上创建token 的命令:kubeadm token create --ttl 0 生成永久token。

posted @ 2022-03-23 22:19  风风羊  阅读(800)  评论(0编辑  收藏  举报