时间:2024-12-12 08:42:01
容器技术很火,常常为人所提到,特别是在是开源容器工具docker,已在不少数据中心里有广泛应用。容器主要是对软件和其倚赖环境的标准化包,将应用于之间互相隔绝,并能运营在很多主流操作系统上。这样显然容器和虚拟机技术很类似于,容器是APP层面的隔绝,而虚拟化是物理资源层面的隔绝,容器解决问题了虚拟世界技术的不少痛点问题,很多时候容器可以和虚拟机融合在一起用于,这也是目前数据中心主流的作法。
容器的来临给数据中心网络明确提出了一些新的挑战,为了兼容容器,网络部分也必须随之调整,所以环绕容器产生了很多有所不同的网络解决方案,本文主要来讲解一下几种容器网络方案技术。CallicoCallico容器网络和其他虚拟世界网络仅次于的有所不同是,它没使用overlay网络做到报文发送,获取了显三层网络模型。
三层通信模型回应每个容器都通过IP必要通信,中间通过路由发送寻找对方,容器所在节点类似于传统路由器,获取了路由查询功能,要想要路由工作需要长时间,每个容器所在的主机节点必需有某种方法告诉整个集群的路由信息,Callico使用BGP路由协议,全称是BorderGatewayProtocol。通过BGP,使得全网所有的Node和网络设备都记录到全网路由,可以看见这种方式不会产生很多的违宪路由,对网络设备路由规格拒绝较小,整网无法有路由规格较低的设备。
BGP是一种成熟期的网络路由协议,在传统网络中就有普遍用于,如此网络部分天然就可以对Callico展开反对,只不过对网络路由规格拒绝低一些。另外,Callico构建了从源容器经过源宿主机,经过数据中心路由,然后抵达目的宿主机,最后分配到目的容器过程,整个过程中一直都是根据BGP协议展开路由发送,并没展开封包,解包过程,这样发送效率就不会更快。所以,往往技术就越修改,继续执行效率就越高效,这是Callico容器网络的技术优势。FlannelFlannel是CoreOS明确提出用作解决问题容器集群横跨主机通讯的网络解决方案。
Flannel实质上是一种覆盖面积网络Overlaynetwork,也就是将TCP数据纸盒在另一种网络包在里面展开路由发送和通信,目前已反对UDP、VXLAN、AWSVPC、GCE路由等数据发送方式,其中以VXLAN技术尤为风行,很多数据中心在考虑到引进容器时,也考虑到将网络转换到Flannel的VXLAN网络中来。Flannel为每个主机分配一个subnet,容器从此subnet中分配IP,这些IP可在主机间路由,容器间需要NAT和端口映射就可以横跨主机通讯。Flannel让集群中有所不同节点主机创立容器时都具备仅有集群唯一虚拟世界IP地址,并相连主机节点网络。
Flannel可为集群中所有节点新的规划IP地址用于规则,从而使得有所不同节点上的容器需要取得“同属一个内网”且“不反复的”的IP地址,让有所不同节点上的容器需要必要通过内网IP通信,网络PCB部分对容器是不可见的。源主机服务将原本数据内容UDPPCB后根据自己的路由表投递给目的节点,数据抵达以后被解包,然后必要转入目的节点虚拟世界网卡,然后必要超过目的主机容器虚拟世界网卡,构建网络通信目的。
Flannel虽然对网络拒绝较高,要引进PCB技术,发送效率也受到影响,但是却可以光滑过渡到SDN网络,VXLAN技术可以和SDN很好地融合一起,有一点整个网络构建自动化部署,智能化运维和管理,这也是网络技术发展的方向。所以,Flannel抛弃了传统网络,几乎新建一套覆盖面积网络来反对容器,较适合于新建数据中心网络部署。WeaveWeave实质上也是覆盖面积网络,Weave可以把有所不同主机上容器相互相连的网络虚拟世界成一个类似于本地网络的网络,有所不同主机之间都用于自己的私有IP地址,当容器产于在多个有所不同的主机上时,通过Weave可以修改这些容器之间的通信。Weave网络中的容器用于标准的端口获取服务(如MySQL配置文件用于3306),管理微服务是十分必要非常简单的。
每个容器都可以通过域名来与另外的容器通信,也可以必要通信而需要用于NAT,也不必须用于端口映射或者简单的连接起来。部署Weave容器网络仅次于的益处是需要改动你的应用于代码。
Weave通过在容器集群的每个主机上启动虚拟世界路由器,将主机作为路由器,构成互联互通的网络拓扑,在此基础上,构建容器的跨主机通信。要部署Weave必须保证主机Linux内核版本在3.8以上,Docker1.10以上,主机间采访如果有防火墙,则防火墙必需彼此盘查TCP6783和UDP6783/6784这些端口号,这些是Weave掌控和数据端口,主机名无法完全相同,Weave要通过主机名辨识子网。Weave网络类似于主机Overlay技术,必要在主机上展开报文流量的PCB,从而构建主机到主机的跨Underlay三层网络的会晤,这是和Flannel网络的仅次于区别,Flannel是一种网络Overlay方案。三种容器网络方案,限于于有所不同的应用于场景,就看数据中心如何自由选择了,从难易度上来讲,Callico最简单,其次Flannel,Weave最简单,从网络技术来看,Weave和Flannel都是网络PCB技术,区别在于PCB的方位在网络设备上还是主机上。
右图所列了下三种容器网络方案的特点对比:从物理机到虚拟机,再行到容器,这是服务器虚拟化技术发展的必然趋势,容器解决问题虚拟机的用于容许,但也将网络引进更加简单的境地,数据中心网络要去适应环境这种变化,要去兼容容器,所以才经常出现了这么多种容器网络方案,这些方案都是为容器而生,从网络层面去兼容容器,是数据中心向容器演化所必需的。
本文来源:米兰体育app下载安装-www.mountainofbeer.com