即使节点上有空间,kubernetes pod 也不使用空间

问题描述

我有一个 zookeeper pod,它以某种方式进入了 Crashloopbackoff,现在无论我做什么,即使节点上有足够的空间,它也不会出现。

节点剩余空间:46G

我的 pod 请求的空间:2000Mi

我可以在 pod 的日志中看到这一点

===> 正在配置... [Errno 28] 设备上没有剩余空间 命令 [/usr/local/bin/dub template /etc/confluent/docker/myid.template /var/lib/zookeeper/data/myid] 失败!

我试过了

kubectl delete pod zookeeper

之后它就会回到 crashloopbackoff

无论如何都可以在不终止和重新部署的情况下恢复 pod(statefulset) 吗?

请帮忙。

解决方法

这很可能是剩余 docker 图像的问题。你应该检查:

  • 可用空间 df -h

  • 可用的索引节点 df -i

此问题最常见的解决方案是将 remove unused docker imagesdocker image prune -a

WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y

您还可以使用 docker system prune 删除所有已停止的容器以及所有卷和网络,并且没有被任何容器使用。它还将删除所有悬空图像。