Calico

Calico

Calico没有使用CNI的网桥模式,而是将节点当成边界路由器,组成了一个全连通的网络,通过BGP协议交换路由。所以,CalicoCNI插件还需要在宿主机上为每个容器的Veth Pair设备配置一条路由规则,用于接收传入的IP包。Calico的组件:

  • CNI插件:CalicoKubernetes对接的部分。
  • Felix:负责在宿主机上插入路由规则(即:写入Linux内核的FIB转发信息库,以及维护Calico所需的网络设备等工作。
  • BIRD (BGP Route Reflector):是BGP的客户端,专门负责在集群里分发路由规则信息。

三个组件都是通过一个DaemonSet安装的。CNI插件是通过initContainer安装的;而FelixBIRD是同一个pod的两个container