@@ -11,6 +11,10 @@ weight: 65
11
11
12
12
{{< feature-state feature_gate_name="DynamicResourceAllocation" >}}
13
13
14
+ Dynamic Resource Allocation with ResourceClaim device status:
15
+
16
+ {{< feature-state feature_gate_name="DRAResourceClaimDeviceStatus" >}}
17
+
14
18
Dynamic resource allocation is an API for requesting and sharing resources
15
19
between pods and containers inside a pod. It is a generalization of the
16
20
persistent volumes API for generic resources. Typically those resources
@@ -47,7 +51,11 @@ ResourceClaim
47
51
for use by workloads. For example, if a workload needs an accelerator device
48
52
with specific properties, this is how that request is expressed. The status
49
53
stanza tracks whether this claim has been satisfied and what specific
50
- resources have been allocated.
54
+ resources have been allocated. When the ` DRAResourceClaimDeviceStatus `
55
+ [ feature gate] ( /docs/reference/command-line-tools-reference/feature-gates/ ) is
56
+ enabled, drivers can report driver-specific device status data for each allocated
57
+ device in a resource claim. For example, IPs assigned to a network interface device
58
+ can be reported in the ResourceClaim status.
51
59
52
60
ResourceClaimTemplate
53
61
: Defines the spec and some metadata for creating
@@ -209,6 +217,10 @@ are enabled. For details on that, see the `--feature-gates` and `--runtime-confi
209
217
[kube-apiserver parameters](/docs/reference/command-line-tools-reference/kube-apiserver/).
210
218
kube-scheduler, kube-controller-manager and kubelet also need the feature gate.
211
219
220
+ When a resource driver reports the status of the devices, then the
221
+ ` DRAResourceClaimDeviceStatus` feature gate has to be enabled in addition to
222
+ ` DynamicResourceAllocation` .
223
+
212
224
A quick check whether a Kubernetes cluster supports the feature is to list
213
225
DeviceClass objects with :
214
226
@@ -229,6 +241,11 @@ If not supported, this error is printed instead:
229
241
error: the server doesn't have a resource type "deviceclasses"
230
242
` ` `
231
243
244
+ A ResourceClaim device status is supported when it is possible, from a DRA driver,
245
+ to update an existing ResourceClaim where the `status.devices` field is set. When the
246
+ ` DRAResourceClaimDeviceStatus` feature is disabled, that field automatically
247
+ gets cleared when storing the ResourceClaim.
248
+
232
249
The default configuration of kube-scheduler enables the "DynamicResources"
233
250
plugin if and only if the feature gate is enabled and when using
234
251
the v1 configuration API. Custom configurations may have to be modified to
0 commit comments