1、步骤一:使用kubectl get pod命令检查pod状态,发现一个pod状态为unknown。kubectl get node显示其中一个node节点为notready,显然pod是由于node节点出现问题导致。
2、步骤二:kubectl describe node nodename查看no蟠校盯昂de节点日志,发现如图mess锾攒揉敫ages日志出现报错Kubelet stopped posting node status,从这看出node节点notready为kubect服务发生停止导致。
3、步骤三:systemctl status kubelet.service查看kubelet服务状态,发现此服务之前被kill掉,systemctl start kubelet.service命令启动kubelet服务。
4、步骤四:查看节点日志,日志上已经变化成ready,kubectl get node再次查看,状态正常,unknown状态的pod节点也被自动删除。
5、总结:当kubectl的旅邯佤践进程停止时,node的状态会变成NotReady,pod的状态5分钟内没有变化,然后会变成Nod髫潋啜缅elost,然后变成Noknow;当Node节点恢复后,Deployment的将kubelet进程停止的Node删除,存在问题的pod节点也会删除掉,因为当node节点异常后,上面的pod会被重新调度,始终维持稳定的副本数。