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
成功!
- 点赞
- 收藏
- 关注作者
评论(0)