Learn how to expand Kubernetes Physical Volume Claim (PVC) safely with simple kubectl commands, clear examples, and expert tips for resizing volumes. Our Live Support Team is always here to help you.
Practical Guide to Expand Kubernetes Physical Volume Claim
Sooner or later, you’ll hit that point where your Kubernetes storage starts running out of space. Logs grow, databases get busier, and suddenly you’re staring at a full disk warning. The good news? You can expand Kubernetes Physical Volume Claim (PVC) without tearing everything apart. It just takes a few precise moves to make it happen the right way.
Let’s walk through how to expand Kubernetes Physical Volume Claim properly so you can increase your storage without breaking your deployment.

Overview
What Expanding a PVC Actually Means
A Persistent Volume Claim (PVC) in Kubernetes acts as a request for storage from your cluster. Applications use PVCs to store data, and as that data grows, you might need more room. Expanding a PVC means increasing the allocated storage size without replacing or rebuilding your application.
Keep in mind, not every storage backend allows resizing. That’s why before anything else, you must verify that volume expansion is supported.
Getting Started
Here’s something many miss, by default, volumes won’t resize instantly. The resize will apply only after you restart the associated pod.
Before you expand Kubernetes Physical Volume Claim, make sure the storage class tied to your PVC has this setting enabled:
allowVolumeExpansion: true
If you don’t have this flag, resizing won’t work. For detailed setup, check out our earlier post on enabling PVC resize for Kubernetes storage classes.
The Actual Expansion Command
Now that your storage class is ready, you can expand Kubernetes Physical Volume Claim using a simple patch command.
Let’s say your PVC name is myapp-myapp-pvc-myapp-myapp-1 and you want to increase it to 40Gi. Run:
kubectl patch pvc/"myapp-myapp-pvc-myapp-myapp-1" \
--namespace "default" \
--patch '{"spec": {"resources": {"requests": {"storage": "40Gi"}}}}'
Don’t forget to replace:
- myapp-myapp-pvc-myapp-myapp-1 with the name of your own PVC
- 40Gi with the new size you need
Important note, you can only increase storage. Trying to shrink a PVC will throw this error:
The PersistentVolumeClaim “myapp-myapp-pvc-myapp-myapp-1” is invalid: spec.resources.requests.storage: Forbidden: field can not be less than previous value
So, once expanded, there’s no going smaller.
Expand Your Kubernetes Storage Now!

What Happens Next
After you execute the patch command, your PVC will shift into the FileSystemResizePending state. This means the system is waiting for your pod to restart so it can finish resizing.
To apply the change, you’ll need to recreate all the pods connected to that PVC. Once they’re back up, your new expanded volume will be ready for use.
Conclusion
Expanding this is one of those maintenance tasks every admin eventually faces. It’s straightforward when done correctly, just make sure your storage class allows expansion, run the patch command carefully, and restart your pods.
And that’s it, you’ve just learned how to expand Kubernetes Physical Volume Claim confidently without downtime or guesswork.
