写点什么

0-overlay 和 underlay,这两种容器网络你分得清吗

  • 2024-02-18
    广东
  • 本文字数:821 字

    阅读完需:约 3 分钟

0-overlay和underlay,这两种容器网络你分得清吗

本文分享自华为云社区《【理解云容器网络】0-overlay和underlay容器网络》,作者:可以交个朋友。

underlay 容器网络


在容器的上下文环境下,underlay 容器网络代表承载容器的虚拟机或者物理机网络环境能够识别、转发容器 ip。


  1. 开源网络插件方案如 Flannel 的 host-gw 模式、calico 的 bgp 模式,容器网络可以不通过隧封装,依托于网络插件只能功能(增加路由表)和网络要求(kubernetes 管理的节点在同一子网,不跨三层)。

  2. 云厂商致力于将容器网络和 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 等。


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 5
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
0-overlay和underlay,这两种容器网络你分得清吗_容器_华为云开发者联盟_InfoQ写作社区