Kubernetes · Orchestration under pressure

How do PersistentVolumes and PersistentVolumeClaims work?

Mediumstoragepersistent-volumespvcUpdated Oct 2026
Quiz this track

Short answer

A PersistentVolume represents storage, and a PersistentVolumeClaim is a namespaced request for it. Kubernetes binds a claim to a volume and mounts it into pods, decoupling storage lifecycle from pods.

PVs are cluster-scoped storage resources. PVCs are namespaced requests for size, access mode and optionally a StorageClass. The binding can be static, where an admin creates the PV, or dynamic, where a provisioner creates one from a StorageClass. Pods reference the PVC, not the PV.

  • ReadWriteOnce is mounted read-write by a single node, not necessarily a single pod
  • ReadOnlyMany and ReadWriteMany depend on the underlying driver
  • Reclaim policy Retain keeps data after the PVC is deleted; Delete removes it
  • A PVC is bound to one PV and usually cannot be shrunk
  • StatefulSets use volumeClaimTemplates to create one PVC per pod
yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 20Gi
---
apiVersion: v1
kind: Pod
metadata:
  name: app
spec:
  containers:
    - name: app
      image: registry.example.com/app:2.0.0
      volumeMounts:
        - name: data
          mountPath: /data
  volumes:
    - name: data
      persistentVolumeClaim:
        claimName: data

Access modes are a common source of confusion. Many block storage drivers only support ReadWriteOnce, so multiple replicas cannot safely share the same volume. Choose storage based on the access pattern, latency, durability and snapshot requirements, not just capacity.

Deleting a PVC with a Delete reclaim policy destroys the backing volume. Back up important data independently and test restores; snapshots are not a substitute for a restore drill.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1What is the difference between a PV and a PVC?
  2. 2What do the access modes actually guarantee?
  3. 3What happens to data when a PVC is deleted?
  4. 4How would you share storage across multiple replicas?

Say it in the interview

A PV is the storage resource and a PVC is the namespaced request that binds to it. Pods mount the PVC, which keeps storage lifecycle separate from pod lifecycle. Access modes trip people up because ReadWriteOnce is node-level, not pod-level, and many drivers do not support shared reads and writes. I pick storage by access pattern and test restores rather than trusting snapshots alone.

Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.

Related questions

Reading is step one

Now say it out loud.

Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live Kubernetes mock interview and get scored feedback on depth, clarity and confidence.