What is the relationship between Persistent Volumes and Persistent Volume Claims (1:1 or 1:n)

6/26/2021

I'm currently writing the manifests for a few services in my home server that require persistent storage. I want to use PVs and PVCs. Do I create one single big PV and share that among all services? Or is it a 1:1 relation between PVCs and PVs?

I'm not asking about the different between PVs and PVCs. This has already been answered on Stack Overflow. For example here.

-- trallnag
kubernetes
persistent-volume-claims
persistent-volumes
storage

1 Answer

6/26/2021

It is a one-to-one relationship.

You can have many PVs in your environment. A specific PVC is a claim for a specific instance that match your requested criterias, e.g. size and type. The volume will be claimed and hold your data as long as your PVC-resource exist in your cluster, but if you delete your PVC, the data might be lost.

From documentation:

Once bound, PersistentVolumeClaim binds are exclusive, regardless of how they were bound. A PVC to PV binding is a one-to-one mapping, using a ClaimRef which is a bi-directional binding between the PersistentVolume and the PersistentVolumeClaim.

-- Jonas
Source: StackOverflow