一个历史k8s维护碰到的一些网络问题说明

最近在处理一个历史k8s 环境的调整,碰到一个问题,整理下

docker 相关

docker 1.12 之后 iptables FORWARD DROP, 解决方法是添加iptables -P FORWARD ACCEPT,可以通过systemd 的
ExecStartPost 解决,ExecStartPost=/sbin/iptables -P FORWARD ACCEPT

linux 内核相关

这个是自己实际碰到的

  • net.ipv4.ip_forward 必须开启 
    当然这个问题不大,我们环境是开启的,可以检查下,不然影响网络访问
  • net.ipv4.tcp_tw_recycle 
    因为我们的网络是在nat 中的,此参数默认是0 ,不能为1,否则会有莫名的问题,可以通过netsat 或者ss 等工具查看,同时也可以结合tcpdump 分析 
    关于tcp_tw_recycle 参数,实际上网上也有不少介绍资料

参考资料

https://kubernetes.feisky.xyz/troubleshooting/network
https://github.com/flannel-io/flannel/pull/978
https://mohakkataria.github.io/the-curious-case-of-tcp_tw_recycle/
https://tech.ebayinc.com/engineering/a-vip-connection-timeout-issue-caused-by-snat-and-tcp-tw-recycle/

posted on 2022-11-29 10:39  荣锋亮  阅读(74)  评论(0编辑  收藏  举报

导航