An access mode states how a volume may be mounted, and the storage must support it:
| Mode | Short | Meaning | Typical storage |
|---|---|---|---|
| ReadWriteOnce | RWO | Read-write by Pods on one node | Block disks, local-path |
| ReadOnlyMany | ROX | Read-only by many nodes | NFS, snapshots |
| ReadWriteMany | RWX | Read-write by many nodes | NFS, CephFS, EFS, Azure 6 Files |
| ReadWriteOncePod | RWOP | Read-write by one Pod (stable 1.29) | CSI block and file drivers |
RWO is per node: two Pods on one node can share it, which RWOP prevents. The reclaim policy acts when the claim is deleted: Delete (the default for dynamic classes) removes volume and data; Retain (the default for hand-made volumes) keeps both and marks the volume Released, unbindable until cleaned up; Recycle is deprecated:
kubectl delete pvc notes manual-claim >/dev/null
sleep 10; kubectl get pv -o custom-columns=$PVS
docker exec l3-booknest-worker ls /var/local-path-provisioner | grep -c "$PV"
kubectl delete pv manual-pv >/dev/nullOutput
NAME STATUS SIZE CLAIM POLICY manual-pv Released 1Gi manual-claim Retain 0
The dynamic volume and its directory (count 0) are gone; the hand-made one stayed Released until deleted.