More Info:
This admission controller rejects all net-new usage of the Service field externalIPsRisk Level
LowAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, back up the existing manifest before editing:
-
On every control plane node, open the API server static pod manifest for editing:
-
In the
spec.containers[0].commandsection, locate the--enable-admission-pluginsflag. RemoveDenyServiceExternalIPsfrom the comma-separated list (leave the rest of the plugins unchanged), then save and exit.
Example before:Example after:Note: Saving this file will cause the kubelet to restart thekube-apiserverstatic pod. -
If
DenyServiceExternalIPsis present as its own flag (older/custom configurations), remove that line entirely: -
Wait for the kube-apiserver pod to be recreated and become Ready (run on any machine with kubectl access):
-
Verify on every control plane node that the
kube-apiserverprocess is now running withoutDenyServiceExternalIPs:
Using kubectl
Using kubectl
kubectl cannot change the
DenyServiceExternalIPs admission plugin because it is configured via the kube-apiserver static pod manifest on each control plane node (/etc/kubernetes/manifests/kube-apiserver.yaml). To remediate this finding, make the change directly on the host as described in the Manual Steps section.Automation
Automation

