set of machines (VMs, physical machines, etc.) how do you deploy workloads (web applications, databases, batch machine learning jobs, etc,) to them? Node A Node B Node C Node D
and monitoring containerized workloads to nodes in a cluster. • Greek for “Helmsman”. • Inspired by Google’s experience with “Borg”. • Open source, written in Go. • Manage applications, not machines.
◦ Bunch of local disks ▪ Can still use local disks (aka Kubernetes PersistentLocalVolumes) ◦ Reliable External storage ▪ Much better experience for “Reliable External storage” • Automatic (intelligent) provisioning. • Intelligent scheduling based on storage. • Storage automatically available to correct node and pod. • Storage moved along with workload. • Portable Kubernetes Storage API -- write once run anywhere
external block/file storage • Easy to use CSI Drivers ◦ Ensure storage system up and accessible. ◦ Deploy CSI Driver YAML • Easy to develop CSI Drivers ◦ Write a GRPC service implementing CSI interface ◦ Containerize it to make it easy to deploy. ◦ Generate YAML to give to customers ▪ Pair your CSI driver container with provided CSI Sidecar Containers
Interest Groups ◦ Groups of contributors focused on development/improvements Kubernetes sub-area. ◦ 25 Kubernetes SIGs today ▪ See https://github.com/kubernetes/community/blob/master/sig-list.md ◦ Examples: ▪ SIG Network, SIG Storage, SIG Node, SIG Security, SIG UI, etc. • Workgroups ◦ Time bounded groups of contributors focused on development/improvements Kubernetes sub-area. ◦ Owned by one or more SIG ◦ Examples ▪ Data Protection Workgroup (co-owned by SIG Storage and SIG Apps).
◦ Ensuring file and block storage (whether ephemeral or persistent, local or remote) are available wherever a container is scheduled. ◦ Provisioning, attaching, mounting, unmounting, detaching, and deleting volumes ◦ Influencing scheduling of containers based on storage (data gravity, availability, etc.). ◦ Storage capacity management (container ephemeral storage usage, volume resizing, etc.) What does SIG Storage do?
by SIG Storage: ◦ Persistent Volume Claims and Persistent Volumes ◦ Storage Classes and Dynamic Provisioning ◦ Kubernetes volume plugins ◦ Container Storage Interface (CSI) ◦ Secret, ConfigMap, DownwardAPI Volumes ◦ And lots more! • SIG Storage Website: ◦ https://github.com/kubernetes/community/tree/master/sig-storage What does SIG Storage do?
features, write tests, fix bugs for volume related features. • Meet virtually every two weeks to plan and discuss. • Meet face-to-face every now and then to close on bigger issues. • Help each other and the community via slack and google groups.
◦ CSI Windows ◦ Pass pod service account token to CSI ▪ Enables CSI drivers to authenticate as pod • Alpha ◦ Volume populator (re-design) ▪ After provisioning, populate pod with data before giving to pod ◦ Read Write Once Pod PV Access Mode ▪ Enforces at most a single pod can mount a volume at a time ◦ Delegate FSGroup to CSI Driver instead of Kubelet ▪ More efficient fsgroup handling for certain drivers
Start at the SIG Storage page: ◦ https://github.com/kubernetes/community/tree/master/sig-storage • Attend the bi-weekly meetings: 9 AM PT every second Thursday. ◦ Zoom meeting! Attend from anywhere. ◦ Agenda doc -- feel free to add items for discussion to this doc. ◦ Next one Nov 4, 2021 • Familiarize yourself with the code. Start from main method walk through it. ◦ Help fix a bug! ◦ 233 open SIG storage Issues (as of 10/25/21) ◦ Filter by “Help wanted” label. • Help write tests!
Help write features! ◦ There is a new Kubernetes version released every quarter (e.g. v1.9, v1.10, v1.11…) ◦ Release schedules: ▪ https://github.com/kubernetes/sig-release/tree/master/releases/ • SIG Storage Planning Spreadsheet ◦ Beginning of every quarter: planning and assignments ◦ During quarter: help needed on assigned items & sometimes new items pop up. • Every feature must have: ◦ Enhancement issue in github.com/kubernetes/enhancements/ ◦ KEP in github.com/kubernetes/enhancements/tree/master/keps/sig-storage