Capacity Scheduling for Elastic Resource Sharing in Kubernetes
Talkat KubeCon + CloudNativeCon North America 2021 · on Wednesday, 2021-10-13· at 11:55· Room 502 AB + Online·
summary
Kubernetes gets an ElasticQuota CRD plus three scheduler plugins (pre-filter, reserve, post-filter) that enforce per-namespace minimum and maximum requests, support CPU/memory/disk/GPU, and implement custom preemption that minimizes evictions to reclaim borrowed resources. A job-queue component serializes batch jobs and annotates Pods for dequeueing. Demo on a 4-GPU cluster shows 2-4 GPU min/max enforcement with live evictions; code lives in the SIG-scheduling plugin repo and a separate job-queue project and runs in Alibaba Cloud production.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:46Background
- 2:28How does Kubernetes manage resources
- 7:16Resource Guarantee
- 10:27example
- 11:55extension
- 13:03nested structure
- 13:45job queue
- 15:23job queue architecture
- 16:51demo
- 25:31current status
- 27:37Collaboration
- 28:20Questions
related talks
28mMultitenancy and Fairness at Scale with Kueue: A Case Study
23mPractice of Fine-grained Cgroups Resources Scheduling in Kubernetes
40mLimits, Requests, QoS... Rethinking What You Thought You Knew About Scheduling in Kubernetes
45mLimits, Requests, QoS, PriorityClasses: Demystifying Scheduling in K8s!
10mFair Scheduling for Deep Learning Workloads in Kubernetes
28mGPU Reservations: Maximizing Utilization and Fairness Across Teams
07mHow to Handle Fair Scheduling in a Private Academic K8s infrastructure
31mGPU Hunter: Architecting Global GPU Availability With MultiKueue
