kubelet重启失败的排障过程
【摘要】 今天修改了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"
发现是kube-scheduler,而新的kube-scheduler也有了。但是不知道为什么旧的死掉后还会kubelet报错查找旧的容器。
然后删除死掉的容器
docker rm 21a46e11be7c
最后重启kubelet
成功!
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)