背景
k8s-1.22.5集群,部分计算节点升级国产操作系统之后,重新部署加入集群之后,出现部分节点上的容器无法使用svc地址访问其他服务的情况
排查
首先排查了kube-proxy,kube-dns,calico,均未发现异常。然后按照下面的思路进行排查:
1、检查问题主机出口规则,没问题
2、如图,在问题节点上,尝试telnet kubedns地址53端口,发现到kubedns是不通的,正常应该能通才对
3、使用正常的容器和不正常节点的容器尝试访问,抓包发现,不正常的节点没有回包,但是看不出问题原因
4、考虑只是升级国产操作系统,其他并未改变,怀疑是兼容性问题,检查网卡型号,发现异常节点和正常的节点的网卡型号存在差异,异常节点的网卡型号均为Intel Corporation Ethernet Connection X722 (rev 09)
,存在规律。
5、查看网卡Offload参数的状态
关闭网卡发送包校验后,问题恢复
ethtool -K eth0 tx off