More Info:
Enable Kubelet authentication using certificates.Risk Level
LowAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, identify the API server static pod manifest and current flags:
Also confirm you have (or create) a suitable client CA file (typically the cluster CA):
-
On every control plane node, back up the API server manifest before editing:
-
On every control plane node, edit
/etc/kubernetes/manifests/kube-apiserver.yamland add or adjust the--client-ca-fileargument under the containercommandlist to point to your CA file (example uses/etc/kubernetes/pki/ca.crt):If the flag does not exist yet, append a new line under the other--flags (edit with an editor such asvi):Add, aligned with the other args:Saving this file will cause the kube-apiserver static pod to restart automatically. -
On every control plane node, ensure the CA file is readable by the kube-apiserver process (usually runs as root, so default permissions are fine). For standard kubeadm layouts:
-
On every control plane node, wait for the kube-apiserver pod to restart and become Ready:
-
Verification on every control plane node: confirm the running kube-apiserver process now has the expected
--client-ca-fileargument set:You should see an argument like:--client-ca-file=/etc/kubernetes/pki/ca.crt.
Using kubectl
Using kubectl
kubectl cannot change the kube-apiserver’s
--client-ca-file setting or any other host-level flags; this must be fixed by editing /etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node. Refer to the Manual Steps section for the exact on-node configuration changes and verification commands.Automation
Automation

