How Kubernetes plays Tetris with your containers
summary
Kubernetes decides pod placement by filtering, scoring and binding nodes using the API server, etcd and kubelet; it packs containers for resource efficiency but you can steer it with node selector, taints and tolerations and pod/node affinity. Manifests are YAML applied with kubectl, runtimes (docker/containerd) run the images, GPUs require node affinity/labels, and OpenAI’s 2500-node cluster fixes DNS throttling by adding pod anti‑affinity so kube‑dns instances no longer exceed node query limits. Custom scheduler plugins are also possible.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:33Speaker background
- 1:44Title & Agenda
- 3:15Kubernetes and Workloads
- 5:57What are containers?
- 10:30Kubernetes Architecture
- 13:12Scheduling Tetris
- 16:02YAML Deployment Files
- 18:25Control Plane Components
- 23:47Scheduling Process
- 27:16Worker Node kubelet
- 30:58Filtering and Predicates
- 32:55Scoring and Spreading
- 33:38Node Selector
- 35:46Node Affinity
- 39:16Pod Affinity
- 42:52Taints and Tolerations
- 46:19Custom Schedulers
- 48:48Real-world Use Cases
- 50:58Conclusion & Q&A
related talks
38mHow Kubernetes Plays Tetris with Your Containers
11mHow Jenga & Tetris Can Help Run More Containers with Lesser Costs...
59mKubernetes - going beyond the basics
01mKubernetes: What you need to know ... and why
01h 01mDeploying Kubernetes, a Container Cluster Manager
20mHow Scheduling in Kubernetes Works
01h 01mKubernetes – going beyond the basics
52mKubernetes - going beyond the basics
