More Info:
Enable Kubelet authentication using certificates.Risk Level
LowAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CIS GKE
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- Essential 8
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIS2 Directive
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every worker node, open the kubelet config file and configure the client CA file:
Ensure the following section exists and is set to the correct CA certificate path (create the nested keys if missing):Replace
/etc/kubernetes/pki/ca.crtwith the actual path to your client CA file if different. -
Confirm the CA file exists and is readable by the kubelet user (usually root):
-
Reload systemd and restart the kubelet so the new configuration takes effect:
-
Verify the kubelet process is running and pick its PID:
Confirm that the kubelet is running without crash-looping (the command should show a stable kubelet process).
-
(Optional, if you also use command-line arguments instead of or in addition to the config file) On every worker node, edit the kubelet systemd drop-in to ensure
--client-ca-fileis present in the KUBELET_AUTHZ_ARGS:In theEnvironment=line that definesKUBELET_AUTHZ_ARGS, ensure it contains:Then reload and restart again: -
Final verification on every worker node:
If you are using only the config file, the presence of
authentication.x509.clientCAFilein/var/lib/kubelet/config.yamltogether with a healthy kubelet process satisfies the control; if you are also using flags, confirm--client-ca-file=/etc/kubernetes/pki/ca.crtappears in the kubelet command line output.
Using kubectl
Using kubectl
kubectl cannot configure the kubelet’s
--client-ca-file or edit /var/lib/kubelet/config.yaml, because these are host-level settings managed on each worker node. To remediate this finding, make the changes directly on the nodes as described in the Manual Steps section.Automation
Automation

