-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Blog with DRA updates in 1.34 #51488
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
911cc21
Blog with DRA updates in 1.34
mortent e33055e
Addressed comments
mortent b70d018
Addressed more comments and added list of contributors
mortent f3c6c8b
Added space between title and paragraph
mortent 8c21e84
Addressed more comments
mortent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| --- | ||
| layout: blog | ||
| title: "Kubernetes v1.34: DRA has graduated to GA" | ||
| slug: dra-134-updates | ||
| draft: true | ||
| date: XXXX-XX-XX | ||
| author: > | ||
| The DRA team | ||
| --- | ||
|
|
||
| Kubernetes 1.34 is here, and it brings a huge wave of enhancements for Dynamic Resource Allocation (DRA)! This | ||
| release marks a major milestone with the Structured Parameters feature graduating to General Availability (GA), | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| unlocking the full potential of how you manage devices on Kubernetes. On top of that, several key features have | ||
| moved to beta, and a fresh batch of new alpha features promise even more expresiveness and flexibility. | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Let's dive into what's new for DRA in Kubernetes 1.34! | ||
|
|
||
| ### Structured Parameters is Now GA | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| The headline feature for DRA in this release is the graduation of Structured Parameters to General Availability. | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Kubernetes Dynamic Resource Allocation (DRA) provides a flexible framework for managing specialized hardware | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| resources such as GPUs and FPGAs. It provices a flexible API for letting workloads specify the properties of the | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| devices it needs, but leaving it to the scheduler to allocate actual devices, allowing increased reliability and | ||
| improved utilization of expensive hardware. | ||
|
|
||
| With the graduation to GA, DRA is stable and will be part of Kubernetes for the long run. The community can still | ||
| expect a steady stream of new features being added to DRA over the next several Kubernetes releases, but they will | ||
| not make any breaking changes to DRA. So users and developers of DRA drivers can start adopting DRA with confidence. | ||
|
|
||
| Starting with Kubernetes 1.34, DRA will be enabled by default, as will DRA features that have reached beta. | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Features promoted to beta | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Several powerful features have been promoted to beta, adding more control, flexibility, and observability to resource | ||
mortent marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| management with DRA. | ||
|
|
||
| [Admin Access](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#admin-access) has been updated so that | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| only users with access to a namespace with the resource.k8s.io/admin-access: "true" label are authorized to create | ||
| ResourceClaim or ResourceClaimTemplates objects with the adminAccess field within the namespace. This grants | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| administrators access to in-use devices and may enable additional permissions when making the device available in a | ||
| container. This ensures that non-admin users cannot misuse the feature. | ||
|
|
||
| [Prioritized List](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#prioritized-list) lets users specify | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| a list of acceptable devices for their workloads, rather than just a single type of device. So while the workload | ||
| might run best on a single high-performance GPU, it might also be able to run on 2 mid-level GPUs. The scheduler will | ||
| attempt to satisfy the alternatives in the list in order, so the workload will be allocated the best set of devices | ||
| available in the cluster. | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The PodResources API has been updated to include resources allocated through DRA. This allows node monitoring agents | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| to know the allocated DRA resources for Pods on a node and makes it possible to use the DRA information in the PodResources API | ||
| to develop new features and integrations. | ||
|
|
||
| ### New alpha features | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Kubernetes 1.34 also introduces several new alpha features that give us a glimpse into the future of resource management with DRA. | ||
|
|
||
| [Extended Resource](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#extended-resource) support in DRA allow | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| cluster administrators to advertise DRA-managed resources as extended resources, allowing developers to consume them using | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| the familiar, simpler request syntax while still benefiting from dynamic allocation. This makes it possible for existing | ||
| workloads to start using DRA without modifications, simplifying the transition to DRA for both application developers and | ||
| cluster administrators. | ||
|
|
||
| [Consumable Capacity](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#consumable-capacity) introduces a flexible | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| device sharing model where multiple, independent resource claims from unrelated | ||
| pods can each be allocated a share of the same underlying physical device. This new capability is managed through optional, | ||
| administrator-defined sharing policies that govern how a device's total capacity is divided and enforced by the platform for | ||
| each request. This allows for sharing of devices in scenarios where pre-defined partitions are not viable. | ||
|
|
||
| [Binding Conditions](/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#binding-conditions) improves scheduling | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| reliability for certain classes of devices by allowing the Kubernetes scheduler to delay binding a pod to a node until its | ||
| required external resources, such as attachable devices or FPGAs, are confirmed to be fully prepared. This prevents premature | ||
| pod assignments that could lead to failures and ensures more robust, predictable scheduling by explicitly modeling resource | ||
| readiness before the pod is committed to a node. | ||
|
|
||
| Resource Health Status for DRA improves observability by exposing the health status of devices allocated to a Pod via Pod Status. | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| This works whether the device is allocated through DRA or Device Plugin. This makes it easier to understand the cause of an | ||
| unhealthy device and respond properly. | ||
lmktfy marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### What’s next? | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| While DRA got promoted to GA this cycle, the hard on DRA doesn't stop. There are several features in alpha and beta that | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| we plan to bring to GA in the next couple of releases and we are looking to continue to improve performance, scalability | ||
| and reliability of DRA. So expect an equally ambitious set of features in DRA for 1.35. | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Getting involved | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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. | ||
|
|
||
| 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. | ||
|
|
||
| ### Acknowledgments | ||
mortent marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| A huge thanks to the new contributors to DRA this cycle: | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🤗 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Some listed here have been contributing to previous releases, but wasn't included in the list in the 1.33 blog post. |
||
| * TODO | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.