美文网首页
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