![将基础操作系统升级到 ubuntu20.04 ConnectX-4 卡后,K8s nodeLocalDns pod 连接 coreDns 超时](https://linux22.com/image/775693/%E5%B0%86%E5%9F%BA%E7%A1%80%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8D%87%E7%BA%A7%E5%88%B0%20ubuntu20.04%20ConnectX-4%20%E5%8D%A1%E5%90%8E%EF%BC%8CK8s%20nodeLocalDns%20pod%20%E8%BF%9E%E6%8E%A5%20coreDns%20%E8%B6%85%E6%97%B6.png)
团队,
我在 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