Key Concepts
PV
Reclaim Policy
Volume Source
Claim Reference
Required Permissions
PV Status Values
Reclaim Policies
How to View PVs
Select Cluster
View List
Filter and Search
How to View PV Details
Find the PV
Click PV Name
Review Details
- Overview: Name, status, storage class, reclaim policy, age
- Capacity: Storage size and volume mode
- Access Modes: How the volume can be accessed
- Volume Source: Backend storage details (NFS path, CSI driver, etc.)
- Claim: Reference to bound PVC (if any)
- Node Affinity: Node constraints for local volumes
- Labels & Annotations: Metadata attached to the PV
- Events: Recent Kubernetes events
How to Create a PV
Click Create PV
Write YAML
spec.capacity.storage- Storage capacityspec.accessModes- How the volume can be accessedspec.persistentVolumeReclaimPolicy- What happens when releasedspec.storageClassName- Storage class for dynamic binding- Volume source (e.g.,
spec.nfs,spec.csi,spec.local)
Create
How to Edit a PV
Open Actions Menu
Click Edit YAML
Modify Spec
Save
How to Delete a PV
Open Actions Menu
Click Delete
Confirm
Volume Source Types
PVs support various storage backends:Example PVs
NFS Volume
Local Volume
CSI Volume
Volume Modes
Access Modes
Troubleshooting
PV stuck in Released status
PV stuck in Released status
- The PVC was deleted but reclaim policy is Retain
- Manually delete the
spec.claimRefto make it Available again - Or delete and recreate the PV after backing up data
- Consider changing reclaim policy for future PVs
PV shows Failed status
PV shows Failed status
- Automatic reclamation failed (usually with Recycle policy)
- Check events for error details
- Manually handle the volume and recreate if needed
- Recycle policy is deprecated; use Delete or Retain instead
PVC cannot bind to PV
PVC cannot bind to PV
- Check access modes match between PVC and PV
- Verify capacity: PV capacity must be >= PVC request
- Ensure storage class matches (or both are empty for no class)
- Check if PV is already bound to another PVC
- For local volumes, verify node affinity allows scheduling
Cannot delete PV
Cannot delete PV
- PV may still be bound to a PVC
- Delete the PVC first, then delete the PV
- Check for finalizers blocking deletion
- Verify you have delete permissions
Local PV not accessible
Local PV not accessible
- Verify the path exists on the specified node
- Check node affinity configuration
- Ensure pod is scheduled to the correct node
- Verify directory permissions on the node
NFS PV mount issues
NFS PV mount issues
- Verify NFS server is accessible from cluster nodes
- Check NFS export permissions
- Ensure NFS client packages are installed on nodes
- Verify firewall allows NFS traffic
FAQ
What is the difference between PV and PVC?
What is the difference between PV and PVC?
When should I create PVs manually?
When should I create PVs manually?
- Using storage that doesn’t support dynamic provisioning
- Pre-provisioning storage for specific workloads
- Using local storage with node affinity
- Migrating from existing storage systems
Can I resize a PV?
Can I resize a PV?
- Back up your data
- Create a new larger PV
- Migrate data to the new volume
- Update workloads to use the new PVC
What happens when I delete a PVC with Retain policy?
What happens when I delete a PVC with Retain policy?
Can multiple PVCs use the same PV?
Can multiple PVCs use the same PV?
Why use CSI over in-tree volume plugins?
Why use CSI over in-tree volume plugins?
- Maintained by storage vendors, not Kubernetes core
- Features don’t require Kubernetes upgrades
- Supports snapshots, cloning, and expansion
- In-tree plugins (awsElasticBlockStore, gcePersistentDisk) are deprecated
How do local volumes differ from hostPath?
How do local volumes differ from hostPath?
- Node affinity (binds to specific node)
- Proper lifecycle management
- Support for dynamic provisioning
How do I migrate data between PVs?
How do I migrate data between PVs?
- Create a new PV with desired configuration
- Create a new PVC bound to the new PV
- Run a migration pod with both volumes mounted
- Copy data from old to new volume
- Update workloads to use the new PVC
- Delete old PVC/PV after verification