More Info:
The kubelet —rotate-certificates argument should not be set to false so the kubelet automatically rotates its client certificates. Disabling rotation increases the risk of using expired or compromised credentials.Risk Level
HighAddress
SecurityCompliance Standards
- CIS OKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node, open the kubelet systemd drop-in config for editing:
-
In that file, locate the
ExecStart=line. If it contains--rotate-certificates=false, remove=falseso it reads--rotate-certificates(or, if the flag is missing entirely, add it), for example: -
If your kubelet instead reads its options from
/etc/kubernetes/kubelet-config.json, open that file and ensure the feature is not disabled there (do not set it to false):Confirm there is no line like:If present, either remove that line or change it to: -
Reload systemd and restart the kubelet so the new flag takes effect (this will restart the kubelet on this worker node):
-
Confirm the kubelet is healthy on this worker node:
-
Verify on this worker node that the kubelet process is no longer running with
--rotate-certificates=falseand that--rotate-certificatesis present:Inspect the command line in the output and ensure--rotate-certificates=falsedoes not appear and--rotate-certificates(without=false) is included.
Using kubectl
Using kubectl
kubectl cannot modify kubelet process arguments or the host-level config file
/etc/kubernetes/kubelet-config.json; this setting must be changed directly on every worker node in the systemd drop-in file /etc/systemd/system/kubelet.service.d/00-default.conf. Refer to the Manual Steps section for the exact on-node edits and restart commands needed to enable certificate rotation and then re-run /bin/ps -fC kubelet for verification.Automation
Automation

