Kubernetes Device Management Working Group Graduates Dynamic Resource Allocation to GA

Introduction

Kubernetes is increasingly the platform of choice for AI/ML, edge, and telecom workloads that depend on specialized hardware such as GPUs, TPUs, FPGAs and high‑performance network interfaces. The legacy Device Plugin API, which treats devices as opaque integers, cannot express the nuanced requirements of these workloads. To address this gap, the Kubernetes Device Management Working Group (WG) has delivered Dynamic Resource Allocation (DRA), which graduated to General Availability (GA) in Kubernetes 1.34.

What the Device Management Working Group Does

The WG brings together engineers from SIG‑Node, SIG‑Scheduling, SIG‑Autoscaling, SIG‑Network and SIG‑Architecture. Its charter is to create a unified, extensible model for configuring, sharing and allocating accelerators across clusters. As co‑chair Kevin Klues (NVIDIA) explains, the group “provides a single forum where the scheduler, kubelet and autoscaler can design together rather than in isolation.”

Why the Legacy Device Model Fell Short

The older Device Plugin API only allowed users to request a count of devices (e.g., “2 GPUs”). It could not convey:

  • Specific device capabilities (memory size, interconnect topology)
  • Partitioning or sharing semantics (MIG, SR‑IOV, consumable capacity)
  • Dynamic allocation after a pod has started

These limitations made it difficult to run modern AI/ML pipelines that need precise hardware characteristics and often require gang scheduling across multiple pods.

Dynamic Resource Allocation (DRA) Overview

DRA replaces the opaque integer model with a structured, four‑stage workflow:

  1. Modeling: Vendors publish fine‑grained device capabilities via the ResourceSlice API.
  2. Requesting: Users express hardware needs through the ResourceClaim API (e.g., “GPU with ≥20 GB memory” or “NIC with 2 Gbps bandwidth”).
  3. Scheduling: The scheduler matches claims to slices, taking topology, partitioning and sharing rules into account.
  4. Actuation: The kubelet and device driver perform a “handshake” to configure the device for the pod.

This design enables both explicit sharing (multiple containers point to the same ResourceClaim) and platform‑mediated sharing (consumable capacity), allowing workloads to run on partially allocated devices.

GA Release and Immediate Impact

DRA became GA in Kubernetes 1.34 (June 2026). The graduation means the APIs are stable, supported by the core codebase, and ready for production use. Early adopters, including NVIDIA’s GPU driver (vendor claim), have already open‑sourced their DRA implementations, providing reference drivers for the community.

Current Focus and Future Work

With the core framework stable, the WG is pursuing three main thrusts:

  • Extending expressiveness to cover more complex devices and multi‑node topologies.
  • Day‑two operations such as health monitoring and automated remediation.
  • Improving scheduling optimality, which remains an NP‑hard problem given the richer set of constraints.

Upcoming KEPs (e.g., “DRA: Structured Parameters”, “DRA: Device Taints and Tolerations”) are slated for Kubernetes 1.36‑1.37.

How to Get Involved

Contributors can join the mailing list wg-device-management@kubernetes.io, attend bi‑weekly meetings, or participate in the #wg-device-management Slack channel. The open‑source NVIDIA DRA driver is a recommended first‑hand project for newcomers.

Conclusion

Dynamic Resource Allocation marks a fundamental shift toward hardware‑aware orchestration in Kubernetes. By providing a declarative, programmable interface for accelerators, the Device Management Working Group is laying the groundwork for scalable AI/ML, edge and telecom workloads on the platform.