早上业务突然反馈生产环境服务无法登录,于是登录k8s服务器查看pods状态
kubectl get pods -o wide
发现node10节点上所有pod状态均为Terminating
然后使用
kubectl get node命令查看所有节点状态
NAME STATUS ROLES AGE VERSION
k8s-node07 Ready <none> 56d v1.14.2
k8s-node08 Ready <none> 56d v1.14.2
k8s-node09 Ready <none> 56d v1.14.2
k8s-node10 NotReady <none> 56d v1.14.2
发现node10的状态为NotReady,已经无法正常工作
从集群中移除节点(可选)
如果资源富裕的情况下,可以考虑先将问题节点从集群中移除,并将该节点下所有pods驱逐到其他节点
kubectl drain k8s-node10 --delete-local-data --force --ignore-daemonsets
当该节点问题解决后再重新加入到集群中
kubectl uncordon k8s-node10
解决node问题节点方法
首先登录到node10服务器,将docker容器停用
systemctl stop docker
移除docker容器exec文件夹下所有文件,如果出现部分文件无法删除则需要重启服务器
rm -rf /data/k8s/docker/exec/*
然后重新启动k8s服务
systemctl restart flanneld
systemctl restart kubelet
systemctl restart kube-proxy