项目场景:
calico-node日志提示
Failed to auto-detect host MTU - no interfaces matched the MTU interface pattern. To use auto-MTU, set mtuifacePattern to match your hosts's interfaes.
同时,cali开头网卡的mtu是1440大小
原因分析:
搜索calico源码,查看日志出处:
https://github.com/projectcalico/calico/blob/master/felix/dataplane/linux/int_dataplane.go#L1004
源码查看到,如果matchRegex为nil,就continue,最后没匹配返回1460.
解决方案:
bash
kubectl edit ds calico-node -n kube-system -o yaml
新增如下配置:
bash
# 根据网卡实际情况填写
- name: FELIX_MTUIFACEPATTERN
value: ^((enP).*)
修改后,calico-node自动滚动更新。
问题主机,已经存在的cali网卡,MUT值不是自动调整,需要重启对应的pod服务,重新生成。