Check ID:
Provider: Kubernetes
Service:
Severity: MEDIUM
Categories:
Resource type:
controllermanager_rotate_kubelet_server_certProvider: Kubernetes
Service:
controllermanagerSeverity: MEDIUM
Categories:
encryption, cluster-securityResource type:
PodWhat this check verifies
Kubernetes controller manager configuration includes theRotateKubeletServerCertificate=true feature gate for automatic rotation of kubelet server certificates
Risk
Without certificate rotation, kubelet HTTPS endpoints can use expired or long-lived certs, triggering TLS failures and operational gaps. Teams may bypass verification, enabling MitM and tampering. This harms availability and integrity, and extends exposure if a private key is compromised.Recommendation
EnableRotateKubeletServerCertificate=true on the controller manager and ensure kubelets participate in rotation.
Use short-lived certs, automated renewal, and strict TLS validation to maintain availability, protect integrity, and uphold cryptographic hygiene. Avoid insecure fallbacks.
Remediation
Dashboard steps- SSH to a control-plane node and open the controller manager static pod manifest:
- /etc/kubernetes/manifests/kube-controller-manager.yaml
- In spec.containers[0].command, add or update this flag:
- Save the file; the kubelet will automatically restart the pod with the updated setting.
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 = controllermanager_rotate_kubelet_server_cert. 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