Skip to main content

More Info:

Enable kubelet client certificate rotation.

Risk Level

Low

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, open the kubelet config file and ensure rotateCertificates is not set to false (set it to true or remove the key). For example, using vi:
    In the kubeletConfiguration section, either remove any existing rotateCertificates line or set it explicitly:
  2. Still on every worker node, check if kubelet is started with an explicit --rotate-certificates=false flag in its systemd drop-in:
  3. If the flag is present and set to false, edit the systemd configuration and remove the --rotate-certificates=false argument completely:
    In the Environment= or KUBELET_CERTIFICATE_ARGS line, delete --rotate-certificates=false (do not replace it with true; absence uses the default secure behavior).
  4. On every worker node, reload systemd configuration and restart the kubelet for changes to take effect (this will temporarily disrupt workloads on that node):
  5. Verify on every worker node that kubelet is no longer running with --rotate-certificates=false:
    Inspect the command line in the output and confirm there is no --rotate-certificates=false flag.
kubectl cannot modify kubelet host-level configuration such as /var/lib/kubelet/config.yaml or the systemd unit files on worker nodes. To remediate this finding, edit the kubelet config and/or systemd service directly on each worker node as described in the Manual Steps section.

Additional Reading: