本文分享自华为云社区《【理解云容器网络】0-overlay和underlay容器网络》,作者:可以交个朋友。
underlay容器网络
在容器的上下文环境下,underlay容器网络代表承载容器的虚拟机或者物理机网络环境能够识别、转发容器ip。
- 开源网络插件方案如Flannel的host-gw模式、calico的bgp模式,容器网络可以不通过隧封装,依托于网络插件只能功能(增加路由表)和网络要求(kubernetes管理的节点在同一子网,不跨三层)。
- 云厂商致力于将容器网络和VPC网络扁平化,一般有两种方式:
方式一:将每个节点容器小子网注入VCP路由表中,通过注入路由表方式,使得VPC内的ECS、容器可以访问容器ip
方式二:直接从VPC中分配ip给容器,
overlay容器网络
在容器的上下文环境下,overlay容器网络代表承载容器的虚拟机或者物理机网络环境本身不能够识别、转发容器ip,需要通过每个虚拟机或者物理机上的封包、解包进程处理再转发给容器。
开源网络插服务器托管网件方案如Flannel的vxlan模式、calico的ipip模式,容器网络通过隧道封装,只要求kubernetes管理的节点三层网络可达。
可以简单看一下flannel vxlan的报文体会一下封装。
物理机上看到的就是标准的二层包:mac层、ip层、数据包内容,只不过物理机看到的数据包里面又有一个完整的二层包,这个二层包。客户端容器在发出请求后,客户端物理机上的flanneld进程,会对这个报文进行封包(至于如何获取到对端的容器的mac地址、如何得知对端容器所在的节点ip,暂时不用纠结)变成vxlan报文,物理机网卡设备和底层网络三层可达使得报文可以发送到对端物理机。服务端物理机网卡收到报后,根据UDP默认端口,网络协议栈将数据包丢给本无物理机上flanneld进程处理。flanneld拆包后,根据真是对端容器ip,将报文转到服务端容器中。
区别
overlay容器网络只要求节点网络三层互通即可,但是存在封装、解封装过程,带来一定性能损耗。云厂商均大力发展underlay容器网络,使得容器网络具有直通能力,比如ELB直通容器,容器直接绑eip等。
点击关注,第服务器托管网一时间了解华为云新鲜技术~
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
经典的设计模式有23种,但是常用的设计模式一般情况下不会到一半,我们就针对一些常用的设计模式进行一些详细的讲解和分析,方便大家更加容易理解和使用设计模式。 23种经典的设计模式分为三类:创建型、结构型、行为型。前面我们已经学习了创建型和结构型,从今天起,我们开…