Skip to content

Commit 911cc21

Browse files
committed
Blog with DRA updates in 1.34
1 parent 9e1a118 commit 911cc21

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
layout: blog
3+
title: "Kubernetes v1.34: DRA has graduated to GA"
4+
slug: dra-134-updates
5+
draft: true
6+
date: XXXX-XX-XX
7+
author: >
8+
The DRA team
9+
---
10+
11+
Kubernetes 1.34 is here, and it brings a huge wave of enhancements for Dynamic Resource Allocation (DRA)! This
12+
release marks a major milestone with the Structured Parameters feature graduating to General Availability (GA),
13+
unlocking the full potential of how you manage devices on Kubernetes. On top of that, several key features have
14+
moved to beta, and a fresh batch of new alpha features promise even more expresiveness and flexibility.
15+
16+
Let's dive into what's new for DRA in Kubernetes 1.34!
17+
18+
### Structured Parameters is Now GA
19+
The headline feature for DRA in this release is the graduation of Structured Parameters to General Availability.
20+
21+
Kubernetes Dynamic Resource Allocation (DRA) provides a flexible framework for managing specialized hardware
22+
resources such as GPUs and FPGAs. It provices a flexible API for letting workloads specify the properties of the
23+
devices it needs, but leaving it to the scheduler to allocate actual devices, allowing increased reliability and
24+
improved utilization of expensive hardware.
25+
26+
With the graduation to GA, DRA is stable and will be part of Kubernetes for the long run. The community can still
27+
expect a steady stream of new features being added to DRA over the next several Kubernetes releases, but they will
28+
not make any breaking changes to DRA. So users and developers of DRA drivers can start adopting DRA with confidence.
29+
30+
Starting with Kubernetes 1.34, DRA will be enabled by default, as will DRA features that have reached beta.
31+
32+
### Features promoted to beta
33+
Several powerful features have been promoted to beta, adding more control, flexibility, and observability to resource
34+
management with DRA.
35+
36+
[Admin Access](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#admin-access) has been updated so that
37+
only users with access to a namespace with the resource.k8s.io/admin-access: "true" label are authorized to create
38+
ResourceClaim or ResourceClaimTemplates objects with the adminAccess field within the namespace. This grants
39+
administrators access to in-use devices and may enable additional permissions when making the device available in a
40+
container. This ensures that non-admin users cannot misuse the feature.
41+
42+
[Prioritized List](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#prioritized-list) lets users specify
43+
a list of acceptable devices for their workloads, rather than just a single type of device. So while the workload
44+
might run best on a single high-performance GPU, it might also be able to run on 2 mid-level GPUs. The scheduler will
45+
attempt to satisfy the alternatives in the list in order, so the workload will be allocated the best set of devices
46+
available in the cluster.
47+
48+
The PodResources API has been updated to include resources allocated through DRA. This allows node monitoring agents
49+
to know the allocated DRA resources for Pods on a node and makes it possible to use the DRA information in the PodResources API
50+
to develop new features and integrations.
51+
52+
### New alpha features
53+
Kubernetes 1.34 also introduces several new alpha features that give us a glimpse into the future of resource management with DRA.
54+
55+
[Extended Resource](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#extended-resource) support in DRA allow
56+
cluster administrators to advertise DRA-managed resources as extended resources, allowing developers to consume them using
57+
the familiar, simpler request syntax while still benefiting from dynamic allocation. This makes it possible for existing
58+
workloads to start using DRA without modifications, simplifying the transition to DRA for both application developers and
59+
cluster administrators.
60+
61+
[Consumable Capacity](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#consumable-capacity) introduces a flexible
62+
device sharing model where multiple, independent resource claims from unrelated
63+
pods can each be allocated a share of the same underlying physical device. This new capability is managed through optional,
64+
administrator-defined sharing policies that govern how a device's total capacity is divided and enforced by the platform for
65+
each request. This allows for sharing of devices in scenarios where pre-defined partitions are not viable.
66+
67+
[Binding Conditions](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#binding-conditions) improves scheduling
68+
reliability for certain classes of devices by allowing the Kubernetes scheduler to delay binding a pod to a node until its
69+
required external resources, such as attachable devices or FPGAs, are confirmed to be fully prepared. This prevents premature
70+
pod assignments that could lead to failures and ensures more robust, predictable scheduling by explicitly modeling resource
71+
readiness before the pod is committed to a node.
72+
73+
Resource Health Status for DRA improves observability by exposing the health status of devices allocated to a Pod via Pod Status.
74+
This works whether the device is allocated through DRA or Device Plugin. This makes it easier to understand the cause of an
75+
unhealthy device and respond properly.
76+
77+
### What’s next?
78+
79+
While DRA got promoted to GA this cycle, the hard on DRA doesn't stop. There are several features in alpha and beta that
80+
we plan to bring to GA in the next couple of releases and we are looking to continue to improve performance, scalability
81+
and reliability of DRA. So expect an equally ambitious set of features in DRA for 1.35.
82+
83+
### Getting involved
84+
85+
A good starting point is joining the WG Device Management [Slack channel](https://kubernetes.slack.com/archives/C0409NGC1TK) and [meetings](https://docs.google.com/document/d/1qxI87VqGtgN7EAJlqVfxx86HGKEAc2A3SKru8nJHNkQ/edit?tab=t.0#heading=h.tgg8gganowxq), which happen at US/EU and EU/APAC friendly time slots.
86+
87+
Not all enhancement ideas are tracked as issues yet, so come talk to us if you want to help or have some ideas yourself! We have work to do at all levels, from difficult core changes to usability enhancements in kubectl, which could be picked up by newcomers.
88+
89+
### Acknowledgments
90+
91+
A huge thanks to the new contributors to DRA this cycle:
92+
* TODO

0 commit comments

Comments
 (0)