overlay和softlight混合模式(Calico网络插件之underlay和overlay网络)
overlay和softlight混合模式(Calico网络插件之underlay和overlay网络)Calico的基本组件:由于Calico是基于三层的解决方案,所以不要求所有节点在同一个大二层之内(当然BGP模式还是要求数据中心内部中间节点的路由器都支持BGP协议),也不存在随着容器增加而带来的大量mac广播风暴,数据中心mac地址广播流量只和Kubernetes节点数目有关,和容器的多少无关。Calico作为Kubernetes的CNI插件可以支持underlay和overlay模式的网络互联。Calico主要有两种互联模式,一种是基于IPIP封装的overlay模式,另外一种是基于BGP路由的underlay模式。BGP协议主要由两种方式:BGP Speaker 全互联模式(node-to-node mesh)与BGP Speaker RR模式。但是Calico的基于underlay路由的网络模式要求网络基础设施对于BGP协议要有支持,所以在私有数据中心进行部署是最佳场景。
一、underlay和overlay网络underlay是底层网络,现实的物理基础层网络设备,负责互联互通。
underlay就是数据中心场景的基础物理设施,保证任何两个点路由可达,其中包含了传统的网络技术。
overlay 一个基于物理网络之上构建的逻辑网络。是基于隧道技术实现的,overlay的流量需要跑在underlay之上。
overlay网络节点通过虚拟或者逻辑链路进行通信,其实现基于ip技术的基础网络为主。
二、Calico网络插件Calico作为Kubernetes的CNI插件可以支持underlay和overlay模式的网络互联。
Calico主要有两种互联模式,一种是基于IPIP封装的overlay模式,另外一种是基于BGP路由的underlay模式。
BGP协议主要由两种方式:BGP Speaker 全互联模式(node-to-node mesh)与BGP Speaker RR模式。但是Calico的基于underlay路由的网络模式要求网络基础设施对于BGP协议要有支持,所以在私有数据中心进行部署是最佳场景。
由于Calico是基于三层的解决方案,所以不要求所有节点在同一个大二层之内(当然BGP模式还是要求数据中心内部中间节点的路由器都支持BGP协议),也不存在随着容器增加而带来的大量mac广播风暴,数据中心mac地址广播流量只和Kubernetes节点数目有关,和容器的多少无关。
Calico的基本组件:
- Felix:运行在每个Calico节点上,根据容器的网络配置需求,配置Calico节点上的路由信息以及ACL等信息。
- etcd:存储Calico控制面网络状态。
- BIRD(BGP Client):将Felix维护的本地路由信息发放到Calico控制面网络中,保证跨节点的路由联通。
- BGP Router Relfector:中心化的路由控制中心,大规模部署情况下可以由多个RR完成集中式路由管理和分发;跨机房部署也可以借助BGP RR进行集中式路由同步。
Calico依赖etcd进行状态存储和管理,所以一个高可用的etcd集群是必须的前提条件。