You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Migrate DRA integration from v1alpha2 to v1 API
Migrate Dynamic Resource Allocation (DRA) integration from the alpha
v1alpha2 API to the stable v1 API introduced in Kubernetes 1.34.
Major changes:
- Update RBAC permissions to access resource.k8s.io API resources
(resourceclaims, resourceslices) instead of using kubelet API
- Replace kubelet-based DRA resource discovery with direct API queries
using new draclient package
- Update documentation from ResourceClass to DeviceClass terminology
- Change resourceName annotation format to <claim-name>/<request-name>
- Update examples from NVIDIA-specific to generic SR-IOV usage
- Add comprehensive test coverage for DRA integration
- Remove CDI-based device handling in favor of k8s.cni.cncf.io/deviceID
attributes
Technical details:
- Add draclient.GetPodResourceMap() call in k8sclient
- Remove getDRAResources() from kubeletclient (now queries API directly)
- Update to use ResourceClaimTemplate instead of ResourceClaim
- Fix protobuf field naming (CDIDevices -> CdiDevices)
- Add 6 new test cases for DRA scenarios in k8sclient_test.go
This migration enables Multus to work with the stable DRA API and
removes dependency on kubelet's PodResources API for DRA resources.
Copy file name to clipboardExpand all lines: docs/how-to-use.md
+87-61Lines changed: 87 additions & 61 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -645,112 +645,132 @@ If you wish to have auto configuration use the `readinessindicatorfile` in the c
645
645
646
646
### Run pod with network annotation and Dynamic Resource Allocation driver
647
647
648
-
> :warning: Dynamic Resource Allocation (DRA) is [currently an alpha](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/),
649
-
> and is subject to change. Please consider this functionality as a preview. The architecture and usage of DRA in
650
-
> Multus CNI may change in the future as this technology matures.
651
-
>
652
-
> The current DRA integration is based on the DRA API for Kubernetes 1.26 to 1.30. With Kubernetes 1.31, the DRA API
653
-
> will change and multus doesn't integrate with the new API yet.
654
648
655
-
Dynamic Resource Allocation is alternative mechanism to device plugin which allows to requests pod and container
656
-
resources.
649
+
Dynamic Resource Allocation is an alternative mechanism to device plugin which allows pods to request pod and container
650
+
resources dynamically.
657
651
658
-
The following sections describe how to use DRA with multus and NVIDIA DRA driver. Other DRA networking driver vendors
659
-
should follow similar concepts to make use of multus DRA support.
652
+
The following sections describe how to use DRA with Multus. DRA networking driver vendors should follow similar
0 commit comments