@@ -103,7 +103,8 @@ CertificateApproval, CertificateSigning, CertificateSubjectRestriction, DefaultI
103
103
104
104
{{< feature-state for_k8s_version="v1.13" state="deprecated" >}}
105
105
106
- This admission controller allows all pods into the cluster. It is deprecated because its behavior is the same as if there were no admission controller at all.
106
+ This admission controller allows all pods into the cluster. It is deprecated because
107
+ its behavior is the same as if there were no admission controller at all.
107
108
108
109
### AlwaysDeny {#alwaysdeny}
109
110
@@ -185,33 +186,6 @@ have toleration for taints `node.kubernetes.io/not-ready:NoExecute` or
185
186
` node.kubernetes.io/unreachable:NoExecute ` .
186
187
The default value for ` default-not-ready-toleration-seconds ` and ` default-unreachable-toleration-seconds ` is 5 minutes.
187
188
188
- ### DenyEscalatingExec {#denyescalatingexec}
189
-
190
- {{< feature-state for_k8s_version="v1.13" state="deprecated" >}}
191
-
192
- This admission controller will deny exec and attach commands to pods that run with escalated privileges that
193
- allow host access. This includes pods that run as privileged, have access to the host IPC namespace, and
194
- have access to the host PID namespace.
195
-
196
- The DenyEscalatingExec admission plugin is deprecated.
197
-
198
- Use of a policy-based admission plugin (like [ PodSecurityPolicy] ( #podsecuritypolicy ) or a custom admission plugin)
199
- which can be targeted at specific users or Namespaces and also protects against creation of overly privileged Pods
200
- is recommended instead.
201
-
202
- ### DenyExecOnPrivileged {#denyexeconprivileged}
203
-
204
- {{< feature-state for_k8s_version="v1.13" state="deprecated" >}}
205
-
206
- This admission controller will intercept all requests to exec a command in a pod if that pod has a privileged container.
207
-
208
- This functionality has been merged into [ DenyEscalatingExec] ( #denyescalatingexec ) .
209
- The DenyExecOnPrivileged admission plugin is deprecated.
210
-
211
- Use of a policy-based admission plugin (like [ PodSecurityPolicy] ( #podsecuritypolicy ) or a custom admission plugin)
212
- which can be targeted at specific users or Namespaces and also protects against creation of overly privileged Pods
213
- is recommended instead.
214
-
215
189
### DenyServiceExternalIPs
216
190
217
191
This admission controller rejects all net-new usage of the ` Service ` field ` externalIPs ` . This
@@ -225,6 +199,8 @@ Most users do not need this feature at all, and cluster admins should consider d
225
199
Clusters that do need to use this feature should consider using some custom policy to manage usage
226
200
of it.
227
201
202
+ This admission controller is disabled by default.
203
+
228
204
### EventRateLimit {#eventratelimit}
229
205
230
206
{{< feature-state for_k8s_version="v1.13" state="alpha" >}}
@@ -240,8 +216,8 @@ event requests. The cluster admin can specify event rate limits by:
240
216
apiVersion : apiserver.config.k8s.io/v1
241
217
kind : AdmissionConfiguration
242
218
plugins :
243
- - name : EventRateLimit
244
- path : eventconfig.yaml
219
+ - name : EventRateLimit
220
+ path : eventconfig.yaml
245
221
...
246
222
```
247
223
@@ -259,18 +235,20 @@ Below is a sample `eventconfig.yaml` for such a configuration:
259
235
apiVersion : eventratelimit.admission.k8s.io/v1alpha1
260
236
kind : Configuration
261
237
limits :
262
- - type : Namespace
263
- qps : 50
264
- burst : 100
265
- cacheSize : 2000
266
- - type : User
267
- qps : 10
268
- burst : 50
238
+ - type : Namespace
239
+ qps : 50
240
+ burst : 100
241
+ cacheSize : 2000
242
+ - type : User
243
+ qps : 10
244
+ burst : 50
269
245
` ` `
270
246
271
247
See the [EventRateLimit Config API (v1alpha1)](/docs/reference/config-api/apiserver-eventratelimit.v1alpha1/)
272
248
for more details.
273
249
250
+ This admission controller is disabled by default.
251
+
274
252
### ExtendedResourceToleration {#extendedresourcetoleration}
275
253
276
254
This plug-in facilitates creation of dedicated nodes with extended resources.
@@ -280,10 +258,14 @@ name as the key. This admission controller, if enabled, automatically
280
258
adds tolerations for such taints to pods requesting extended resources, so users don't have to manually
281
259
add these tolerations.
282
260
261
+ This admission controller is diabled by default.
262
+
283
263
### ImagePolicyWebhook {#imagepolicywebhook}
284
264
285
265
The ImagePolicyWebhook admission controller allows a backend webhook to make admission decisions.
286
266
267
+ This admission controller is disabled by default.
268
+
287
269
#### Configuration File Format
288
270
289
271
ImagePolicyWebhook uses a configuration file to set options for the behavior of the backend.
@@ -308,8 +290,8 @@ Reference the ImagePolicyWebhook configuration file from the file provided to th
308
290
apiVersion: apiserver.config.k8s.io/v1
309
291
kind: AdmissionConfiguration
310
292
plugins:
311
- - name: ImagePolicyWebhook
312
- path: imagepolicyconfig.yaml
293
+ - name: ImagePolicyWebhook
294
+ path: imagepolicyconfig.yaml
313
295
...
314
296
` ` `
315
297
@@ -319,14 +301,14 @@ Alternatively, you can embed the configuration directly in the file:
319
301
apiVersion: apiserver.config.k8s.io/v1
320
302
kind: AdmissionConfiguration
321
303
plugins:
322
- - name: ImagePolicyWebhook
323
- configuration:
324
- imagePolicy:
325
- kubeConfigFile: <path-to-kubeconfig-file>
326
- allowTTL: 50
327
- denyTTL: 50
328
- retryBackoff: 500
329
- defaultAllow: true
304
+ - name: ImagePolicyWebhook
305
+ configuration:
306
+ imagePolicy:
307
+ kubeConfigFile: <path-to-kubeconfig-file>
308
+ allowTTL: 50
309
+ denyTTL: 50
310
+ retryBackoff: 500
311
+ defaultAllow: true
330
312
` ` `
331
313
332
314
The ImagePolicyWebhook config file must reference a
@@ -340,17 +322,17 @@ must contain the returned authorizer.
340
322
` ` ` yaml
341
323
# clusters refers to the remote service.
342
324
clusters:
343
- - name: name-of-remote-imagepolicy-service
344
- cluster:
345
- certificate-authority: /path/to/ca.pem # CA for verifying the remote service.
346
- server: https://images.example.com/policy # URL of remote service to query. Must use 'https'.
325
+ - name: name-of-remote-imagepolicy-service
326
+ cluster:
327
+ certificate-authority: /path/to/ca.pem # CA for verifying the remote service.
328
+ server: https://images.example.com/policy # URL of remote service to query. Must use 'https'.
347
329
348
330
# users refers to the API server's webhook configuration.
349
331
users:
350
- - name: name-of-api-server
351
- user:
352
- client-certificate: /path/to/cert.pem # cert for the webhook admission controller to use
353
- client-key: /path/to/key.pem # key matching the cert
332
+ - name: name-of-api-server
333
+ user:
334
+ client-certificate: /path/to/cert.pem # cert for the webhook admission controller to use
335
+ client-key: /path/to/key.pem # key matching the cert
354
336
` ` `
355
337
356
338
For additional HTTP configuration, refer to the
@@ -445,6 +427,8 @@ In any case, the annotations are provided by the user and are not validated by K
445
427
This admission controller denies any pod that defines `AntiAffinity` topology key other than
446
428
` kubernetes.io/hostname` in `requiredDuringSchedulingRequiredDuringExecution`.
447
429
430
+ This admission controller is disabled by default.
431
+
448
432
# ## LimitRanger {#limitranger}
449
433
450
434
This admission controller will observe the incoming request and ensure that it does not violate
@@ -591,7 +575,8 @@ If the admission controller doesn't support automatic labelling your PersistentV
591
575
may need to add the labels manually to prevent pods from mounting volumes from
592
576
a different zone. PersistentVolumeLabel is DEPRECATED and labeling persistent volumes has been taken over by
593
577
the {{< glossary_tooltip text="cloud-controller-manager" term_id="cloud-controller-manager" >}}.
594
- Starting from 1.11, this admission controller is disabled by default.
578
+
579
+ This admission controller is disabled by default.
595
580
596
581
# ## PodNodeSelector {#podnodeselector}
597
582
@@ -600,6 +585,8 @@ Starting from 1.11, this admission controller is disabled by default.
600
585
This admission controller defaults and limits what node selectors may be used within a namespace
601
586
by reading a namespace annotation and a global configuration.
602
587
588
+ This admission controller is disabled by default.
589
+
603
590
# ### Configuration file format
604
591
605
592
` PodNodeSelector` uses a configuration file to set options for the behavior of the backend.
@@ -709,6 +696,8 @@ metadata:
709
696
scheduler.alpha.kubernetes.io/tolerationsWhitelist: '[{"operator": "Exists", "effect": "NoSchedule", "key": "dedicated-node"}]'
710
697
` ` `
711
698
699
+ This admission controller is disabled by default.
700
+
712
701
# ## Priority {#priority}
713
702
714
703
The priority admission controller uses the `priorityClassName` field and populates the integer
@@ -727,8 +716,6 @@ and the [example of Resource Quota](/docs/concepts/policy/resource-quotas/) for
727
716
728
717
# ## RuntimeClass {#runtimeclass}
729
718
730
- {{< feature-state for_k8s_version="v1.20" state="stable" >}}
731
-
732
719
If you define a RuntimeClass with [Pod overhead](/docs/concepts/scheduling-eviction/pod-overhead/)
733
720
configured, this admission controller checks incoming Pods.
734
721
When enabled, this admission controller rejects any Pod create requests
@@ -773,8 +760,6 @@ for more detailed information.
773
760
774
761
# ## TaintNodesByCondition {#taintnodesbycondition}
775
762
776
- {{< feature-state for_k8s_version="v1.17" state="stable" >}}
777
-
778
763
This admission controller {{< glossary_tooltip text="taints" term_id="taint" >}} newly created
779
764
Nodes as `NotReady` and `NoSchedule`. That tainting avoids a race condition that could cause Pods
780
765
to be scheduled on new Nodes before their taints were updated to accurately reflect their reported
@@ -793,8 +778,7 @@ webhooks or other validating admission controllers will permit the request to fi
793
778
794
779
If you disable the ValidatingAdmissionWebhook, you must also disable the
795
780
` ValidatingWebhookConfiguration` object in the `admissionregistration.k8s.io/v1`
796
- group/version via the `--runtime-config` flag (both are on by default in
797
- versions 1.9 and later).
781
+ group/version via the `--runtime-config` flag.
798
782
799
783
# # Is there a recommended set of admission controllers to use?
800
784
0 commit comments