2

我正在尝试调试我的 kubernetes pod 中的存储使用情况。我已经看到 pod 由于磁盘压力而被驱逐。当我登录到正在运行的 pod 时,请参阅以下内容

Filesystem      Size  Used Avail Use% Mounted on
overlay          30G   21G  8.8G  70% /
tmpfs            64M     0   64M   0% /dev
tmpfs            14G     0   14G   0% /sys/fs/cgroup
/dev/sda1        30G   21G  8.8G  70% /etc/hosts
shm              64M     0   64M   0% /dev/shm
tmpfs            14G   12K   14G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs            14G     0   14G   0% /proc/acpi
tmpfs            14G     0   14G   0% /proc/scsi
tmpfs            14G     0   14G   0% /sys/firmware
root@deploy-9f45856c7-wx9hj:/# du -sh /
du: cannot access '/proc/1142/task/1142/fd/3': No such file or directory
du: cannot access '/proc/1142/task/1142/fdinfo/3': No such file or directory
du: cannot access '/proc/1142/fd/4': No such file or directory
du: cannot access '/proc/1142/fdinfo/4': No such file or directory
227M    /
root@deploy-9f45856c7-wx9hj:/# du -sh /tmp
11M /tmp
root@deploy-9f45856c7-wx9hj:/# du -sh /dev
0   /dev
root@deploy-9f45856c7-wx9hj:/# du -sh /sys
0   /sys
root@deploy-9f45856c7-wx9hj:/# du -sh /etc
1.5M    /etc
root@deploy-9f45856c7-wx9hj:/# 

我们可以看到消耗了 21G,但是当我尝试运行du -sh它时,它只返回 227M。我想知道谁(哪个目录)正在占用空间

4

2 回答 2

4

根据文档Node ConditionsDiskPressure与节点上导致 kubelet 驱逐 pod 的条件有关。这并不一定意味着它是导致这些条件的吊舱。

磁盘压力

节点的根文件系统或映像文件系统上的可用磁盘空间和 inode 已满足驱逐阈值

您可能想要调查节点上发生的情况。

于 2019-09-09T20:06:23.507 回答
1

看起来该进程1142仍在运行并持有文件描述符和/或可能有一些空间(您可能还有其他进程和其他文件描述符也没有被释放)是kubelet吗?为了缓解这个问题,您可以验证它是否正在运行,然后将其终止:

$ ps -Af | grep 1142
$ kill -9 1142

PD 您需要提供有关进程以及该节点上正在运行的内容的更多信息。

于 2019-09-09T20:48:19.963 回答