问题描述
K8S 集群,新安装了nginx服务器,但是访问80端口出来的服务不对,关闭nginx后,仍然可以访问服务器的80端口,但是本地80端口并没有任何服务监听。因为是K8S节点,所以怀疑是K8S上配置了转发规则导致。
解决办法
1、查看端口转发规则:K8S服务器上可能存在端口转发规则,将80端口的请求转发到了其他服务上。可以使用命令iptables -t nat -L -n
来查看iptables的转发规则,看是否存在将80端口转发到其他服务的规则。
2、确定有转发规则后,可以使用以下命令来获取运行IP地址在哪个namespace,哪个pod:
kubectl get pods --all-namespaces -o wide | grep
知道了是K8S集群的那个pod占用了防火墙的转发规则,就根据具体的业务场景进行调整就OK了