0-overlay和underlay,這兩種容器網絡你分得清嗎

本文分享自華爲雲社區《【理解雲容器網絡】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層、數據包內容,只不過物理機看到的數據包裏面又有一個完整的二層包,這個二層包。客戶端容器在發出請求後,客戶端物理機上的flanneld進程,會對這個報文進行封包(至於如何獲取到對端的容器的mac地址、如何得知對端容器所在的節點ip,暫時不用糾結)變成vxlan報文,物理機網卡設備和底層網絡三層可達使得報文可以發送到對端物理機。服務端物理機網卡收到報後,根據UDP默認端口,網絡協議棧將數據包丟給本無物理機上flanneld進程處理。flanneld拆包後,根據真是對端容器ip,將報文轉到服務端容器中。

區別

overlay容器網絡只要求節點網絡三層互通即可,但是存在封裝、解封裝過程,帶來一定性能損耗。雲廠商均大力發展underlay容器網絡,使得容器網絡具有直通能力,比如ELB直通容器,容器直接綁eip等。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章