Hands-on Lab·Certified Kubernetes Administrator
CSI Drivers
Kubernetes has no storage code of its own. A CSI driver is a plugin plus a set of sidecars that translate Kubernetes objects into gRPC calls, and installing one without a StorageClass gives you a driver nothing can use.
Storage Guide 72 of 103 Advanced
- Kubernetes1.36.4
- Cluster4 nodes
- Runtimecontainerd 2.2.6
- CNICalico v3.32.1
- TimeAbout 40 min
The reference hostpath driver is for testing only, never production. What it demonstrates about the CSI architecture applies to every driver.
- Driverhostpath.csi.k8s.io
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| CKA1001 | 192.168.0.175 | Ubuntu 26.04 LTS | Control Plane Node | 2 Core | 4 GB | 50 GB |
| CKA1001-NODE01 | 192.168.0.176 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA1001-NODE02 | 192.168.0.177 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA1001-NODE03 | 192.168.0.178 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
This guide includes
Use this when storage has to come from something Kubernetes does not ship. This matters because Kubernetes has no storage code of its own - a driver is a plugin plus sidecars, and installing one without a StorageClass leaves you with nothing usable.
- seeing what the cluster already has, and why
local-pathis not a CSI driver at all - installing the snapshot CRDs and controller, which are maintained outside the core project
- installing a driver and finding it is several StatefulSets of plugin plus sidecars
- hitting the trap - a running driver with no StorageClass - then adding the class that fixes it
- expanding a claim, and meeting the resize that waits for a restart
Before you start
- The PersistentVolumes and claims guide.
- The StorageClasses and dynamic provisioning guide.
- The Custom resources and operators guide, since CSI adds CRDs.
-
What the cluster has before, and why local-path is not CSI
-
Snapshot support is an add-on, not a feature
-
A driver is a plugin plus sidecars
-
The trap: a driver with no StorageClass
-
With a class, the whole chain works
-
Expansion, and the resize that waits for a restart