Skip to main content

More Info:

Verifies that the EventRateLimit admission plugin is enabled to limit the rate of API requests and protect the API server from denial-of-service.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. Create the EventRateLimit configuration file (every control plane node)
  2. Back up the existing API server static pod manifest (every control plane node)
  3. Edit the API server manifest to enable EventRateLimit (every control plane node)
    Open the file:
    In the spec.containers[0].command list:
    • Ensure --enable-admission-plugins includes EventRateLimit (add it to the comma‑separated list, do not remove existing plugins), for example:
    • Add or update the admission config flag to point to the file you created:
  4. Ensure the admission config files are mounted into the API server pod (every control plane node)
    In the same manifest, under the container volumeMounts, add if not present:
    Under volumes, add if not present:
  5. Allow the API server to restart and stabilize (every control plane node)
    Saving /etc/kubernetes/manifests/kube-apiserver.yaml causes the kubelet to restart the kube-apiserver static pod automatically. Wait and confirm the pod is running:
  6. Verify EventRateLimit is enabled and configured (every control plane node)
    Optionally, confirm the flag values inside the container:
kubectl cannot be used to enable the EventRateLimit admission plugin because this setting is defined in the API server’s static pod manifest on each control plane node at /etc/kubernetes/manifests/kube-apiserver.yaml. To remediate this finding, follow the guidance in the Manual Steps section and update the host-level configuration directly on the control plane nodes.