kubelet重启失败的排障过程

举报
fsifdds 发表于 2022/12/09 13:31:51 2022/12/09
【摘要】 今天修改了kubelet的配置文件并且重启了kubelet,语句如下systemctl daemon-reloadsystemctl restart kubelet然后发现重启失败了systemctl status kubelet回退了配置文件之后依然重启失败,而且systemctl status kubelet没看出什么明显报错。然后用journalctl -fu kubelet查看详细的...

今天修改了kubelet的配置文件并且重启了kubelet,语句如下
systemctl daemon-reload
systemctl restart kubelet
然后发现重启失败了
systemctl status kubelet
回退了配置文件之后依然重启失败,而且systemctl status kubelet没看出什么明显报错。

然后用journalctl -fu kubelet查看详细的报错,报错如下:
Failed to start ContainerManager err=failed to build map of initial containers from runtime: no PodsandBox found with Id ‘1433a7fb0e731a59128b032dbb3b6f27f1a33b1cf70d304d6f0675555f6e27b5’

主要是找不到runtime内对应ID的容器
如果用docker system prune会把别的不用资源也删掉,不好。应该只删对应容器。

解决过程:

通过下面的命令找到容器id:
docker ps -a --filter "label=io.kubernetes.sandbox.id=1433a7fb0e731a59128b032dbb3b6f27f1a33b1cf70d304d6f0675555f6e27b5"
image.png

发现是kube-scheduler,而新的kube-scheduler也有了。但是不知道为什么旧的死掉后还会kubelet报错查找旧的容器。
image.png

然后删除死掉的容器
docker rm 21a46e11be7c

最后重启kubelet
image.png

成功!

参考链接:http://www.huilog.com/2022/06/kubelet-启动失败failed-to-build-map-of-initial-containers-from-runtime-no-podsand/

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。