在 Kubernetes 中,防火墙规则是由网络插件或 CNI(Container Network Interface)实现的。因此,检查 Kubernetes 中的防火墙规则取决于您使用的网络插件。
对于常见的网络插件如 Flannel、Calico、Weave Net 等,可以使用以下命令检查其是否启用了防火墙:
kubectl get daemonset -n kube-system <daemonset名称> -o jsonpath='{.spec.template.spec.containers[*].args}'
例如,在 Flannel 网络中,可以使用以下命令检查是否启用了防火墙:
kubectl get daemonset -n kube-system kube-flannel-ds-amd64 -o jsonpath='{.spec.template.spec.containers[*].args}'
如果输出包含 --iptables=true 或 --ip-masq=true 参数,则表示已经启用了 iptables 防火墙规则。
此外,还可以通过直接访问节点来检查节点上运行的 iptables 规则。请注意,在大多数情况下,只有主节点和工作节点才会运行 iptables 规则。
要列出节点上运行的所有 iptables 规则,请使用以下命令:
sudo iptables-save
该命令将显示所有当前正在运行的 iptables 规则。您可以根据需要筛选特定端口或协议,并相应地修改相关规则。




