Views:
Profile applicability: Level 1 - Worker Node
It is crucial to capture all security-relevant information, which is facilitated by the eventRecordQPS setting in the Kubelet configuration that controls the rate of event logging and sets the maximum number of event creations per second. Setting this parameter too low might prevent important events from being logged, while an unlimited setting of 0 could overload the Kubelet, leading to a denial of service. Events play a key role in security monitoring and analytics, ensuring continuous oversight of the environment. Therefore, it's important that the cluster’s event processing and storage capacities are scaled appropriately to manage the expected event loads without compromising service stability.

Impact

Setting this parameter to 0 could result in a denial of service condition due to excessive events being created. The cluster's event processing and storage systems should be scaled to handle expected event loads.

Audit

Run the following command on each node:
sudo grep "eventRecordQPS" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
Review the value set for the argument and determine whether this has been set to an appropriate level for the cluster. If the argument does not exist, check that there is a Kubelet config file specified by --config and review the value in this location.

Remediation

If using a Kubelet config file, edit the file to set eventRecordQPS to an appropriate level. If using command line arguments, edit the kubelet service file /etc/systemd/system/kubelet.service.d/10-kubeadm.conf on each worker node and set the below parameter in KUBELET_SYSTEM_PODS_ARGS variable.
Based on your system, restart the kubelet service. For example:
    systemctl daemon-reload
    systemctl restart kubelet.service