同routable子网内多节点虚拟IP的Linux路由机制及有效性咨询
routable子网内多节点虚拟IP的Linux路由机制及有效性咨询
我遇到了一个自己搞不懂的运行场景(运气太差了,我懂的)。
我有一个由3个节点组成的集群,每个节点都有一块物理网卡(ens4),分配了独立的IP地址,比如10.10.20.210。所有节点的IP都属于同一个子网,比如10.10.20.0/24。
在所有3个节点上,我都配置了一块虚拟网卡(kube-ipvs0),分配了一个IP地址(比如10.10.20.205),这个IP也属于可路由的10.10.20.0/24子网。
以下是网卡的详细信息:
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000 link/ether fa:16:3e:7b:f8:9c brd ff:ff:ff:ff:ff:ff inet 10.10.20.210/24 brd 10.10.20.255 scope global dynamic ens4 valid_lft 86112sec preferred_lft 86112sec inet6 fe80::f816:3eff:fe7b:f89c/64 scope link valid_lft forever preferred_lft forever 6: kube-ipvs0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default link/ether 7e:49:81:e2:bb:f7 brd ff:ff:ff:ff:ff:ff inet 10.10.20.205/32 scope global kube-ipvs0 valid_lft forever preferred_lft forever
目前没有通过BGP为这个虚拟IP地址/子网做路由宣告(因为它本身就属于可路由子网)。
我不需要知道具体是哪个节点,就能访问到这个虚拟IP(每个节点都运行kube-proxy/IPVS,会把虚拟IP DNAT到目标Pod的IP),但我搞不懂这背后的路由机制/依据是什么(毕竟虚拟网卡上设置了NOARP)。我使用的是Ubuntu 20.04系统。
我有几个问题:
- 这种情况下路由是如何工作的?有没有什么可以查看的路由表能分享一下?
- 这个路由场景是否合法有效?
背景说明:我的想法是避免使用真实的虚拟子网以及相关的路由宣告(比如用BGP的方式)。
Best,
Richard
备注:内容来源于stack exchange,提问作者Richard
相关产品推荐
相关产品推荐

