Understanding Kubernetes Storage: Getting in Deep by Writing a CSI Driver
summary
Walks through building a working CSI driver for an AFS-derived storage backend using Go, the Kubernetes API and the CSI spec; driver runs as a daemonset on every node exposing identity/controller/node gRPC services and uses standard sidecars like the external-provisioner and external-attacher. Explains PVC→PV→VolumeAttachment lifecycle, implements topology-aware scheduling and wait-for-first-consumer binding, and shows the driver can veto or delay publishing (e.g., until data migration completes), proving the approach operates end-to-end.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:33Overview
- 1:56What Kubernetes used to be
- 6:04Kubernetes objects
- 7:53Kubernetes model
- 9:10Controller pattern
- 10:38Basic hello world
- 13:57Examples
- 15:30Persistent Volume Claims
- 19:01What is the Magic
- 19:37CSI Driver
- 22:28CSI Driver Vendor
- 23:37Sidecars
- 28:48Putting it all together
- 30:14Driver Parameters
- 31:06Outro
related talks
48mCSI in Kubernetes
01h 27mIntro + Deep Dive: Kubernetes Storage SIG
01h 16mIntro + Deep Dive: Kubernetes Storage SIG
35mKubernetes Storage Lingo 101
27mCeph-CSI: The Engine Behind Persistent Storage in Kubernetes
37mKubernetes Storage 101
19mKeynote: Debunking the Myth: Kubernetes Storage is Hard
01h 24mTutorial: Introduction to Using the Container Storage Interface (CSI) Primitives
