Skip to content

Commit ba4494e

Browse files
tengqmMisty Linville
authored and
Misty Linville
committed
Remove InitialResources from admission controllers (#8293)
The feature (was experimental) is dropped in 1.11. xref: kubernetes/kubernetes#58784
1 parent 6e34a93 commit ba4494e

File tree

1 file changed

+10
-20
lines changed

1 file changed

+10
-20
lines changed

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

+10-20
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ is authenticated and authorized. The controllers consist of the
2626
administrator. In that list, there are two special controllers:
2727
MutatingAdmissionWebhook and ValidatingAdmissionWebhook. These execute the
2828
mutating and validating (respectively) [admission control
29-
webhooks](/docs/admin/extensible-admission-controllers/#external-admission-webhooks)
29+
webhooks](/docs/admin/extensible-admission-controllers.md#external-admission-webhooks)
3030
which are configured in the API.
3131

3232
Admission controllers may be "validating", "mutating", or both. Mutating
@@ -148,6 +148,8 @@ enabling this admission controller.
148148
This admission controller mitigates the problem where the API server gets flooded by
149149
event requests. The cluster admin can specify event rate limits by:
150150

151+
* Ensuring that `eventratelimit.admission.k8s.io/v1alpha1=true` is included in the
152+
`--runtime-config` flag for the API server;
151153
* Enabling the `EventRateLimit` admission controller;
152154
* Referencing an `EventRateLimit` configuration file from the file provided to the API
153155
server's command line flag `--admission-control-config-file`:
@@ -229,8 +231,7 @@ plugins:
229231
...
230232
```
231233

232-
The ImagePolicyWebhook config file must reference a [kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
233-
formatted file which sets up the connection to the backend. It is required that the backend communicate over TLS.
234+
The ImagePolicyWebhook config file must reference a [kubeconfig](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) formatted file which sets up the connection to the backend. It is required that the backend communicate over TLS.
234235

235236
The kubeconfig file's cluster field must point to the remote service, and the user field must contain the returned authorizer.
236237

@@ -249,7 +250,7 @@ users:
249250
client-certificate: /path/to/cert.pem # cert for the webhook admission controller to use
250251
client-key: /path/to/key.pem # key matching the cert
251252
```
252-
For additional HTTP configuration, refer to the [kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) documentation.
253+
For additional HTTP configuration, refer to the [kubeconfig](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) documentation.
253254

254255
#### Request Payloads
255256

@@ -324,18 +325,7 @@ In any case, the annotations are provided by the user and are not validated by K
324325
The admission controller determines the initializers of a resource based on the existing
325326
`InitializerConfiguration`s. It sets the pending initializers by modifying the
326327
metadata of the resource to be created.
327-
For more information, please check [Dynamic Admission Control](/docs/admin/extensible-admission-controllers/).
328-
329-
### InitialResources (experimental) {#initialresources}
330-
331-
This admission controller observes pod creation requests. If a container omits compute resource requests and limits,
332-
then the admission controller auto-populates a compute resource request based on historical usage of containers running the same image.
333-
If there is not enough data to make a decision the Request is left unchanged.
334-
When the admission controller sets a compute resource request, it does this by *annotating*
335-
the pod spec rather than mutating the `container.resources` fields.
336-
The annotations added contain the information on what compute resources were auto-populated.
337-
338-
See the [InitialResources proposal](https://git.k8s.io/community/contributors/design-proposals/autoscaling/initial-resources.md) for more details.
328+
For more information, please check [Dynamic Admission Control](/docs/admin/extensible-admission-controllers.md).
339329

340330
### LimitPodHardAntiAffinityTopology {#limitpodhardantiaffinitytopology}
341331

@@ -350,7 +340,7 @@ your Kubernetes deployment, you MUST use this admission controller to enforce th
350340
be used to apply default resource requests to Pods that don't specify any; currently, the default LimitRanger
351341
applies a 0.1 CPU requirement to all Pods in the `default` namespace.
352342

353-
See the [limitRange design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) and the [example of Limit Range](/docs/tasks/administer-cluster/memory-default-namespace/) for more details.
343+
See the [limitRange design doc](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md) and the [example of Limit Range](/docs/tasks/configure-pod-container/limit-range/) for more details.
354344

355345
### MutatingAdmissionWebhook (beta in 1.9) {#mutatingadmissionwebhook}
356346

@@ -472,7 +462,6 @@ metadata:
472462

473463
#### Internal Behavior
474464
This admission controller has the following behavior:
475-
476465
1. If the `Namespace` has an annotation with a key `scheduler.alpha.kubernetes.io/node-selector`, use its value as the
477466
node selector.
478467
1. If the namespace lacks such an annotation, use the `clusterDefaultNodeSelector` defined in the `PodNodeSelector`
@@ -568,14 +557,15 @@ See the [resourceQuota design doc](https://git.k8s.io/community/contributors/des
568557

569558
### SecurityContextDeny {#securitycontextdeny}
570559

571-
This admission controller will deny any pod that attempts to set certain escalating [SecurityContext](/docs/tasks/configure-pod-container/security-context/) fields. This should be enabled if a cluster doesn't utilize [pod security policies](/docs/concepts/policy/pod-security-policy/) to restrict the set of values a security context can take.
560+
This admission controller will deny any pod that attempts to set certain escalating [SecurityContext](/docs/user-guide/security-context) fields. This should be enabled if a cluster doesn't utilize [pod security policies](/docs/user-guide/pod-security-policy) to restrict the set of values a security context can take.
572561

573562
### ServiceAccount {#serviceaccount}
574563

575-
This admission controller implements automation for [serviceAccounts](/docs/tasks/configure-pod-container/configure-service-account/).
564+
This admission controller implements automation for [serviceAccounts](/docs/user-guide/service-accounts).
576565
We strongly recommend using this admission controller if you intend to make use of Kubernetes `ServiceAccount` objects.
577566

578567
### Storage Object in Use Protection
568+
579569
The `StorageObjectInUseProtection` plugin adds the `kubernetes.io/pvc-protection` or `kubernetes.io/pv-protection` finalizers to newly created Persistent Volume Claims (PVCs) or Persistent Volumes (PV). In case a user deletes a PVC or PV the PVC or PV is not removed until the finalizer is removed from the PVC or PV by PVC or PV Protection Controller. Refer to the [Storage Object in Use Protection](/docs/concepts/storage/persistent-volumes/#storage-object-in-use-protection) for more detailed information.
580570

581571
### ValidatingAdmissionWebhook (alpha in 1.8; beta in 1.9) {#validatingadmissionwebhook}

0 commit comments

Comments
 (0)