【理解云容器网络】0-基础篇-overlay和underlay容器网络

举报
可以交个朋友 发表于 2024/02/17 18:02:44 2024/02/17
【摘要】 【理解云容器网络】0-overlay和underlay容器网络

underlay容器网络

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

  1. 开源网络插件方案如Flannel的host-gw模式、calico的bgp模式,容器网络可以不通过隧封装,依托于网络插件组件功能(增加路由表)和网络要求(kubernetes管理的节点在同一子网,不跨三层)。
  2. 云厂商致力于将容器网络和VPC网络扁平化,一般有两种方式:
  • 方式一:将每个节点容器小子网注入VCP路由表中,通过注入路由表方式,使得VPC内的ECS、容器可以访问容器ip
    image.png
  • 方式二:直接从VPC中分配ip给容器,
    image.png

overlay容器网络

在容器的上下文环境下,overlay容器网络代表承载容器的虚拟机或者物理机网络环境本身不能够识别、转发容器ip,需要通过每个虚拟机或者物理机上的封包、解包进程处理再转发给容器。
开源网络插件方案如Flannel的vxlan模式、calico的ipip模式,容器网络通过节点隧道封装后基于承载网络转发,只要求kubernetes管理的节点三层网络可达。
image.png
可以简单看一下flannel vxlan的报文体会一下封装:
image.png
物理机上看到的就是标准的二层包:mac层、ip层、数据包内容,只不过物理机看到的数据包里面又有一个完整的二层包(包括了容器mac层、ip层和真实数据包内容)。
客户端容器在发出请求后,客户端物理机上的flanneld进程,会对这个报文进行封包(至于如何获取到对端的容器的mac地址、如何得知对端容器所在的节点ip可以暂时不用纠结)变成vxlan报文,物理机网卡设备和底层网络三层可达使得报文可以发送到对端物理机。
服务端物理机网卡收到报后,根据UDP默认端口,网络协议栈将数据包丢给本无物理机上flanneld进程处理。flanneld拆包后,根据真实对端容器ip,将报文转到服务端容器中。

区别

overlay容器网络只要求节点网络三层互通即可,但是存在封装、解封装过程,带来一定性能损耗。云厂商均大力发展underlay容器网络,使得容器网络具有直通能力,比如ELB直通容器,容器直接绑eip等。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。