【问题标题】:Kubelet incorrectly thinks disk is fullKubelet 错误地认为磁盘已满
【发布时间】:2021-04-06 10:10:05
【问题描述】:

我在 kubelet 删除 docker 镜像时遇到问题,因为它认为磁盘已满:

Dec 29 18:00:14 hostname kubelet: I1229 18:00:14.548513   13836 image_gc_manager.go:300] [imageGCManager]: Disk usage on image filesystem is at 85% which is over the high threshold (85%). Trying to free 2160300032 bytes down to the low threshold (80%).

但是,docker使用的分区是1TB,空间充足:

$ docker info
...
Docker Root Dir: /scratch/docker

$ df -k /scratch
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1      976283900 234476968 741806932  25% /scratch

似乎 kubelet 正在查找我在 / 上的主分区的磁盘使用情况,这也恰好是 kubelet 本身安装的分区:

$ df -k /
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/nvme0n1p2  52403200 44032936   8370264  85% /

那么 kubelet 从哪里获取有关可用磁盘空间的信息?我以为它正在使用 docker 守护程序,但根据我所看到的这两个应用程序正在查看不同的分区。有没有我可以设置的配置,还是在进行磁盘空间检查时默认为自己的分区?

这是在 RedHat 7 和 docker 18.06 上使用 Kubernetes 1.17.4。

【问题讨论】:

    标签: docker kubernetes kubelet


    【解决方案1】:

    那里有很多奇怪的边缘案例错误,请参阅https://github.com/kubernetes/kubernetes/issues/66961 作为起点。

    【讨论】:

    • 谢谢,看来我并不孤单。我将针对我的具体案例对该问题添加评论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2010-11-06
    • 1970-01-01
    • 2018-04-05
    相关资源
    最近更新 更多