51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

记一次测试环境k8s节点NotReady状态

项目功能测试时发现k8s集群pod状态异常,node节点异常。
通过命令查看节点状态发现,有一台node状态为NotReady。

[root@loli-test1 ~]# kubectl get nodes
NAME           STATUS     ROLES    AGE    VERSION
172.12.33.35   Ready   <none>   237d   v1.16.8-dirty
172.12.33.36   NotReady   <none>   237d   v1.16.8-dirty
172.12.33.37   Ready   <none>   237d   v1.16.8-dirty
172.12.33.38   Ready   <none>   237d   v1.16.8-dirty

在异常的节点中,执行查看nodes命令,发现除自己本身状态是ready外,其他节点均为NotReady

[root@loli-test2 ~]# kubectl get nodes
NAME           STATUS     ROLES    AGE    VERSION
172.12.33.35   NotReady   <none>   237d   v1.16.8-dirty
172.12.33.36   Ready   <none>   237d   v1.16.8-dirty
172.12.33.37   NotReady   <none>   237d   v1.16.8-dirty
172.12.33.38   NotReady   <none>   237d   v1.16.8-dirty

出现问题的节点为master节点,35、36均存在etcd服务。

解决办法

可以通过ps命令过滤etcd的数据目录,未必为默认的。

在异常的节点etcd的data-dir目录下,重命名或删除member目录

cd /var/lib/etcd
mv member{,.bak}

在移动目录后,重启kubelet服务即可

systemctl restart kubelet

本文仅针对kubeadm部署的k8s集群

赞(0)
未经允许不得转载:工具盒子 » 记一次测试环境k8s节点NotReady状态