More Info:
The kubelet —client-ca-file argument should be set to enable client certificate authentication. Without a client CA, the kubelet cannot verify the identity of API clients.Risk Level
HighAddress
SecurityCompliance Standards
- CIS OKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node, confirm the current kubelet process arguments:
Check whether a
--client-ca-fileargument is present and whether it points to the intended CA (for example/etc/kubernetes/ca.crt). -
On every worker node, ensure the client CA file exists and is readable by kubelet (adjust the source path if your CA is elsewhere):
-
On every worker node, edit the kubelet systemd drop-in to add the
--client-ca-fileargument:Then open the file and ensure theExecStartor environment line includes the flag, for example:Add or adjust so it contains:or, ifExecStartuses inline flags, append: -
On every worker node, reload systemd and restart kubelet (this will briefly disrupt workloads on that node):
-
On every worker node, confirm kubelet is healthy:
-
On every worker node, verify that the
--client-ca-fileargument is now set correctly:Confirm the output shows--client-ca-file=/etc/kubernetes/ca.crt(or your chosen CA path) in the kubelet command line.
Using kubectl
Using kubectl
kubectl cannot configure the kubelet’s
--client-ca-file flag or edit /etc/kubernetes/kubelet-config.json, because these are host-level settings managed on each worker node (systemd units and config files). To remediate this finding, make the changes directly on every worker node as described in the Manual Steps section.Automation
Automation

