What Can I Get You? An Introduction to Dynamic Resource Allocation
summary
Dynamic Resource Allocation (DRA) is a new Kubernetes API (alpha in 1.26) that replaces numeric device counts with vendor-defined resource class and per-allocation resource claim template objects, enabling per-claim parameters, sharing by name, and omission of artificial limits. Two allocation modes exist: immediate vs delayed allocation (wait-for-first-consumer with pod scheduling context). A reference NVIDIA GPU DRA driver and an example driver are available; drivers need a central controller, node plugin, and container runtime support for CDI device spec generation to expose devices at pod creation.
AI-written summary · about
chapters (24)
- 0:00Dynamic resource allocation intro
- 1:04Kubernetes workload resources
- 2:29Node capacity basics
- 3:11Pod CPU/memory/storage
- 4:36Volume plugins to CSI
- 6:20Persistent volume claims
- 7:06Device plugins role
- 8:50Device plugin problems
- 10:16What is DRA
- 12:03Configuring DRA workloads
- 13:30Resource classes and drivers
- 14:37Resource claims explained
- 15:22Sharing resources containers
- 16:48DRA flow overview
- 17:09DRA driver anatomy
- 18:34Immediate allocation mode
- 19:16Immediate allocation flow
- 21:00Delay allocation mode
- 22:45Build your DRA driver
- 24:52DRA dev tools
- 25:33DRA driver interface
- 27:17Node prep and cleanup
- 28:21CDI explained
- 29:12Resources and reading
related talks
50mDynamic Resource Allocation - the path towards GA
42mGuide Us on Next Steps in Kubernetes Device Manage...
27mUncharted Waters: Dynamic Resource Allocation for Networking
24mFit-to-Serve: How a New DRA Capability for Dynamic Device...
34mKubernetes DRA Architecture: Scheduling, Status, and Topology at Scale
32mLeveraging DRA for Conquering ML Workload Challenges on...
30mKubernetes WG Device Management - GPUs, TPUs, NICs and More With DRA
26mResource as You Wish: Collaborative Reservation and Allocation b...
