kube-ovn kubevirt 虚拟机不通

157 阅读2分钟

两个虚拟机同时创建,但是一个通,一个不通

image.png

重建后,也是同样的情况

image.png


# k ko nbctl list logical_switch_port  | grep -C 7 xhr


_uuid               : dfab2849-54ac-412a-860f-8a46c62bb5e4
addresses           : ["76:e8:1a:1f:62:5a 10.251.175.46 2409:8c20:1833:2000::afb:af24"]
dhcpv4_options      : 36321bb3-91ee-4371-b3b0-2b8cb4fcf5a5
dhcpv6_options      : 3a1b39bb-7188-47f3-9de2-7b57c848d8d1
dynamic_addresses   : []
enabled             : []
external_ids        : {ls=subnet2019, pod="cn01/xhr-server", vendor=kube-ovn}
ha_chassis_group    : []
mirror_rules        : []
name                : xhr-server.cn01.attachnet.default.ovn
options             : {}
parent_name         : []
port_security       : []
tag                 : []
tag_request         : []
type                : ""
up                  : true
--

_uuid               : a0da1984-726c-4147-937c-419a8aeb6903
addresses           : ["56:25:d5:15:9a:05 10.251.175.36 2409:8c20:1833:2000::afb:af3b"]
dhcpv4_options      : 36321bb3-91ee-4371-b3b0-2b8cb4fcf5a5
dhcpv6_options      : 3a1b39bb-7188-47f3-9de2-7b57c848d8d1
dynamic_addresses   : []
enabled             : []
external_ids        : {ls=subnet2019, pod="cn01/xhr-client", vendor=kube-ovn}
ha_chassis_group    : []
mirror_rules        : []
name                : xhr-client.cn01.attachnet.default.ovn
options             : {}
parent_name         : []
port_security       : []
tag                 : []
tag_request         : []
type                : ""
up                  : true
--

已经确认过没有安全组,而且安全组不限制 arp,所以直接在 虚拟机所在节点以及同网段内建一个 pod,直接 arping,发现确实没有回包。

image.png

进入 虚拟机 pod 的 ns,抓包看下是否进来 arp包。

eth0 在 ovn-default 是正常的,所以不是 pod 的问题,net1 的 arp 包根本就没进 pod ns。

抓下虚拟机出去的包

确实 arp 的包有出来

但是没有到 网桥

image.png

关于 ip 的流表是一致的

image.png

关于 mac 的流表也是一致的

image.png

路由有区别

image.png

image.png

但不是这里的影响, underlay 的流量是直通的。

小结:

尝试了下:

  1. 基于 pod 在该物理机创建,使用同样的 v4 ip ,网络没有问题
  2. 基于其他 vm 镜像在该物理机创建,使用同样的 v4,v6 ip, 网络没有问题
  3. 基于该虚拟机 重复关机,开机,每次都能稳定复现。 怀疑是单个虚拟机粒度的问题。