Understanding Kubernetes Storage: Getting in Deep by Writing a CSI Driver

Tuesday, February 25, 2020 - 4:00 pm4:30 pm

Gerry Seidman, AuriStor

Abstract: 

Understanding the many Kubernetes storage ‘objects’ along with their not-always-obvious interaction and life-cycles can be daunting (Volumes, Persistent Volumes, Persistent Volume Claims, Volume Attachments, Storage Classes, Volume Snapshots, CSIDriver, CSINode, oh my...)

Perhaps the best ways to gleen a deep understand of these storage objects and how storage-related scheduling works in Kubernetes is to write a Container Storage Initiative (CSI) driver. While most of us will never need to write a CSI driver, in this session we will make storage with Kubernetes more accessible by exploring it from an inside-out approach learned by writing a CSI Driver.

In this session you will obtain an understanding of:

  • How Kubernetes 'Volumes' relate to mounted storage available from within containers
  • The Kubernetes Declarative Model
  • The many Kubernetes Storage Objects
  • Kubernetes Scheduling and how it is influenced by storage object
  • How Kubernetes controllers move the storage objects through their life-cycles
  • What is the role and responsibility of a storage type specific CSI Driver
  • What are the roles and responsibilities of CSI support ‘Side-Cars’
  • Putting it all together and relating this all back to how to write a CSI Driver

Gerry Seidman, AuriStor

Gerry Seidman has a long career having designed and implemented many complex, secure, high-performance, high-availability and fault tolerant distributed systems. He is President at AuriStor where he is still very hands-on including the design and implementation of the AuriStor/AFS Kubernetes/CSI Driver.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@conference {246572,
author = {Gerry Seidman},
title = {Understanding Kubernetes Storage: Getting in Deep by Writing a {CSI} Driver},
year = {2020},
address = {Santa Clara, CA},
publisher = {{USENIX} Association},
month = feb,
}

Presentation Video