Calico网络模型

Calico网络模型本次测试使用的k8s平台,默认开启节点全互联模式,使用IPIP,模式为Always,即不管是否跨子网,均使用IPIP模式进行通信[root@bgp-master1bgp]#calicoctlnodestatusCalicoprocessisrunning.IPv4BGPstatus++-+-++-+|PEERADDRESS|PEERTY..

Calico网络模型"

本次测试使用的k8s平台,默认开启节点全互联模式,使用IPIP,模式为Always,即不管是否跨子网,均使用IPIP模式进行通信

[root@bgp-master1 bgp]# calicoctl node status

Calico process is running.

IPv4 BGP status
+--------------+-------------------+-------+----------+-------------+
| PEER ADDRESS |     PEER TYPE     | STATE |  SINCE   |    INFO     |
+--------------+-------------------+-------+----------+-------------+
| 172.20.42.81 | node-to-node mesh | up    | 09:00:00 | Established |
| 172.20.42.82 | node-to-node mesh | up    | 09:00:01 | Established |
+--------------+-------------------+-------+----------+-------------+

IPv6 BGP status
No IPv6 peers found.

[root@bgp-master1 bgp]# calicoctl get ippool -o wide

NAME           CIDR             NAT    IPIPMODE   VXLANMODE   DISABLED   SELECTOR   
default-pool   10.233.64.0/18   true   Always     Never       false      all()

查看本机的路由规则为:
[root@bgp-master1 bgp]# ip route

10.233.87.0/24 via 172.20.42.81 dev tunl0 proto bird onlink
10.233.124.0/24 via 172.20.42.82 dev tunl0 proto bird onlink 
blackhole 10.233.94.0/24 proto bird 
10.233.94.1 dev cali36dac03ac5d scope link 
10.233.94.2 dev cali05c862e5940 scope link 

注:本机IP地址为172.20.42.80/22

本机通信

10.233.94.1 dev cali36dac03ac5d scope link 

cali36dac03ac5d是一个Veth Pair( https://blog.csdn.net/weixin_42758299/article/details/121356921?spm=1001.2014.3001.5501#t3),一端在宿主机,一端在容器内,由calico创建,表示如果一个请求的目标IP地址为10.233.94.1,直接通过cali36dac03ac5d发出,容器内部也就直接接收到请求

跨主机通信

10.233.87.0/24 via 172.20.42.81 dev tunl0 proto bird onlink

表示目的IP地址为10.233.87.0/24网段的,下一跳为172.20.42.81(pod所在的节点的ip地址),因为使用的是IPIP Always模式,所以会通过tunl0接口发出。
tunl0设备
是一个IP隧道设备,IP 包进入 IP 隧道设备之后,就会被 Linux 内核的 IPIP驱动接管,IPIP 驱动会将这个 IP 包直接封装在一个宿主机网络的 IP 包中,经过封装后的新的 IP 包的目的地址,就是源IP包的下一跳地址,也就是上面的172.20.42.81,原 IP 包本身,则会被直接封装成新 IP 包的 Payload。因为宿主机与172.20.42.81是互通的,不管是二层通还是三层通,必定是可以将IP包传递过去的。当172.20.42.81主机接收到IP包后,172.20.42.81主机网络内核栈会使用 IPIP 驱动进行解包,从而拿到原始的 IP 包,然后跟本机通信一样,经过Veth Pair将请求发送给目标容器。

blackhole

blackhole 10.233.94.0/24 proto bird 

10.233.94.0/24为分配给本机的容器的ip地址,bgp共享路由的时候就是把这个网段发给对方
 

今天的文章Calico网络模型分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30434.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注