More Info:
The eventRecordQPS setting caps the rate at which the kubelet records events. Setting it to an appropriate level ensures security-relevant events are captured without being dropped.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node – check how kubelet is configured
- If you see
--config=/var/lib/kubelet/config.yaml, it is using the config file (primary fix surface). - If you instead see
--event-record-qps=...or no--configflag, it is using command-line arguments via systemd.
- If you see
-
On every worker node – edit the kubelet config file (config.yaml case)
Open the file:
Add or adjust the
eventRecordQPSfield at the top-level of the YAML to an appropriate value for your environment, for example:Save the file. -
On every worker node – edit the kubelet systemd drop-in (arguments case)
If kubelet is not using
--config, edit:In theEnvironment=line(s) that define kubelet arguments (commonlyKUBELET_KUBEADM_ARGSor similar), add or update the--event-record-qpsflag to an appropriate value, for example:Ensure there is only one--event-record-qpsflag. -
On every worker node – reload systemd and restart kubelet
(Kubelet restart is required and will temporarily disrupt the node’s workloads.)
-
On every worker node – verify kubelet started cleanly
Confirm it is
active (running)and there are no repeated restart failures. -
On every worker node – verify the effective eventRecordQPS setting
For config file–based kubelet:
For argument-based kubelet:
Using kubectl
Using kubectl
kubectl cannot modify the kubelet’s
eventRecordQPS setting because it is defined in host-level configuration (/var/lib/kubelet/config.yaml or the kubelet systemd unit) on each worker node. To remediate this finding, follow the guidance in the Manual Steps section on those nodes directly.Automation
Automation

