学无先后,达者为师

网站首页 编程语言 正文

k8s使用docker作为运行时卡死解决办法

作者:正在攀登的小蜗牛 更新时间: 2022-04-01 编程语言

1. docker本身出现bug

  • 现象1:docker ps命令卡住

  • 解决方法:dockerd出现异常,可以查看具体的docker日志,分析具体日志,重启docker

  • 现象2:docker ps命令,响应是dockerd是不是在运行

  • 解决方法:找到dockerd进程,kill即可

2. docker 容器死锁导致(kubelet的日志会报pleg的错误)

docker inspect 容器id  //查找卡住的容器id
ps aux |grep  容器id|grep shim 
kill  shim进行pid

可以使用下面的命令去寻找卡住的容器id

docker ps | grep -v NAME | awk '{print $1}' | while read i; do echo $i; docker inspect -f {{.State.Pid}} $id; done

3. 重启docker服务一直处于starting状态

  • 解决方法:
  1. 查看shim进程是否残留,有的话kill这些shim进程可以恢复

  2. 如果没有shim进程,重启一下containerd(可能是dockerd跟containerd通信问题)

  3. 最后可以将dockerd的进程kill掉,重新restart docker

原文链接:https://blog.csdn.net/qq_21127151/article/details/122377540

栏目分类
最近更新