使用Cilium进行Kubernetes组网时,其他各节点间通信正常,但是各节点与使用网迅网卡的服务器存在连接性问题,具体表现为cilium-health工具显示到所有非网迅网卡的node的ICMP和HTTP正常,但是到其他节点的endpoint仅ICMP正常,HTTP不正常;导致集群内无法正常进行DNS和TCP通信。

系统版本 | OpenEuler 22.03 SP4 |
内核版本 | 5.10.0-249.0.0.152.oe2203sp4.x86_64 |
CPU | Hygon C86 5380 |
服务器 | 浪潮英政服务器CS5260H2 |
网卡 | 板载网迅WX1860A2 |
综合前人的研究,此问题为网卡驱动vxlan offload模块错误的处理了TCP和UDP流导致,出现问题的驱动版本号为1.2.2。通过手动编译安装最新版的官网驱动1.2.6.5可以解决。
安装最新驱动需要在root环境下执行
dnf update
dnf install kernel-devel kernel-headers make gcc
wget https://www.net-swift.com/uploads/20250123/网迅千兆网卡Linux%20PF驱动源码.zip
unzip 网迅千兆网卡Linux%20PF驱动源码.zip
cd 网迅千兆网卡Linux\ PF驱动源码
unzip ngbe-1.2.6.5.zip
cd ngbe-1.2.6.5/src
make
make install
重启,然后可以通过ethtool -i eno1查看是否为1.2.6.5版本驱动,确认驱动版本正确后,问题解决。
以下方法已经尝试,无用,但可作为参考
- https://github.com/openeuler-mirror/community/issues/2
- https://gitee.com/openeuler/community/issues/I4JVUZ
总结一下:ePBF是非常新的技术,出现问题往往难以调试,特别是在信创环境下缺乏足够多的工具。但效率与数据可视化效率确实远远高于传统的CNI。
文章评论