在kubernetes主机上运行dockerd
几天后,该主机由kubelet调度了pod,dockerd
变得很糟糕-消耗了大量资源(50%的内存-〜4gigs)。
到达此状态时,它无法对似乎通过$ docker ps
运行的容器的命令执行操作。另外,在主机上检查ps -ef
时,这些容器不会映射到任何基础主机进程。
$ docker exec
产生-
level=error msg="Error running exec in container: rpc error: code = 2 desc = containerd: container not found"
Cannot kill container 6a8d4....8: rpc error: code = 14 desc = grpc: the connection is unavailable"
level=fatal msg="open /var/run/docker/libcontainerd/containerd/7657...4/65...6/process.json: no such file or directory"
浏览主机上的进程树,似乎有很多已经失效的进程,它们指向dockerd
作为父ID。关于该问题可能是什么或在哪里可以进一步看待的任何指针?
在dockerd
上启用调试以查看问题是否再次发生,通过dockerd重新启动可解决该问题。
答案 0 :(得分:1)
听起来像您的容器行为异常,而docker无法收起它。我将看看在您看到问题的节点上已计划了什么。您看到的错误似乎是docker守护程序未响应docker CLI发出的API请求。一些指针:
docker logs -f <containerid>
上容器中的日志