A pod stuck in Pending that never schedules is often waiting on storage: its PersistentVolumeClaim can't bind to a volume, so the scheduler has nothing to attach. Until the PVC binds, the pod sits there forever.
Confirm it's the volume
kubectl get pvc # STATUS Pending = not bound kubectl describe pvc <name> | sed -n '/Events:/,$p' # "no persistent volumes available ... no storage class is set"
The usual cause: no StorageClass
Dynamic provisioning needs a StorageClass. If the cluster has no default class and your claim doesn't name one, nothing provisions a volume and the PVC stays Pending. Name a class explicitly in the claim:
spec:
storageClassName: standard # a class that actually exists
accessModes: [ReadWriteOnce]
resources: { requests: { storage: 10Gi } }
kubectl get storageclass # verify the name exists firstWatch for an accessModes mismatch too — asking for ReadWriteMany on a backend that only supports ReadWriteOnce leaves the claim unbound the same way.
Practise it
Stuck-Pending storage is one of the simulator's Kubernetes incidents. Drill it in a full incident response shift.