More Info:
Verifies that —etcd-certfile and —etcd-keyfile are set so the API server authenticates to etcd over mutual TLS, protecting the cluster datastore.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, confirm the API server static pod manifest path:
If the file is missing, locate it:
-
On every control plane node, identify existing kubelet client cert/key files (or create them per your PKI process if they do not exist):
If you must generate them, follow your organization’s CA process; ensure the certificate is trusted by kubelets.
-
On every control plane node, back up the API server manifest before editing:
-
On every control plane node, edit the API server manifest to include the kubelet client certificate and key flags (this will restart the API server when the file changes):
Adjust the paths
/etc/kubernetes/pki/kubelet-client.crtand.keyto match your actual files. Ensure they appear as separate-arguments undercommand:in the manifest. -
On every control plane node, wait 30–60 seconds for the kubelet to detect the manifest change and restart the kube-apiserver container. Then verify the API server process includes the new flags:
Confirm you see both
--kubelet-client-certificate=/absolute/path/to/client-certificate-fileand--kubelet-client-key=/absolute/path/to/client-key-filein the command line.
Using kubectl
Using kubectl
kubectl cannot modify the kube-apiserver static pod manifest or its process flags; this finding must be remediated by editing
/etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node. Refer to the Manual Steps section for the exact host-level changes and verification commands.Automation
Automation

