39.7.4. Open vSwitch (OVS)가 올바르게 구성됩니까?
OVS 포드 중 하나에서 ovs-vsctl
및 ovs-ofctl
명령을 실행해야 합니다.
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 br0
이전 명령에서 br0
을 반환해야 합니다.
OVS에서 알고 있는 모든 포트를 나열할 수 있습니다.
$ oc exec -n openshift-sdn <ovs_pod_name> -- ovs-ofctl -O OpenFlow13 dump-ports-desc br0 OFPST_PORT_DESC reply (OF1.3) (xid=0x2): 1(vxlan0): addr:9e:f1:7d:4d:19:4f config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max 2(tun0): addr:6a:ef:90:24:a3:11 config: 0 state: 0 speed: 0 Mbps now, 0 Mbps max 8(vethe19c6ea): addr:1e:79:f3:a0:e8:8c config: 0 state: 0 current: 10GB-FD COPPER speed: 10000 Mbps now, 0 Mbps max LOCAL(br0): addr:0a:7f:b4:33:c2:43 config: PORT_DOWN state: LINK_DOWN speed: 0 Mbps now, 0 Mbps max
특히 모든 활성 포드의 vethX
장치가 포트로 나열되어야 합니다.
그런 다음 해당 브리지에 구성된 흐름을 나열합니다.
$ oc exec -n openshift-sdn <ovs_pod_name> -- ovs-ofctl -O OpenFlow13 dump-flows br0
결과는 ovs-subnet 또는 ovs- multitenant 플러그인을 사용하는지에 따라 약간 다르지만 다음과 같은 일반적인 사항을 찾을 수 있습니다.
-
모든 원격 노드에는
tun_src=<node_IP_address>
(해당 노드에서 들어오는 VXLAN 트래픽의 경우)와set_field:<node_IP_address>->tun_dst
(해당 노드로 나가는 VXLAN 트래픽의 경우)와 일치하는 흐름이 있어야 합니다. -
모든 로컬 Pod에는
arp_spa=<pod_IP_address> 및
(해당 Pod의 수신 및 발신 ARP 트래픽의 경우)와 일치하는 흐름이 있어야 하며arp_tpa=<
pod_IP_address>nw_src=<pod_IP_address>와 일치하는 흐름이 있어야 합니다. 및
nw_dst=<pod_IP_address>
(해당 Pod에 대해 들어오고 나가는 IP 트래픽의 경우).
흐름이 누락된 경우 39.10절. “로그 읽기” 섹션을 참조하십시오.
39.7.4.1. iptables
구성이 올바릅니까?
iptables-save
의 출력을 확인하여 트래픽을 필터링하지 않는지 확인합니다. 그러나 OpenShift Container Platform은 정상적인 작업 중에 iptables 규칙을 설정하므로 여기에서 항목을 볼 수 있습니다.