@@ -39,7 +39,7 @@ v{{< skew currentVersion>}}, check the documentation for that version of Kuberne
39
39
40
40
## API
41
41
42
- The ` resource.k8s.io/v1alpha3 `
42
+ The ` resource.k8s.io/v1beta1 `
43
43
{{< glossary_tooltip text="API group" term_id="api-group" >}} provides these types:
44
44
45
45
ResourceClaim
@@ -85,15 +85,15 @@ Here is an example for a fictional resource driver. Two ResourceClaim objects
85
85
will get created for this Pod and each container gets access to one of them.
86
86
87
87
``` yaml
88
- apiVersion : resource.k8s.io/v1alpha3
88
+ apiVersion : resource.k8s.io/v1beta1
89
89
kind : DeviceClass
90
90
name : resource.example.com
91
91
spec :
92
92
selectors :
93
93
- cel :
94
94
expression : device.driver == "resource-driver.example.com"
95
95
---
96
- apiVersion : resource.k8s.io/v1alpha2
96
+ apiVersion : resource.k8s.io/v1beta1
97
97
kind : ResourceClaimTemplate
98
98
metadata :
99
99
name : large-black-cat-claim-template
@@ -200,6 +200,37 @@ spec:
200
200
You may also be able to mutate the incoming Pod, at admission time, to unset
201
201
the `.spec.nodeName` field and to use a node selector instead.
202
202
203
+ # # Admin access
204
+
205
+ {{< feature-state feature_gate_name="DRAAdminAccess" >}}
206
+
207
+ A ResourceClaim with admin access grants access to devices which are in use and
208
+ may enable additional permissions when making the device available in a
209
+ container :
210
+
211
+ ` ` ` yaml
212
+ apiVersion: resource.k8s.io/v1beta1
213
+ kind: ResourceClaimTemplate
214
+ metadata:
215
+ name: large-black-cat-claim-template
216
+ spec:
217
+ spec:
218
+ devices:
219
+ requests:
220
+ - name: req-0
221
+ deviceClassName: resource.example.com
222
+ adminAccess: true
223
+ ` ` `
224
+
225
+ If this feature is disabled, the `adminAccess` field will be removed
226
+ automatically when creating such a ResourceClaim.
227
+
228
+ Admin access is a privileged mode which should not be made available to normal
229
+ users in a multi-tenant cluster. Cluster administrators can restrict usage of
230
+ this features by installing a validating admission policy similar to
231
+ [the in-tree example](https://github.com/kubernetes/kubernetes/blob/33ea278/test/e2e/dra/test-driver/deploy/example/admin-access-policy.yaml)
232
+ when enabling this feature.
233
+
203
234
# # ResourceClaim Device Status
204
235
205
236
{{< feature-state feature_gate_name="DRAResourceClaimDeviceStatus" >}}
@@ -219,9 +250,9 @@ existing ResourceClaim where the `status.devices` field is set.
219
250
220
251
# # Enabling dynamic resource allocation
221
252
222
- Dynamic resource allocation is an *alpha feature* and only enabled when the
253
+ Dynamic resource allocation is a *beta feature* which is off by default and only enabled when the
223
254
` DynamicResourceAllocation` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
224
- and the `resource.k8s.io/v1alpha3 ` {{< glossary_tooltip text="API group" term_id="api-group" >}}
255
+ and the `resource.k8s.io/v1beta1 ` {{< glossary_tooltip text="API group" term_id="api-group" >}}
225
256
are enabled. For details on that, see the `--feature-gates` and `--runtime-config`
226
257
[kube-apiserver parameters](/docs/reference/command-line-tools-reference/kube-apiserver/).
227
258
kube-scheduler, kube-controller-manager and kubelet also need the feature gate.
@@ -258,6 +289,12 @@ include it.
258
289
In addition to enabling the feature in the cluster, a resource driver also has to
259
290
be installed. Please refer to the driver's documentation for details.
260
291
292
+ # ## Enabling admin access
293
+
294
+ Admin access is an *alpha feature* and only enabled when the
295
+ ` DRAAdminAccess` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
296
+ is enabled in the kube-apiserver and kube-scheduler.
297
+
261
298
# ## Enabling Device Status
262
299
263
300
[ResourceClaim Device Status](#resourceclaim-device-status) is an *alpha feature*
0 commit comments