Day 63: CSI and dynamic provisioning
CSI: the storage equivalent of CNI
The Container Storage Interface (CSI) is a standardized plugin interface (conceptually parallel to yesterday's CNI, and Phase 6's CRI) that lets any storage backend implement drivers Kubernetes can use, without Kubernetes needing built-in support for every cloud provider's storage system.
Dynamic provisioning means a PV is created automatically the moment a PVC requests it, via the StorageClass's CSI provisioner — no admin has to manually create volumes ahead of time. This is the default expectation in any modern cluster; manually pre-provisioning PVs is largely a legacy pattern now.
kubectl apply -f pvc.yaml
kubectl get pvc db-storage # Pending, then Bound
kubectl get pv # a new PV appeared automatically, created by the CSI driverKey terms
- CSI
- A standardized plugin interface letting any storage backend integrate with Kubernetes.
- Dynamic provisioning
- Automatic PV creation triggered by a PVC, via a StorageClass's CSI provisioner.
What problem does CSI solve that's analogous to what CNI solves for networking?