Skip to main content

More Info:

The RotateKubeletServerCertificate feature gate should be true so the kubelet automatically rotates its serving certificates, preventing expiry-related failures.

Risk Level

High

Address

Security

Compliance Standards

  • CIS AKS

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, open the kubelet systemd drop-in file for editing (create it if it does not exist yet):
  1. In that file, ensure there is an Environment line that includes the RotateKubeletServerCertificate feature gate. For example, add or update:
If other Environment="KUBELET_... lines already exist, keep them and only add or adjust the KUBELET_CERTIFICATE_ARGS line.
  1. If the kubelet is also configured via /etc/default/kubelet or /var/lib/kubelet/kubeadm-flags.env, check those files to ensure they do not override the feature gate. On every worker node:
If you see RotateKubeletServerCertificate=false anywhere, edit the file and remove that part or change it to true.
  1. Reload systemd configuration and restart kubelet on every worker node:
  1. Confirm kubelet is healthy on every worker node:
  1. Verify the kubelet process is running with RotateKubeletServerCertificate=true on every worker node:
kubectl cannot modify kubelet process flags or host-level configuration files, so this finding cannot be fixed via Kubernetes API changes. Configure RotateKubeletServerCertificate in /etc/systemd/system/kubelet.service.d/10-kubeadm.conf on every worker node as described, and follow the steps in the Manual Steps section.