You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Flag names changed (s/admission-control/enable-admission-plugins); disable-admissions-plugin entry added; removed reference to admission controller/plugins requiring set order (for v1.10), redundant example enabling specific plugin, and redundant version-specific info (#7449)
Copy file name to clipboardExpand all lines: docs/admin/admission-controllers.md
+17-18
Original file line number
Diff line number
Diff line change
@@ -31,8 +31,7 @@ controllers may modify the objects they admit; validating controllers may not.
31
31
The admission control process proceeds in two phases. In the first phase,
32
32
mutating admission controllers are run. In the second phase, validating
33
33
admission controllers are run. Note again that some of the controllers are
34
-
both. In both phases, the controllers are run in the order specified by the
35
-
`--admission-control` flag of `kube-apiserver`.
34
+
both.
36
35
37
36
If any of the controllers in either phase reject the request, the entire
38
37
request is rejected immediately and an error is returned to the end-user.
@@ -54,13 +53,12 @@ support all the features you expect.
54
53
55
54
## How do I turn on an admission controller?
56
55
57
-
The Kubernetes API server supports a flag, `admission-control` that takes a comma-delimited,
58
-
ordered list of admission control choices to invoke prior to modifying objects in the cluster.
59
-
For example, the following command line turns on the `NamespaceLifecycle` and the `LimitRanger`
60
-
admission controller:
56
+
The Kubernetes API server flag `enable-admission-plugins` takes a comma-delimited list of admission control plugins to invoke prior to modifying objects in the cluster.
57
+
For example, the following command line enables the `NamespaceLifecycle` and the `LimitRanger`
**Note**: Depending on the way your Kubernetes cluster is deployed and how the
@@ -70,6 +68,14 @@ deployed as a systemd service, you may modify the manifest file for the API
70
68
server if Kubernetes is deployed in a self-hosted way.
71
69
{: .note}
72
70
71
+
## How do I turn off an admission controller?
72
+
73
+
The Kubernetes API server flag `disable-admission-plugins` takes a comma-delimited list of admission control plugins to be disabled, even if they are in the list of plugins enabled by default.
@@ -134,7 +140,7 @@ enabling this admission controller.
134
140
135
141
### EventRateLimit (alpha)
136
142
137
-
This admission controller is introduced in v1.9 to mitigate the problem where the API server gets flooded by
143
+
This admission controller mitigates the problem where the API server gets flooded by
138
144
event requests. The cluster admin can specify event rate limits by:
139
145
140
146
* Ensuring that `eventratelimit.admission.k8s.io/v1alpha1=true` is included in the
@@ -180,19 +186,15 @@ for more details.
180
186
181
187
### ExtendedResourceToleration
182
188
183
-
This plug-in is introduced in v1.9 to facilitate creation of dedicated nodes with extended resources.
189
+
This plug-in facilitates creation of dedicated nodes with extended resources.
184
190
If operators want to create dedicated nodes with extended resources (like GPUs, FPGAs etc.), they are expected to
185
191
taint the node with the extended resource name as the key. This admission controller, if enabled, automatically
186
192
adds tolerations for such taints to pods requesting extended resources, so users don't have to manually
187
193
add these tolerations.
188
194
189
195
### ImagePolicyWebhook
190
196
191
-
The ImagePolicyWebhook admission controller allows a backend webhook to make admission decisions. You enable this admission controller by setting the admission-control option as follows:
192
-
193
-
```shell
194
-
--admission-control=ImagePolicyWebhook
195
-
```
197
+
The ImagePolicyWebhook admission controller allows a backend webhook to make admission decisions.
196
198
197
199
#### Configuration File Format
198
200
@@ -314,7 +316,6 @@ In any case, the annotations are provided by the user and are not validated by K
314
316
315
317
### Initializers (alpha)
316
318
317
-
This admission controller is introduced in v1.7.
318
319
The admission controller determines the initializers of a resource based on the existing
319
320
`InitializerConfiguration`s. It sets the pending initializers by modifying the
320
321
metadata of the resource to be created.
@@ -554,8 +555,6 @@ objects in your Kubernetes deployment, you MUST use this admission controller to
554
555
555
556
See the [resourceQuota design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md) and the [example of Resource Quota](/docs/concepts/policy/resource-quotas/) for more details.
556
557
557
-
It is strongly encouraged that this admission controller is configured last in the sequence of admission controllers. This is
558
-
so that quota is not prematurely incremented only for the request to be rejected later in admission control.
559
558
560
559
### SecurityContextDeny
561
560
@@ -590,7 +589,7 @@ versions >= 1.9).
590
589
## Is there a recommended set of admission controllers to use?
591
590
592
591
Yes.
593
-
For Kubernetes >= 1.9.0, we strongly recommend running the following set of admission controllers (order matters):
592
+
For Kubernetes >= 1.9.0, we strongly recommend running the following set of admission controllers (order matters for 1.9 but not >1.10):
Copy file name to clipboardExpand all lines: docs/admin/authorization/node.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,7 @@ This group and user name format match the identity created for each kubelet as p
45
45
46
46
To enable the Node authorizer, start the apiserver with `--authorization-mode=Node`.
47
47
48
-
To limit the API objects kubelets are able to write, enable the [NodeRestriction](/docs/admin/admission-controllers#NodeRestriction) admission plugin by starting the apiserver with `--admission-control=...,NodeRestriction,...`
48
+
To limit the API objects kubelets are able to write, enable the [NodeRestriction](/docs/admin/admission-controllers#NodeRestriction) admission plugin by starting the apiserver with `--enable-admission-plugins=...,NodeRestriction,...`
Copy file name to clipboardExpand all lines: docs/reference/setup-tools/kubeadm/implementation-details.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -233,7 +233,7 @@ Other API server flags that are set unconditionally are:
233
233
-`--enable-bootstrap-token-auth=true` to enable the `BootstrapTokenAuthenticator` authentication module. see [TLS Bootstrapping](/docs/admin/kubelet-tls-bootstrapping.md) for more details
234
234
-`--allow-privileged` to `true` (required e.g. by kube proxy)
235
235
-`--requestheader-client-ca-file` to `front-proxy-ca.crt`
236
-
-`--admission-control` to:
236
+
-`--enable-admission-plugins` to:
237
237
-[`Initializers`](/docs/admin/admission-controllers/#initializers-alpha) to enable [Dynamic Admission Control](/docs/admin/extensible-admission-controllers/).
238
238
-[`NamespaceLifecycle`](/docs/admin/admission-controllers/#namespacelifecycle) e.g. to avoid deletion of
Copy file name to clipboardExpand all lines: docs/tasks/administer-cluster/running-cloud-controller.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ Successfully running cloud-controller-manager requires some changes to your clus
33
33
34
34
*`kube-apiserver` and `kube-controller-manager` MUST NOT specify the `--cloud-provider` flag. This ensures that it does not run any cloud specific loops that would be run by cloud controller manager. In the future, this flag will be deprecated and removed.
35
35
*`kubelet` must run with `--cloud-provider=external`. This is to ensure that the kubelet is aware that it must be initialized by the cloud controller manager before it is scheduled any work.
36
-
*`kube-apiserver` SHOULD NOT run the `PersistentVolumeLabel` admission controller since the cloud controller manager takes over labeling persistent volumes. To prevent the PersistentVolumeLabel admission plugin from running, make sure the `kube-apiserver` has a `--admission-control` flag with a value that does not include `PersistentVolumeLabel`.
36
+
*`kube-apiserver` SHOULD NOT run the `PersistentVolumeLabel` admission controller since the cloud controller manager takes over labeling persistent volumes. To prevent the PersistentVolumeLabel admission plugin from running in `kube-apiserver`, include the `PersistentVolumeLabel` as a listed value in the `--disable-admission-plugins` flag.
37
37
* For the `cloud-controller-manager` to label persistent volumes, initializers will need to be enabled and an InitializerConifguration needs to be added to the system. Follow [these instructions](/docs/admin/extensible-admission-controllers.md#enable-initializers-alpha-feature) to enable initializers. Use the following YAML to create the InitializerConfiguration:
38
38
39
39
{% include code.html language="yaml" file="persistent-volume-label-initializer-config.yaml" ghlink="/docs/tasks/administer-cluster/persistent-volume-label-initializer-config.yaml" %}
0 commit comments