@@ -424,6 +424,39 @@ create ResourceClaim or ResourceClaimTemplate objects in namespaces labeled with
424
424
` adminAccess` field. This ensures that non-admin users cannot misuse the
425
425
feature.
426
426
427
+ # ## Extended resource {#extended-resource}
428
+
429
+ {{< feature-state feature_gate_name="DRAExtendedResource" >}}
430
+
431
+ You can provide an extended resource name for a DeviceClass. The scheduler will then
432
+ select the devices matching the class for the extended resource requests. This allows
433
+ users to continue using extended resource requests in a pod to request either
434
+ extended resources provided by device plugin, or DRA devices. The same extended
435
+ resource can be provided either by device plugin, or DRA on one single cluster node.
436
+ The same extended resource can be provided by device plugin on some nodes, and
437
+ DRA on other nodes in the same cluster.
438
+
439
+ In the example below, the DeviceClass is given an extendedResourceName `example.com/gpu`.
440
+ If a pod requested for the extended resource `example.com/gpu : 2`, it can be scheduled to
441
+ a node with two or more devices matching the DeviceClass.
442
+
443
+ ` ` ` yaml
444
+ apiVersion: resource.k8s.io/v1beta2
445
+ kind: DeviceClass
446
+ metadata:
447
+ name: gpu.example.com
448
+ spec:
449
+ selectors:
450
+ - cel:
451
+ expression: device.driver == 'gpu.example.com' && device.attributes['gpu.example.com'].type
452
+ == 'gpu'
453
+ extendedResourceName: example.com/gpu
454
+ ` ` `
455
+
456
+ Extended resource is an *alpha feature* and only enabled when the
457
+ ` DRAExtendedResource` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
458
+ is enabled in the kube-apiserver, kube-scheduler, and kubelet.
459
+
427
460
# ## Prioritized list {#prioritized-list}
428
461
429
462
{{< feature-state feature_gate_name="DRAPrioritizedList" >}}
0 commit comments