Kubernetes PVC Stuck Pending: Read the Events First

Symptom

PersistentVolumeClaim sits in Pending forever; pod never schedules.

Root cause

No StorageClass match, zone mismatch, or volume provisioner misconfigured.

Fix, in order

1. The event tells you which of the three it iskubectl describe pvc <name> | tail -10
2. Check the default StorageClass existskubectl get storageclass
3. Zone affinity: PVC pinned where the disk iskubectl get pods -o wide # vs PV nodeAffinity

Prevent it coming back

Name the storageClass explicitly in every PVC.

Deep-dive article

Full walkthrough: Kubernetes PVC Stuck Pending: Read the Events First on the NinjaOps blog.

Run it on clean infra

Spinning up a fresh box to reproduce or escape this error?

Managed cloud hosting

Related

Cloud & DevOps tool comparisons · Hardware build guides

NinjaOps publishes free engineering guides. Some outbound links are affiliate links: they cost you nothing and support the site.

Last reviewed 2026-10-02 · NinjaOps SEO grid · DevOps blog