Large Scale Teaching Infrastructure with Kubernetes
summary
UC Berkeley runs a Kubernetes-backed JupyterHub that serves 1,200–3,500 students in semester courses and is being readied for a MOOC with ~100,000 signups (≈25k active). Deployment uses GKE and Azure, Helm charts extracted as Zero to JupyterHub, kubeSpawner, and automated CI/CD with git-crypt + Travis CI so TAs can merge and create hubs without deep Kubernetes knowledge. Persistent storage proved hardest: per-PVC SSDs were cost-prohibitive, so the setup evolves through NFS mounts, hostPath nodes, and a custom flex volume NFS provider with throttling for isolation.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:12Challenges
- 3:41Scale
- 5:40Student Experience
- 8:02Technology
- 12:20Summer 2017
- 20:25Fall 2017
- 21:35Online Course
- 22:20Automated Deployment
- 24:30Deployment Workflow
- 25:50Automatic Deployment
- 27:40Storage
- 29:25NFS
- 30:10NFS Server
- 31:10Flex Volumes
- 33:20Open Source Projects
related talks
27mDeploying JupyterHub with Kubernetes
37mJupyterHub from the Ground Up with Kubernetes
31mManaged Kubernetes — Next Gen Academic Infrastructure?
39mHow We Hosted 200+ Data Scientists in a K8S Cluster
40mStreet fighting techniques for multi tenant machine learning...
36mBuilding a Scalable Data Science & Machine Learning cloud using Kubernetes
30mEducation as a Service: Containerization and Orchestration of CS50 IDE
23mImplementation Challenges: From HPC to Containers in the Academy
