- A PersistentVolume (PV) is a cluster-level resource representing a piece of storage provisioned by an administrator.
- A PersistentVolumeClaim (PVC) is a user’s request for storage, specifying capacity, access modes, and optional selectors.

How PV-PVC Binding Works
The binding process evaluates several criteria to find a suitable PV for a PVC:- Capacity: PV storage ≥ PVC request
- Access Modes: e.g.,
ReadWriteOnce,ReadOnlyMany - Volume Mode: e.g.,
FilesystemorBlock - Storage Class: must match if specified
- Label Selectors (optional): target specific volumes
Using Label Selectors
You can refine binding with labels on both PVC and PV:
A PVC binds to only one PV and vice versa. If a PV is larger than the requested size, the leftover space remains unused and cannot be shared.

Step-by-Step: Creating a PersistentVolumeClaim
-
Define the PVC
Save the following manifest aspvc-definition.yaml: -
Apply the PVC
-
Verify Status
Once a matching PV is available, the PVC transitions to
Bound:
If your cluster supports dynamic provisioning, you can skip creating a PV manually. Just specify a
storageClassName in the PVC.Reclaim Policies
When a PVC is deleted, the PV’s reclaim policy determines what happens to the underlying storage:| Reclaim Policy | Behavior | Use Case |
|---|---|---|
| Retain (default) | PV and data are kept intact | Manual cleanup or data recovery |
| Delete | PV and its data are deleted automatically | Ephemeral workloads or test environments |
| Recycle | Data is scrubbed (basic rm -rf /thevolume/*) and made available | Shared test space (deprecated in v1.22) |