More Info:
Verifies that the scheduler —bind-address is set to 127.0.0.1 so its metrics and health endpoints are not exposed on the network.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, back up the existing static pod manifest for the scheduler:
-
On every control plane node, edit the scheduler static pod manifest to set the bind-address to 127.0.0.1:
If the
--bind-addressflag is not present, add it under thecommand:list forkube-scheduler, for example:Save the file; kubelet will automatically restart the kube-scheduler pod when the manifest changes (expect a brief control-plane impact). -
On every control plane node, wait for the kube-scheduler pod to be recreated and running:
Ensure the scheduler container shows a recent start time and is in running state.
-
On every control plane node, verify the kube-scheduler process is now using the loopback bind address:
Confirm the output includes
--bind-address=127.0.0.1and no other--bind-addressvalue.
Using kubectl
Using kubectl
kubectl cannot modify the kube-scheduler bind address, because it is configured via the static pod manifest on each control plane node at
/etc/kubernetes/manifests/kube-scheduler.yaml. To remediate this finding, make the change directly on the node as described in the Manual Steps section.Automation
Automation

