K8S问题排查-重启Dbus服务导致容器创建失败问题

云原生知识说科技2024-05-12 10:24:05  64

问题背景在K8S环境中,某个业务由于误操作重启了系统的dbus服务,导致所有的Pod启动失败,相关日志如下:

unable to ensure pod container exists: failed to create container for [kubepods besteffort ...] : dbus: connection closed by user原因分析根据错误信息,查到相关issue[1],原因如下:

kubelet服务在创建Pod时会调用/var/run/dbus/system_bus_socket,如果dbus服务由于某些异常发生重启,/var/run/dbus/system_bus_socket这个文件就会被重新创建。此时,kubelet继续向旧的socket发送数据,就会出现上述的报错信息。

解决方案临时方案:重启kubelet服务

永久方案:升级K8S版本到v1.25+ 后续问题 重启过dbus和kubelet服务后,出现非root用户ssh远程慢的现象。查看secure日志,发现如下错误:

pam_systemd(crond:session): Failed to create session: Activation of org.freedesktop.login1 timed outpam_systemd(crond:session): Failed to create session: Connection timed out查看资料[2],原因是ssh依赖systemd-logind服务,而该服务又依赖dbus服务,通过重启systemd-logind服务解决:

[root@core log]# systemctl restart systemd-logind 参考资料1.https://github.com/kubernetes/kubernetes/issues/100328

转载此文是出于传递更多信息目的。若来源标注错误或侵犯了您的合法权益,请与本站联系,我们将及时更正、删除、谢谢。
https://www.414w.com/read/488300.html
0
最新回复(0)