第 3 章 故障排除
阅读已知问题故障排除和可能的解决方案。
3.1. 对 NodePort 服务 iptable 规则进行故障排除
OVN-Kubernetes 在网络地址转换 (NAT) 表中设置 iptable 链,以处理到 NodePort 服务的传入流量。当 NodePort 服务无法访问或连接被拒绝时,请检查主机上的 iptable 规则,以确保正确插入相关的规则。
流程
运行以下命令,查看 NodePort 服务的 iptable 规则:
$ iptables-save | grep NODEPORT
输出示例
-A OUTPUT -j OVN-KUBE-NODEPORT -A OVN-KUBE-NODEPORT -p tcp -m addrtype --dst-type LOCAL -m tcp --dport 30326 -j DNAT --to-destination 10.43.95.170:80
OVN-Kubernetes 在 NAT 表中配置
OVN-KUBE-NODEPORT
iptable 链,以匹配目标端口和目的地网络地址转换 (DNAT) 数据包到clusterIP
服务。数据包随后通过网关网桥br-ex
通过主机上的路由规则路由到 OVN 网络。运行以下命令,使用路由规则通过网络路由数据包:
$ ip route
输出示例
10.43.0.0/16 via 192.168.122.1 dev br-ex mtu 1400
此路由规则与 Kubernetes 服务 IP 地址范围匹配,并将数据包转发到网关网桥
br-ex
。您必须在主机上启用ip_forward
。数据包转发到 OVS 网桥br-ex
后,它由 OVS 中的 OpenFlow 规则处理,该规则将数据包窃取到 OVN 网络,最终发送到 pod。