More Info:
Use https for kubelet connections.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
SSH to each control plane node
-
Backup the API server static pod manifest
-
Edit the manifest to remove the
--kubelet-httpsargument
Open the file in an editor on the control plane node:In thecommand:orargs:list forkube-apiserver, delete the entire line containing:or(Remove the flag completely, do not re-add it with another value.)
Save and exit the editor.Note: Editing this file will cause the kube-apiserver static pod to be restarted by kubelet.
-
Wait for the kube-apiserver pod to restart and become Running
From any machine withkubectlaccess:Repeat until thekube-apiserver-<node-name>pod is inRunningandREADYstatus. -
Verify the kube-apiserver is no longer started with
--kubelet-https
On the same control plane node:Confirm that in the printed command line there is no--kubelet-https=argument present.
Using kubectl
Using kubectl
kubectl cannot change the kube-apiserver static pod manifest or its process flags, so this finding cannot be remediated via the Kubernetes API. To fix it, you must edit
/etc/kubernetes/manifests/kube-apiserver.yaml directly on every control plane node as described in the Manual Steps section.Automation
Automation

