- DevOpsCube Newsletter
- Posts
- PVC Limits vs AWS EFS: What You Need to Know
PVC Limits vs AWS EFS: What You Need to Know
👋 Hi! I’m Bibin Wilson. In each edition, I share practical tips, guides, and the latest trends in DevOps and MLOps to make your day-to-day DevOps tasks more efficient. If someone forwarded this email to you, you can subscribe here to never miss out!
If you are using AWS EFS as persistent storage for Kubernetes pods,
What happens if the pod writes data more than configured resource limit in the EFS based PVC.
Lets look at an example of this PVC manifest that uses EFS storage class that requests 1 GB storage.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: media-efs-claim
spec:
accessModes:
- ReadWriteMany
storageClassName: dynamic-efs-sc
resources:
requests:
storage: 1Gi
I have done a test by writing more than 1GB to this PVC.
Here is what we go when check the storage. 2 GB used.

EFS also showed close to 2GB.

Here, you can clearly see that the container writes data more than the configured PVC storage.
So, if you request, say, 1 GiB in a PVC, the created PV is limitless (i.e. can store much more), because EFS does not enforce the capacity you ask in the PVC.
This means, the storage
size in PVC is required (you must put something, e.g. 5Gi
) because Kubernetes API needs that. But that number does not limit how much data can actually be stored in the EFS via that PVC.
Unlike block storage like EBS, EFS does not enforce the capacity you ask in the PVC.
The only way to avoid the unnecessary cost on EFS service, monitor the storage using AWS CloudWatch alarm on FileSystemSize
or other external monitoring system.
Also, if true quotas are mandatory, consider using EBS or self-managed NFS on EC2 where OS/file-system quotas (XFS/ZFS) are possible.
🧱 DevOpsCube Bytes

If you want to get started with persistent volume implemenations on AWS EKS, refer the following guides.
Reply