Check ID:
Provider: Kubernetes
Service:
Severity: MEDIUM
Categories:
Resource type:
apiserver_event_rate_limitProvider: Kubernetes
Service:
apiserverSeverity: MEDIUM
Categories:
cluster-security, resilienceResource type:
PodWhat this check verifies
Kubernetes API server includesEventRateLimit among its enabled admission plugins, applying rate controls to Kubernetes Event objects during admission
Risk
Without event rate limiting, bursts of Event writes from noisy or hostile workloads can overwhelm the API server, degrading availability. This leads to API timeouts, slow or stalled controller reconciliations, and amplifies DoS against control-plane endpoints.Recommendation
Use theEventRateLimit admission plugin with conservative, workload-aware thresholds (global, per-namespace, per-user) to cap Event throughput.
Apply defense in depth: monitor Event volume, alert on spikes, tame noisy emitters, and uphold least privilege to preserve API capacity.
Remediation
Dashboard steps- SSH to the control-plane node and edit the API server static pod manifest:
- File: /etc/kubernetes/manifests/kube-apiserver.yaml
- In the kube-apiserver container args/command list, ensure EventRateLimit is enabled:
- If the flag exists, append EventRateLimit to the list: —enable-admission-plugins=… ,EventRateLimit
- If missing, add it: —enable-admission-plugins=EventRateLimit
- Save the file. The kubelet will restart the API server automatically and the check will pass.
References
Where this check fires
This check runs on every scheduled scan against your Kubernetes account. Findings appear at Cloud Security → Findings filterable byCheck ID = apiserver_event_rate_limit. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Kubernetes checks