y69.第三章 Kubernetes从入门到精通 -- k8s网络(四二)

16.3.2 calico

官网:https://www.projectcalico.org/

Calico是一个纯三层的网络解决方案,为容器提供多node间的访问通信,calico将每一个node节点都当做为一个路由器(router),各节点通过BGP(Border Gateway Protocol) 边界网关协议学习并在node节点生成路由规则,从而将不同node节点上的pod连接起来进行通信。

calico简介:
网络通过第3层路由技术(如静态路由或BGP路由分配)或第2层地址学习来感知工作负载IP地址。因此,它们可以将未封装的流量路由包作为最终目的地的端点的正确主机。但是,并非所有网络都能够路由工作负载IP地址。例如公有云环境、跨VPC子网边界的AWS,以及无法通过BGP、Calico对应到underlay网络或无法轻松配置静态路由的其它场景,这就是为什么Calico支持封装,因此您可以在工作负载之间发送流量,而无需底层网络知道工作负载IP地址。

calico封装类型:
Calico支持两种类型的封装:VXLAN和IP-in-IP,VXLAN在IP中没有IP的某些环境中受支持(例如Azure),VXLAN的每数据包开销稍高,因为报头较大,但除非您运行的是网络密集型工作负载,否则您通常不会注意到这种差异。这两种封装之间的另一个小差异是Calico的VXLAN实现不使用BGP,Calico的IP-in-IP是在Calico节点之间使用BGP协议实现跨子网。

BGP是一个去中心化的协议,它通过自动学习和维护路由表实现网络的可用性,但是并不是所有的网络都支持BGP,另外为了跨网络实现更大规模的网络管理,calico 还支持IP-in-

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/124971917