Container Storage Interface: Present and Future
summary
CSI defines out-of-tree plugins communicating over gRPC with idempotent APIs, splits control into controller vs node services, and requires plugins to expose a domain-socket endpoint. Design decisions: synchronous RPCs (plugins may perform async work), controller handles cluster-scoped attach/provision, node handles mounts/stage/publish. Implementations exist for Kubernetes and Mesos, reference drivers include GCE PD, NFS (node-only), and LVM (local); Mesos integration and sidecar/daemonset deployment patterns are proven. Roadmap adds topology awareness, snapshots, resizing, plugin registration and a minimal conformance test suite.
AI-written summary · about
chapters (32)
- 0:00Intro
- 0:25Outline
- 1:03Why CSI
- 1:52Storage Interfaces
- 2:19Disaster Situation
- 3:03Interfaces
- 3:59Goals
- 4:51Timeline
- 5:54Design Choices
- 6:48Out of Tree
- 7:31Entry Plugin Model
- 8:23Service vs CRI Interface
- 9:18Service vs CI
- 10:26Controller vs No Service
- 12:08Node Deployment
- 12:28API Idempotency
- 14:42GRPC
- 15:23Async vs Sync
- 16:59Packaging and Deployment
- 18:01API Overview
- 18:13Identity Service
- 18:30Controller Service
- 20:00NoService
- 21:40Life Cycle
- 22:33NFS Plug
- 24:40Controllers
- 25:28Resource Providers
- 26:25Provider and Profile
- 28:30Governance Model
- 28:51Future Work
- 29:57Questions
- 34:20Google Doc
related talks
48mCSI in Kubernetes
32mUnderstanding Kubernetes Storage: Getting in Deep by Writing a CSI Driver
01h 27mIntro + Deep Dive: Kubernetes Storage SIG
08mGold Sponsor Lightning Talk: The Future of Container Storage: CSI and Cloud Foundry
01h 24mTutorial: Introduction to Using the Container Storage Interface (CSI) Primitives
27mCeph-CSI: The Engine Behind Persistent Storage in Kubernetes
21mCOSI: The Common Operating System Interface
40mCeph CSI Driver: Bridging Containers and Ceph
