美文网首页
node 访问pod不通的问题

node 访问pod不通的问题

作者: cloudFans | 来源:发表于2021-12-28 09:29 被阅读0次

    环境:

    3 mst 2 worker

    node 双网卡

    node eth0:默认路由在eth0 ,k8s管理网络,node访问svc ,pod经过node访问svc,以及pod回包给node都会经过eth0

    pod eth1:pod 访问pod需要经过 eth1的网关

    目前基于kube-ovn 无安全组模式提供vpc网络,vpc建了两个子网,一个给node使用,一个给pod使用,两个子网都有网关:即使用了vpc双网关。

    ########## 表现描述

    k8s集群中始终存在大概1/4的pod 在node无法ping通,其余3/4始终正常。
    而且:
    1、 node ping不通的pod和node无绑定关系,即: ping不通的pod存在于多个node节点,node节点上同时存在可以ping通和无法ping通的pod

    2、和ip无关,node ping不通的pod 并不是某些特殊ip,也不是某一个ip

    ######### 测试以及恢复表现

    1. 本来node ping 不通pod, traceroute 看 是路由环路,跳数用尽
    2. 然后在pod ping 所有node 可以通,
    3. 然后重复1, 又可以通了

    ########1. 网络情况

    L1

    image.png

    L2

    image.png image.png

    #########2. 测试过程

    起初无法ping通

    image.png

    可以看到包过网关后,转发到一个无关节点

    image.png

    可以确定应该不是arp错乱的问题,测试前后该arp都不在node维护

    image.png

    arp也没维护在node里面

    image.png

    应该是跨了网关,所以没有维护对应的arp记录。

    在pod内部ping完node后,又可以通了

    image.png

    解决方式

    vpc 内部只使用一个vpc网关,可以基于一个大的子网进一步划分子网段,每个网卡对应于一个ip段(子网)。

    双网关的设计,跨网段就要走网关转发一次,在vpc内部是可以不用走网关转发这一跳的,所以双网关比起单网关转发效率较低。

    其次 在sdn框架下,会出现网关转发错误的问题。

    调整为单网关可以不存在跨网关转发,当然也可以避免网关转发错误。

    相关文章

      网友评论

          本文标题:node 访问pod不通的问题

          本文链接:https://www.haomeiwen.com/subject/imzuqrtx.html