背景

同事在k8s集群中的node3跑算法时候,把node3打崩了,导致kubelet服务不能正常运行和集群通信。

分析&解决

先将node节点打上不可调度标签,然后执行驱逐。

已经看到pod在其他节点创建出来的,但是node3上面的pod仍然处于terminating状态。

刚开始我以为是磁盘io仍然太高,导致它延迟,等同事的算法跑完,磁盘io掉下去之后,仍然处于terminating状态。

查看kubelet日志显示

“failed to activate service 'org.freedesktop.systemd1' timed out’”

systemd服务进程崩溃,sytemd是系统启动之后,进程号pid为1的进程,用来管理其他的进程。

尝试重启systemd进程

systemctl daemon-reexec 

问题解决,pod被正常回收。kubelet日志正常

查看kubelet服务日志

journalctl -xeu kubelet

如果重启systemd不能解决的话,可以根据日志进一步排查问题,万能大法一般是重启。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐