kube-ovn
kube-ovn copied to clipboard
kube-ovn 下某些pod一直出现丢包
Bug Report
kube-ovn 下某些pod一直出现丢包,container_network_receive_packets_dropped_total{} 可以看到pod一直在丢包,但是我tcpdump的时候又不丢包,无法确定是什么丢包
Expected Behavior
无丢包
Actual Behavior
一个deployment下有的pod会出现丢包
Steps to Reproduce the Problem
Additional Info
-
Kubernetes version:
Output of
kubectl version
:1.20.1
-
kube-ovn version:
1.11.9
-
operation-system/kernel version:
CentOS Linux 7 (Core) 5.4.231-1.el7.elrepo.x86_64
-
Any other additional information kube-ovn是使用脚本一键部署的, 1.11.9版本,pod没有任何访问,只开启了健康检查,但是监控上看丢包数据一直上涨
ovs-ovn下的ovs-vswitchd.log日志如下 |ofproto_dpif_xlate(handler3)|WARN|Dropped 1 log messages in last 30 seconds (most recently, 30 seconds ago) due to excessive rate |ofproto_dpif_xlate(handler3)|WARN|dropping packet received on port mirror0, which is reserved exclusively for mirroring on bridge br-int while processing in_port=33,vlan_tci=0x0000,dl_src=ba:4c:1d:c5:3c:94,dl_dst=01:80:c2:00:00:0e,dl_type=0x88cc
麻烦再补充些信息呗,比如kube-ovn怎么部署的,什么版本,pod 的源和目的都在那里,是否跨节点,节点间网卡是否存在丢包。
tcpdump 本身就影响网络性能,可能速度下来之后就没有丢包了。
麻烦再补充些信息呗,比如kube-ovn怎么部署的,什么版本,pod 的源和目的都在那里,是否跨节点,节点间网卡是否存在丢包。
tcpdump 本身就影响网络性能,可能速度下来之后就没有丢包了。
kube-ovn是使用脚本一键部署的, 1.11.9版本,underlay模式,pod没有任何访问,只开启了健康检查,但是监控上看丢包数据一直上涨
用 1.11.16 试试呢? 健康检查具体是啥?监控是什么方案啊?
用 1.11.16 试试呢? 健康检查具体是啥?监控是什么方案啊?
就是http的健康检查,监控就是采用Promethus
所有应用都这样嘛? 换其他的应用试试呢?比如httpd,看看能不能复现
所有应用都这样嘛? 换其他的应用试试呢?比如httpd,看看能不能复现
有的应用有问题,而且一个deployment的多个pod可能有几个pod有问题,也和宿主机没啥联系
HTTP 方式的健康检查就是主机网络里的 kubelet 向 Pod 发送 HTTP 请求。
container_network_receive_packets_dropped_total{} 里应该是有网卡名称的吧?是 Pod 里的 eth0 吗?
建议在 Pod netns 里对 eth0 抓包,同时在主机网络里对应的 veth 抓包,对比一下是什么包触发了 RX DROP。
HTTP 方式的健康检查就是主机网络里的 kubelet 向 Pod 发送 HTTP 请求。
container_network_receive_packets_dropped_total{} 里应该是有网卡名称的吧?是 Pod 里的 eth0 吗?
建议在 Pod netns 里对 eth0 抓包,同时在主机网络里对应的 veth 抓包,对比一下是什么包触发了 RX DROP。
你好,我使用tcpdump多eth0抓包后,丢包就不会出现了,但是停止后就会继续丢包,从网卡上看的确是存在丢包
eth0 Link encap:Ethernet HWaddr 00:00:00:63:0A:1E inet addr:10.25.153.124 Bcast:10.25.159.255 Mask:255.255.240.0 inet6 addr: fe80::200:ff:fe63:a1e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:75373 errors:0 dropped:1750 overruns:0 frame:0 TX packets:13664 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8424120 (8.0 MiB) TX bytes:1790179 (1.7 MiB)
使用tcpdump多eth0抓包后,丢包就不会出现了,但是停止后就会继续丢包
如果不对 pod eth0 抓包,但对主机网络里对应的 veth peer 抓包呢?会出现丢包吗?
从你描述的现象来看,这不属于 CNI 的问题,建议更换稳定版本的内核。
主机上veth peer抓包没发现啥异常,pod内 通过脚本分析ifconfig eth0 查看,发现每30s丢包数会加1 ,咱们cni组件会有相关的探测pod逻辑吗
我也遇到类似问题
Issues go stale after 60d of inactivity. Please comment or re-open the issue if you are still interested in getting this issue fixed.