暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

k8s节点status状态为notReady的解决方法【测试成功】

巴韭特锁螺丝 2024-10-18
88

一、故障现象

集群节点建立后,status提示NotReady

    [root@jdmaster ~]# kubectl get nodes
    NAME STATUS ROLES AGE VERSION
    jdmaster NotReady control-plane,master 3m34s v1.23.6
    jdnode-1 NotReady <none> 106s v1.23.6
    jdnode-2 NotReady <none> 106s v1.23.6


    二、故障排查

    最终解决:响应速度较慢,耐心等待3分钟左右恢复。

    1、检查节点的状态详细信息

      kubectl describe node jdmaster
      kubectl describe node jdnode-1
      kubectl describe node jdnode-2

          上述命令将提供关于节点详细信息的输出,可以查看其中的事件和条件,以获取有关节点状态的更多信息。

      2、检查 Flannel 日志

          可以查看 Flannel 容器的日志,以确定是否有任何与网络设置有关的问题。运行以下命令:

        kubectl logs -n kube-system kube-flannel-ds-<POD_ID> -c kube-flannel

        替换 <POD_ID>
        为实际的 Pod ID。检查是否有关于 Flannel 初始化或配置的错误。

         3、检查 kubelet 日志

        kubelet 是节点上负责与 Kubernetes API 通信的组件。查看 kubelet 的日志,以查找任何潜在的问题。

          journalctl -u kubelet

          4、检查网络插件是否正常运行

              确保 Flannel 或选择的网络插件正常运行,且没有错误。

            kubectl get pods -n kube-system

            确保所有的 kube-flannel-ds
            Pods 处于运行状态。

            5、检查网络配置

                确保 Flannel 或者选择的网络插件的配置与你的集群网络环境相匹配。特别是,检查 Flannel 是否使用了正确的网络 CIDR。

            6、检查防火墙设置

                确保节点之间的网络通信没有被防火墙规则阻止。

            7、检查 kube-proxy 配置

                如果使用了自定义的 kube-proxy 配置,确保它与网络插件和集群环境兼容。

            8、重新启动 kubelet 和 Docker

                尝试重新启动 kubelet 和 Docker 服务,有时这可以解决一些临时的问题。

              systemctl restart kubelet
              systemctl restart docker

              9、检查硬件资源

                  确保节点有足够的硬件资源(CPU、内存)来运行 Kubernetes 组件。

              10、检查节点联通性

                  确保节点之间的网络连接是正常的,可以尝试在节点之间进行 ping 测试。


              文章转载自巴韭特锁螺丝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论