了解 GKE 容器内的 df 输出

Understanding df output inside GKE container

我是第一次尝试临时存储。我有一个带有单个 375G 本地 SSD 磁盘 (GKE) 和 100G 标准启动磁盘的节点。对于临时存储,我使用 emptyDir,将卷安装在 /workdir,并将我的 request/limit 设置为 20G。当我进入 pod 并且 运行 df -kh 我看到:

Filesystem      Size  Used Avail Use% Mounted on
overlay         369G  7.8G  342G   3% /
tmpfs            64M     0   64M   0% /dev
tmpfs           103G     0  103G   0% /sys/fs/cgroup
/dev/nvme0n1    369G  7.8G  342G   3% /workdir
shm              64M   24K   64M   1% /dev/shm
tmpfs           103G     0  103G   0% /proc/acpi
tmpfs           103G     0  103G   0% /proc/scsi
tmpfs           103G     0  103G   0% /sys/firmware

我预计 /workdir 的大小为 20G。为什么 //workdir 看起来是一样的,为什么我看到的几乎是完整的磁盘?

当您使用 emptyDir 时,它不会创建 virtual/logical 磁盘。它基本上只是使用节点本身使用的底层本地存储(在本例中是 SSD)。此外,请求限制并不像您想象的那样工作,这意味着您最终不会得到一个由 20G“磁盘”支持的卷。 kubelet 将监控您的卷使用的存储,如果它检测到存储使用超过限制,它将标记 pod 以进行驱逐。

我相信做自己想做的事,需要等待generic ephemeral volumes成熟。