【发布时间】:2021-05-07 15:51:34
【问题描述】:
我有一个 zookeeper pod,不知何故去了 Crashloopbackoff,现在无论我做什么,即使节点上有足够的空间,它也不会出现。
节点剩余空间:46G
我的 pod 请求的空间:2000Mi
我可以在 pod 的日志中看到这一点
===> 正在配置... [Errno 28] 设备上没有剩余空间 命令 [/usr/local/bin/dub 模板 /etc/confluent/docker/myid.template /var/lib/zookeeper/data/myid] 失败!
我试过了
kubectl delete pod zookeeper
之后它只是回到 crashloopbackoff
有没有办法在不终止和重新部署的情况下恢复 pod(statefulset)?
请帮忙。
【问题讨论】:
-
不确定这是否是这里的原因,但文件系统上的一些空间是为 root 保留的(通常为 5%)。
-
嗯,是的。但是,如果这是导致问题的原因,那么即使我终止并重新部署 pod 也不应该出现,对吗?
-
另一个原因可能是文件系统上的 inode 用完了(我认为在这种情况下错误消息是相同的,但我可能错了)。能不能登陆节点看看能不能手动创建文件?
-
@WytrzymałyWiktor ,没有任何进展问题。豆荚仍然没有出现。我找到了解决方法。如果我更改 statefulset 的副本并将 statefulset 作为一个整体升级,zookeeper pod 就会按预期出现。
-
@darthsithius 我明白了。您能否尝试使用
docker image prune -f和/或docker container prune -f?这些将删除未使用的数据并释放一些磁盘空间。
标签: kubernetes apache-zookeeper kubernetes-helm kubernetes-statefulset