09.kubernetes 部署calico / flannel网络插件

脚本中实现了 calico 和 flannel 这两种主流的网络插件,选择其中一种部署即可

1、calico

calico架构

Calico是一个三层的虚拟网络解决方案,它把每个节点都当作虚拟路由器(vRouter),并把每个节点上的Pod都当作是节点路由器后的一个终端设备并为其分配一个IP地址。各节点路由器通过BGP协议学习生成路由规则,从而实现不同节点上Pod间的互联互通。

BGP是互联网上一个核心的去中心化自治路由协议,它通过维护IP路由表或前缀表来实现自治系统(AS)之间的可达性,通常作为大规模数据中心维护不同的自治系统之间路由信息的矢量路由协议。Linux内核原生支持BGP,因而我们可轻易把一台Linux主机配置成为边界网关。

Calico把Kubernetes集群环境中的每个节点上的Pod所组成的网络视为一个自治系统,而每个节点也就自然由各自的Pod对象组成虚拟网络,进而形成自治系统的边界网关。各节点间通过BGP协议交换路由信息并生成路由规则。

但考虑到并非所有网络都能支持BGP,而且BGP路由模型要求所有节点必须要位于同一个二层网络,所以Calico还支持基于IPIP和VXLAN的Overlay网络模型,它们的工作模式与Flannel的VXLAN和IPIP模型并无显著不同。

类似Flannel在VXLAN后端启用DirectRouting时的网

你可能感兴趣的:(Kubernetes入门实战,kubernetes,网络,php)