Skip to content

Commit aef727b

Browse files
tengqmMisty Stanley-Jones
authored and
Misty Stanley-Jones
committed
Remove InitialResources from admission controllers (#8293)
The feature (was experimental) is dropped in 1.11. xref: kubernetes/kubernetes#58784
1 parent 3fcaa80 commit aef727b

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
@@ -22,7 +22,7 @@ is authenticated and authorized. The controllers consist of the
2222
administrator. In that list, there are two special controllers:
2323
MutatingAdmissionWebhook and ValidatingAdmissionWebhook. These execute the
2424
mutating and validating (respectively) [admission control
25-
webhooks](/docs/admin/extensible-admission-controllers/#external-admission-webhooks)
25+
webhooks](/docs/admin/extensible-admission-controllers.md#external-admission-webhooks)
2626
which are configured in the API.
2727

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

147+
* Ensuring that `eventratelimit.admission.k8s.io/v1alpha1=true` is included in the
148+
`--runtime-config` flag for the API server;
147149
* Enabling the `EventRateLimit` admission controller;
148150
* Referencing an `EventRateLimit` configuration file from the file provided to the API
149151
server's command line flag `--admission-control-config-file`:
@@ -225,8 +227,7 @@ plugins:
225227
...
226228
```
227229

228-
The ImagePolicyWebhook config file must reference a [kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
229-
formatted file which sets up the connection to the backend. It is required that the backend communicate over TLS.
230+
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.
230231

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

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

250251
#### Request Payloads
251252

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

336326
### LimitPodHardAntiAffinityTopology
337327

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

349-
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.
339+
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.
350340

351341
### MutatingAdmissionWebhook (beta in 1.9)
352342

@@ -468,7 +458,6 @@ metadata:
468458

469459
#### Internal Behavior
470460
This admission controller has the following behavior:
471-
472461
1. If the `Namespace` has an annotation with a key `scheduler.alpha.kubernetes.io/node-selector`, use its value as the
473462
node selector.
474463
1. If the namespace lacks such an annotation, use the `clusterDefaultNodeSelector` defined in the `PodNodeSelector`
@@ -564,14 +553,15 @@ See the [resourceQuota design doc](https://git.k8s.io/community/contributors/des
564553

565554
### SecurityContextDeny
566555

567-
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.
556+
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.
568557

569558
### ServiceAccount
570559

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

574563
### Storage Object in Use Protection
564+
575565
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.
576566

577567
### ValidatingAdmissionWebhook (alpha in 1.8; beta in 1.9)

0 commit comments

Comments
 (0)