Storage
Topology and access modes
66 / 82

Provision the disk in the zone the scheduler chose, and know how many nodes may mount it.

Block disks are zonal and usually attach to one node at a time. Two settings avoid most stuck-Pod incidents.

volumeBindingMode: Immediatedisk inzone-aPod placedin zone-bXPod stuck: disk is in the wrong zoneWaitForFirstConsumerschedulerpicks zone-bdisk createdin zone-bcorrect sequence, no mismatchAccess modesRWOone node, read-writemost block disksROXmany nodes, read-onlyshared datasetsRWXmany nodes, read-writeNFS, Filestore, EFS

WaitForFirstConsumer is the modern default

Provisioning waits for a Pod so the disk is created where the scheduler already placed it.

Classic mistake

Scaling a Deployment that mounts one RWO claim across nodes: extra Pods stay Pending. Use a StatefulSet (one PVC per replica) or an RWX class.

kind: StorageClass
provisioner: pd.csi.storage.gke.io   # GKE
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
reclaimPolicy: Retain