More Info:
When makeIPTablesUtilChains is true the kubelet manages iptables rules to ensure correct traffic handling for pods. Enabling it maintains expected network filtering behavior on the node.Risk Level
HighAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Edit the kubelet config file to enable iptables util chains
- Run on: every worker node
- Open the config file:
- In the
kubeletConfigurationsection, add or modify this field so it reads exactly: - Save and exit.
-
(If present) Remove conflicting command-line flag from kubelet systemd drop-in
- Run on: every worker node
- Open the kubelet drop-in file:
- In the
KUBELET_SYSTEM_PODS_ARGS(or anyKUBELET_*variable), remove any occurrence of: - Save and exit.
-
Reload systemd units
- Run on: every worker node
-
Restart kubelet to apply changes
- Run on: every worker node
-
Verify kubelet is running
- Run on: every worker node
-
Verify the kubelet now has makeIPTablesUtilChains enabled
- Run on: every worker node
- Confirm there is no
--make-iptables-util-chainsflag in thepsoutput, and the config file showsmakeIPTablesUtilChains: true.
Using kubectl
Using kubectl
kubectl cannot modify kubelet host-level configuration such as
/var/lib/kubelet/config.yaml or systemd unit files on worker nodes. To remediate this finding, you must change the kubelet config and/or systemd unit directly on every worker node; follow the guidance in the Manual Steps section.Automation
Automation
- Copy this script to each worker node as root, e.g.
/root/fix-kubelet-iptables.sh. - Run on every worker node:

