Skip to main content

More Info:

Verifies that the controller manager —bind-address is set to 127.0.0.1 so its metrics and health endpoints are not exposed on the network.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, back up the existing manifest so you can roll back if needed:
  1. Edit the controller manager static pod manifest on that control plane node:
  1. In the container command/args section, set or correct the bind address flag so it is exactly:
Remove any other --bind-address entries with different values. Save and exit.
Note: updating this static pod manifest will cause the kube-controller-manager pod to be restarted automatically by the kubelet.
  1. Wait for the kube-controller-manager pod to restart and become Running on that node:
(use whichever container runtime command is available on that node).
  1. Repeat steps 1–4 on every other control plane node.
  2. Verify on each control plane node that the controller manager is now running with the correct bind address:
kubectl cannot modify the kube-controller-manager static pod manifest or its process flags. This finding must be fixed directly on each control plane node by editing /etc/kubernetes/manifests/kube-controller-manager.yaml; see the Manual Steps section for exact host-level instructions.