Block Volumes Support in Kubernetes [I]
summary
Adds raw block volume support as an alpha feature in Kubernetes 1.9, introducing two new API fields volumeMode and volumeDevices and a feature gate BlockVolume. Implements kubelet changes (per-pod volume and volumeDevices directories, symlinks to /dev), a Fibre Channel in-tree plugin for block attach, and binding rules that prevent filesystem PV/PVC mismatches. Dynamic provisioning remains incomplete; a kernel race is mitigated by opening the block device file to avoid silent volume swaps.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:27Agenda
- 2:23Background
- 8:03New feature for solution
- 11:46Configuration for services
- 12:31Block Volume Definition Persistent volume definition
- 13:22Block Volume Definition cont.
- 16:05Volume Mode binding rule for pre-provisioned PV
- 17:11Quick glance of block PV/PVC
- 18:06Quick glance of running pod with block volume
- 19:57Implementation deep dive
- 20:57Kubernetes Volume Plugin interface
- 25:19Directories under kubelet node
- 27:04Pod volume directory on kubelet node
- 29:18Plugin directory on kubelet node
- 30:55Avoid block volume silent replacement Problem
- 32:26Future work
- 35:06References
related talks
30mNew Features in Kubernetes Storage
37mKubernetes Storage 101
34mBuilding Blocks: How Raw Block PVs Changed the Way We Look at Storage
35mKubernetes Storage Lingo 101
45mIntro: Kubernetes (VMware) SIG
30mKubernetes Data Protection WG Deep Dive
22mKeep Persistent Volumes Healthy for Stateful Workloads
29mSo, What If I Don’t Want My Persistent Storage To Be Yet Another Bindmount?
