Skip to content

Commit 96dd915

Browse files
committed
Update admission controllers page
This PR updates the admission controllers page by: - removing two plugins which have been removed since 1.18 - removing text about ancient history - removing shortcode about plugins that graduated into GA a long time ago;
1 parent 6637a17 commit 96dd915

File tree

1 file changed

+46
-62
lines changed

1 file changed

+46
-62
lines changed

content/en/docs/reference/access-authn-authz/admission-controllers.md

Lines changed: 46 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ CertificateApproval, CertificateSigning, CertificateSubjectRestriction, DefaultI
103103

104104
{{< feature-state for_k8s_version="v1.13" state="deprecated" >}}
105105

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.
107108

108109
### AlwaysDeny {#alwaysdeny}
109110

@@ -185,33 +186,6 @@ have toleration for taints `node.kubernetes.io/not-ready:NoExecute` or
185186
`node.kubernetes.io/unreachable:NoExecute`.
186187
The default value for `default-not-ready-toleration-seconds` and `default-unreachable-toleration-seconds` is 5 minutes.
187188

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-
215189
### DenyServiceExternalIPs
216190

217191
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
225199
Clusters that do need to use this feature should consider using some custom policy to manage usage
226200
of it.
227201

202+
This admission controller is disabled by default.
203+
228204
### EventRateLimit {#eventratelimit}
229205

230206
{{< feature-state for_k8s_version="v1.13" state="alpha" >}}
@@ -240,8 +216,8 @@ event requests. The cluster admin can specify event rate limits by:
240216
apiVersion: apiserver.config.k8s.io/v1
241217
kind: AdmissionConfiguration
242218
plugins:
243-
- name: EventRateLimit
244-
path: eventconfig.yaml
219+
- name: EventRateLimit
220+
path: eventconfig.yaml
245221
...
246222
```
247223

@@ -259,18 +235,20 @@ Below is a sample `eventconfig.yaml` for such a configuration:
259235
apiVersion: eventratelimit.admission.k8s.io/v1alpha1
260236
kind: Configuration
261237
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
269245
```
270246
271247
See the [EventRateLimit Config API (v1alpha1)](/docs/reference/config-api/apiserver-eventratelimit.v1alpha1/)
272248
for more details.
273249
250+
This admission controller is disabled by default.
251+
274252
### ExtendedResourceToleration {#extendedresourcetoleration}
275253
276254
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
280258
adds tolerations for such taints to pods requesting extended resources, so users don't have to manually
281259
add these tolerations.
282260
261+
This admission controller is diabled by default.
262+
283263
### ImagePolicyWebhook {#imagepolicywebhook}
284264
285265
The ImagePolicyWebhook admission controller allows a backend webhook to make admission decisions.
286266
267+
This admission controller is disabled by default.
268+
287269
#### Configuration File Format
288270
289271
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
308290
apiVersion: apiserver.config.k8s.io/v1
309291
kind: AdmissionConfiguration
310292
plugins:
311-
- name: ImagePolicyWebhook
312-
path: imagepolicyconfig.yaml
293+
- name: ImagePolicyWebhook
294+
path: imagepolicyconfig.yaml
313295
...
314296
```
315297

@@ -319,14 +301,14 @@ Alternatively, you can embed the configuration directly in the file:
319301
apiVersion: apiserver.config.k8s.io/v1
320302
kind: AdmissionConfiguration
321303
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
330312
```
331313

332314
The ImagePolicyWebhook config file must reference a
@@ -340,17 +322,17 @@ must contain the returned authorizer.
340322
```yaml
341323
# clusters refers to the remote service.
342324
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'.
347329
348330
# users refers to the API server's webhook configuration.
349331
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
354336
```
355337

356338
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
445427
This admission controller denies any pod that defines `AntiAffinity` topology key other than
446428
`kubernetes.io/hostname` in `requiredDuringSchedulingRequiredDuringExecution`.
447429

430+
This admission controller is disabled by default.
431+
448432
### LimitRanger {#limitranger}
449433

450434
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
591575
may need to add the labels manually to prevent pods from mounting volumes from
592576
a different zone. PersistentVolumeLabel is DEPRECATED and labeling persistent volumes has been taken over by
593577
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.
595580

596581
### PodNodeSelector {#podnodeselector}
597582

@@ -600,6 +585,8 @@ Starting from 1.11, this admission controller is disabled by default.
600585
This admission controller defaults and limits what node selectors may be used within a namespace
601586
by reading a namespace annotation and a global configuration.
602587

588+
This admission controller is disabled by default.
589+
603590
#### Configuration file format
604591

605592
`PodNodeSelector` uses a configuration file to set options for the behavior of the backend.
@@ -709,6 +696,8 @@ metadata:
709696
scheduler.alpha.kubernetes.io/tolerationsWhitelist: '[{"operator": "Exists", "effect": "NoSchedule", "key": "dedicated-node"}]'
710697
```
711698

699+
This admission controller is disabled by default.
700+
712701
### Priority {#priority}
713702

714703
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
727716

728717
### RuntimeClass {#runtimeclass}
729718

730-
{{< feature-state for_k8s_version="v1.20" state="stable" >}}
731-
732719
If you define a RuntimeClass with [Pod overhead](/docs/concepts/scheduling-eviction/pod-overhead/)
733720
configured, this admission controller checks incoming Pods.
734721
When enabled, this admission controller rejects any Pod create requests
@@ -773,8 +760,6 @@ for more detailed information.
773760

774761
### TaintNodesByCondition {#taintnodesbycondition}
775762

776-
{{< feature-state for_k8s_version="v1.17" state="stable" >}}
777-
778763
This admission controller {{< glossary_tooltip text="taints" term_id="taint" >}} newly created
779764
Nodes as `NotReady` and `NoSchedule`. That tainting avoids a race condition that could cause Pods
780765
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
793778

794779
If you disable the ValidatingAdmissionWebhook, you must also disable the
795780
`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.
798782

799783
## Is there a recommended set of admission controllers to use?
800784

0 commit comments

Comments
 (0)