Skip to Main Content
Talk Intermediate MIT License First Talk

Your Scheduler Can Finally See Your GPUs: The Story of Kubernetes DRA

Proposal status is Review Pending
Session Description

The problem: Ask Kubernetes for nvidia.com/gpu: 1 and the scheduler sees only a number. Which GPU does the pod get? How much memory does it have? Can another pod share it? The scheduler can’t answer any of these

GPU basics in one slide A GPU is not like CPU or RAM. It is a discrete card with its own memory that you mostly hand out whole, which is why a simple count stopped working.

The story in three step: Device plugins gave us a count. The first DRA design was withdrawn because the scheduler and cluster autoscaler couldn’t see inside it. The redesign with structured parameters is what reached GA.

Live demo, no GPU needed: A kind or k3d cluster with the Kubernetes SIGs example driver and simulated GPUs. We request a GPU by memory using a CEL expression, see one pod run, and see another stay Pending with a clear scheduler message.

For who? Students curious about how GPUs fit into cloud infrastructure, and engineers planning AI workloads on Kubernetes. You need to know what a pod and a YAML file are, and nothing about GPUs.

Key Takeaways
  1. A GPU is a discrete device with attributes, not a number; that is why Kubernetes needed a new API.

  2. DRA lets pods request devices by attributes and lets the scheduler see them.

  3. You can try it today on a laptop with simulated GPUs.

References

Session Categories

Other
cloud native
infrastructure
kubernetes
Technology architecture
Talk License: MIT License
Speakers are hidden and anonymized for this event.