Asterrr's Handbook

Domain 4 · Storage

10% of the exam. Creating PersistentVolumes, PersistentVolumeClaims and StorageClasses, getting a claim to bind, and mounting it into a Pod.

Domain 4 is the smallest domain, but its tasks are quick points if you know the YAML by heart. Expect one or two tasks that hand you a half-finished setup: a claim stuck in Pending, a PV that won't rebind after its claim was deleted, a class that should be the default, or a volume that needs to grow. Nearly every one is solved by lining up five fields between a PV and a PVC.

CompetencyWhat it's really askingPages
4.1 StorageClasses and dynamic provisioningWrite a StorageClass, make it the default, pick the binding mode, allow expansion, and know which CSI driver does the workStorageClasses
4.2 Volume types, access modes and reclaim policiesPick between ephemeral and persistent volumes, choose RWO, ROX, RWX or RWOP, and say what happens to data when the claim goes awayPersistentVolumes and claims
4.3 PVs and PVCsCreate a PV by hand, write a claim that binds to it, mount it into a Pod, and recover a Released volumePersistentVolumes and claims

What connects Domain 4 to the rest of the exam:

Matching on size alone

A claim for 1Gi doesn't bind just because a 5Gi PV is Available. The class name, access mode, volume mode and any label selector must match too, and an empty class on one side is not the same as an unset class on the other. When a claim stays Pending, compare the PV and PVC field by field with kubectl get pv,pvc -o wide before you change anything else.