团队,
我在 k8s 工作节点上安装了 Mellanox Nic ConnectX-4,并在其上托管了一个 nodeLocal dns pod。nodeLocalDns pod 在尝试连接到 k8s 集群上的 coreDns 服务时超时。
在 Ubuntu18 上同样有效。
版本失败
k8s v1.13.5 Baremetal
Ubuntu 20.04.4 LTS
kernel 5.4.0-100-generic
docker://19.3.13
下面效果很好。
k8s v1.13.5 Baremetal
Ubuntu 18.04.2 LTS
kernel 4.15.0-45-generic
docker://18.9.2
有什么提示可以让我调试这个吗?我在日志中找不到任何线索。
错误来自 nodeLocalDNS pod日志。
A: dial tcp 100.60.3.4:53: i/o timeout
上面是 coreDns 服务,可以从 nodeLocalDns pod ping 通,但无法连接到 dns 端口。
答案1
这是一个互操作性问题,我们通过禁用节点 NIC 上的校验和来修复该问题。执行以下命令后,pod 网络开始工作。这仅适用于 mellanix ConnectX-4。ConnectX-5 未出现同样的情况
ethtool -K ens1 rx on tx off