39.7.4. Open vSwitch(OVS)是否正确配置?
您必须在其中一个 OVS pod 上运行 ovs-vsctl
和 ovs-ofctl
命令。
要列出 OVS pod,请输入以下命令:
oc get pod -n openshift-sdn -l app=ovs
$ oc get pod -n openshift-sdn -l app=ovs
检查两端的 Open vSwitch 网桥。将 <ovs_pod_name
> 替换为其中一个 OVS pod 的名称。
oc exec -n openshift-sdn <ovs_pod_name> -- ovs-vsctl list-br
$ oc exec -n openshift-sdn <ovs_pod_name> -- ovs-vsctl list-br
br0
上一命令应返回 br0
。
您可以列出 OVS 知道的所有端口:
特别是,所有活跃的 pod 的 vethX
设备应当列为端口。
接下来,列出该网桥中配置的流:
oc exec -n openshift-sdn <ovs_pod_name> -- ovs-ofctl -O OpenFlow13 dump-flows br0
$ oc exec -n openshift-sdn <ovs_pod_name> -- ovs-ofctl -O OpenFlow13 dump-flows br0
根据您使用的 ovs-subnet 或 ovs-multitenant 插件,结果会稍有不同,但您可以查找的一些一般操作:
-
每个远程节点都应该有一个与
tun_src=<node_IP_address&
gt;(用于来自该节点的 VXLAN 流量)和另一流(包括操作set_field:<node_IP_address>->tun_dst
)匹配的流(用于向该节点传出的 VXLAN 流量)。 -
每个本地 pod 都应该有与
arp_spa=<pod_IP_address
> 和arp_tpa=<pod_IP_address
>(用于该 pod 的传入和传出 IP 流量)匹配的流,以及与nw_IP_address
> 和nw_dst=<pod_IP_address
>(用于该 pod 的传入和传出 IP 流量)匹配的流。
如果缺少流,请查看 第 39.10 节 “读取日志” 部分。
39.7.4.1. iptables 配置是否正确? 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
检查 iptables-save
的输出,确保您未过滤流量。但是,OpenShift Container Platform 在正常操作过程中设置 iptables 规则,因此无法意外地看到相关的条目。