我的 Kubernetes v1.16.3 集群中的一个节点最终处于一种奇怪的状态。该节点正在运行 Debian 10.1 和 Docker 19.03.1。当我尝试kubectl exec sh
进入该节点上的容器时,我在节点中看到以下错误消息journalctl -u docker
(第二个错误消息也是由kubectl
它自己报告的):
stream copy error: reading from a closed fifo
Error running exec ... in container: failed to create runc console socket: mkdir /tmp/pty...: no space left on device ..."
此时我看不出哪个设备可能已满。简单操作df
不会引发任何警报。我该如何进一步诊断和补救这种情况?
顺便说一句,到目前为止,问题仍然存在于kubectl drain
、systemctl restart docker
重启kube-proxy
和 CNI 的 pod 以及其他一些措施中。
答案1
docker system prune
正如 OP 在评论中提到的,和的组合docker rmi $(docker images -q)
可以解决这一问题。