<p>I’m trying out ephemeral storage for the first time.  I have a node with a single 375G local SSD disk (GKE), and a 100G standard boot disk.  For the ephemeral storage, I use <code>emptyDir</code>, mount the volume at <code>/workdir</code>, and set my request/limit at 20G.   When I exec into the pod and run <code>df -kh</code> I see:</p>
<pre class="lang-sh prettyprint-override"><code>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
</code></pre>
<p>I expected <code>/workdir</code> to have a size of 20G.  Why do both <code>/</code> and <code>/workdir</code> seem to be identical, and why do I see nearly the full disk?</p>

HoosierDaddy
<p>When you use <code>emptyDir</code>, it does not create a virtual/logical disk.  It's basically just using the underlying local storage used by the node itself (which in this case is the SSD).  Further, request limits don't work the way you think, meaning you won't end up with a volume backed by a 20G &quot;disk&quot;.  The kubelet will monitor the storage used by your volume and if it detects that storage usage exceeds the limit, it will mark the pod for eviction.</p>
<p>I believe to do what you want, you'll need to wait for <a href="https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes" rel="nofollow noreferrer">generic ephemeral volumes</a> to mature.</p>
