Cloud & platform · AI

GPUs on Kubernetes: what Dynamic Resource Allocation changes for AI platforms

For years Kubernetes treated a GPU as a number. Dynamic Resource Allocation treats it as a device with properties, partitions and health. For anyone running AI workloads, that changes how you share expensive hardware.

ExplainerSumanta Mukhopadhyay7 min read4 sources
#kubernetes#ai#platform#finops
EXPLAINER · CLOUD & PLATFORM · AI19 Oct 2026 · 20:15 GST

GPUs are usually the most expensive line on an AI platform's bill, and for a long time Kubernetes managed them crudely. A pod asked for one GPU, got a whole one, and nobody could easily say "an H100 if you have one, otherwise an A100" or "a slice of a GPU is enough". Dynamic Resource Allocation, or DRA, fixes that, and the last two Kubernetes releases moved it from interesting to usable.

From counters to devices

The old model exposed accelerators as extended resources: a count per node. DRA replaces that with ResourceClaims. Drivers publish devices with attributes, and workloads request devices that match criteria. The Kubernetes project describes DRA as fundamentally changing how administrators handle accelerators and specialised resources1.

The features that matter for AI platforms

FeatureStatusWhy it matters
Prioritised listStable in v1.36Request a preferred GPU with fallbacks, so jobs run on what is available instead of queueing1
Partitionable devicesBeta in v1.36Carve one physical accelerator into smaller logical instances, such as multi-instance GPUs, and share it safely1
Device taints and tolerationsStable in v1.37Keep faulty devices out of use, or reserve hardware for specific teams12
Extended resource supportStable in v1.37Existing workloads keep working while the cluster moves to DRA2
ResourceClaims for workloadsBeta in v1.37, off by defaultOne claim shared across a whole group of pods, useful for distributed training2

Version 1.37 also brings a standard NUMA node attribute and, in alpha, derived attributes using CEL expressions, which help pair devices from different vendors, such as a GPU and a network card on the same NUMA node2.

What this means for cost

Three of these features translate directly into money:

  • Fallbacks raise utilisation. Jobs that can run on an older GPU don't sit idle waiting for the newest one.
  • Partitioning stops over-allocation. An inference service that needs a fraction of a GPU no longer reserves a whole device.
  • Taints make reservation explicit. Expensive hardware set aside for training or experiments is visible and enforced, not tribal knowledge.

Combined with HPA scale-to-zero for queue-driven GPU workers, which also arrived in v1.373, this is the toolkit I'd use to bring a GPU bill under control. The broader approach is in my Kubernetes FinOps playbook.

Measure before and after. GPU utilisation per team and cost per thousand inference requests are the two numbers that show whether the change worked.

A gradual adoption path

  1. Upgrade and install a DRA driver for your accelerators, and confirm which features your driver supports.
  2. Turn on extended resource support so existing pod specs keep working unchanged2.
  3. Move one workload class to ResourceClaims, ideally batch inference, and add a prioritised list of acceptable devices.
  4. Introduce partitioning for small inference services, with load tests to confirm latency holds.
  5. Taint reserved and suspect hardware, and give the owning teams tolerations.
  6. Treat beta and alpha features with care. Some are off by default, and their behaviour can change between releases.

Where this fits in an AI platform

DRA is the scheduling layer. Above it you still need an AI gateway for routing and governance, evaluation to decide which model size is good enough, and observability to see cost per request. In practice the biggest savings often come from realising a smaller model on a partitioned GPU does the job, which is a question for your evaluation set, not your scheduler. I've been exploring the same trade-offs on local hardware, as described in my notes on private LLMs.

How I can help

I design AI platforms on Kubernetes, from GPU scheduling and cost controls to gateways and evaluation. See my AI architecture work, or analyse your challenge and bring the result to a call.

References
  1. 1
  2. 2
    Kubernetes v1.37: DRA UpdatesKubernetes blog · 3 Sep 2026
  3. 3
  4. 4
    Kubernetes v1.37 releaseKubernetes blog · 26 Aug 2026
FAQ

Common questions

What is Dynamic Resource Allocation in Kubernetes?

DRA is a Kubernetes API for requesting and allocating specialised devices such as GPUs through ResourceClaims, with richer selection than the older extended-resource counters. Drivers describe devices and their attributes, and the scheduler allocates devices that match each claim.

Can I adopt DRA without rewriting existing workloads?

Yes. DRA extended resource support, which graduated to stable in Kubernetes v1.37, lets DRA drivers satisfy requests made through the traditional extended resource API, so operators can move clusters to DRA while application teams migrate gradually.

How does DRA help reduce GPU cost?

Prioritised lists let workloads fall back to other device types instead of waiting, partitionable devices let several pods share one physical accelerator, and device taints keep faulty or reserved devices out of general use.

Keep reading

Related

Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. US & UAE time zones.