问题背景
参考资料[1],问题初始现象是:VMWare
虚拟化环境下Pod
跨VXLAN
通信异常。
通过资料[2]可知,临时方案有2
个:
方案1:调整网卡的配置:
1 | ethtool -K vxlan.calico tx-checksum-ip-generic off |
方案2:在创建虚拟机时,把网络适配器的类型改为 E1000
或E1000e
:
解决方案
最近在跟踪相关issue
[3,4]时发现,还有2
个方案可以解决该问题(未实际测试验证)。
方案1:如果是flanne
网络插件,可以使用如下命令临时解决:
1 | iptables -A OUTPUT -p udp -m udp --dport 8472 -j MARK --set-xmark 0x0 |
方案2:如果是calico
网络插件,可以使用如下特性门永久解决:
1 | featureDetectOverride: "ChecksumOffloadBroken=true" |