Skip to main content
andrés ignacio torres

On Kubernetes volumes

This week I had to recreate a Kubernetes cluster to mitigate an incident on a side project.

waking up to find the whole nodepool unexplicably down! oh no!

— andrés ignacio torres (@andresitorresm.com) November 24, 2025 at 8:17 AM

As I'm still learning my way through Kubernetes concepts, I thought it'd be useful (to myself!) to write a quick note on what I've learned about volumes in Kubernetes and how they relate to each other.

Persistent Volumes Claims (PVCs) #

Essentially, this is a request for storage. You request a given amount of storage, and a storage class for it, and Kubernetes will manage that for you so you don't have to provision the disk yourself (at least in a managed Kubernetes environment).

As long as the persistent volume claim exists, the storage volume will be kept around (persistent), even if no pod is using it, or if the pod using it is deleted.

Check your cluster's persistent volume claims with:

kubectl get pvc

Read more here.

Persistent Volumes (PVs) #

This is the actual storage volume that gets created automatically to comply with a persistent volume claim, or it can also be created manually.

If it was created automatically, it will also be deleted automatically when the claim is deleted. Important!

Check your cluster's persistent volumes with:

kubectl get pv

Read more here.

Volume Attachments #

This is a resource that Kubernetes creates and uses to track which volume is attached to which node. When a pod that uses a given persistent volume claim is scheduled to a node, Kubernetes will create a volume attachment to signify that the volume is attached to that node.

Check your cluster's volume attachments with:

kubectl get volumeattachments

Read more here

Can I delete...? #

A persistent volume claim? Yes, but if the volume tied to it was created automatically, the volume will be deleted too.

A persistent volume? Only if no persistent volume claim is using it, and this will delete all data stored on it.

A volume attachment? Yes, but you most likely won't need to. Unless you're me, a few days ago, and had to force a volume to detach from a node because it was stuck. In any case, deleting a volume attachment will NOT delete the volume itself, or the data on it.

I am not a Kubernetes expert, so please double check the official documentation before operating on your cluster!