导语:集群内部 访问svc+port 特别慢 排查原因

现象如图

归因:flannel网络设置将发送端的checksum打开了,但是flannel想利用了Checksum offloading的机制,自己不计算checksum,想留给网卡硬件来计算,这样的目的是不消耗CPU,利用网卡硬件分担CPU消耗,这原本是没问题的,但是flannel下层还有个ens33,这个ens33才是真的NIC,但是对ens33来说,从flannel发过来的是属于报文,ens33是否会对上层协议报文进行校验,然后将值填写到udp层报文内容去呢?这个我感觉不会,如果会的话,还要再了解下flannel的虚拟网络及硬件网卡之间的offloadinig机制。

需要添加如下参数

ethtool -K flannel.1 tx-checksum-ip-generic off

参考

https://blog.csdn.net/comeyes/article/details/106123409

https://t.du9l.com/2020/03/kubernetes-flannel-udp-packets-dropped-for-wrong-checksum-workaround/

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐