Integer Programming to Optimize Costs in Kubernetes
summary
An integer programming model minimizes pod-to-node assignment cost in Kubernetes and is implemented as a Java + Gurobi scheduler plugin prototype. The model encodes node affinity, capacity limits, and error penalties and is solved by Branch-and-Bound (gap 0.03). Experiments with 5,000–10,000 pods on up to 200 nodes achieve roughly an order-of-magnitude cost reduction compared with the default kube-scheduler while keeping a similar number of active nodes but increasing scheduling latency.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 3:10Research context
- 6:22Pod assignment problem
- 9:51Integer programming model
- 13:11Kubernetes architecture
- 16:24Integer programming basics
- 19:35Algorithm and constraints
- 22:08Implementation and experiments
- 25:02Results vs standard scheduler
- 28:41Conclusion
- 30:08Q&A
related talks
15mDemo: Resource(Cost) optimization on planet scale Kubernetes clusters.
11mHow Jenga & Tetris Can Help Run More Containers with Lesser Costs...
11mCost and Resource Optimization In Kubernetes
29mRight-Size Your Kubernetes Deployments
47mOptimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latency
23mPractice of Fine-grained Cgroups Resources Scheduling in Kubernetes
44mFinOps at scale: Lessons from scaling Kubernetes workloads
34mKubernetes: Reducing Infrastructure cost and complexity
