博客專欄

EEPW首頁 > 博客 > 容器通信flannel和calico對比

容器通信flannel和calico對比

發(fā)布人:MCZH0904 時間:2020-09-08 來源:工程師 發(fā)布文章

Kubernetes跨主機容器之間的通信組件,目前主流的是flannelcalico,本文對兩個組件進行簡單介紹和對比。

5微信圖片_20200902120252.jpg

calico包括如下重要組件:Felix,etcd,BGP ClientBGP Route Reflector。下面分別說明一下這些組件。

Felix:主要負責路由配置以及ACLS規(guī)則的配置以及下發(fā),它存在在每個node節(jié)點上。

etcd:分布式鍵值存儲,主要負責網(wǎng)絡(luò)元數(shù)據(jù)一致性,確保Calico網(wǎng)絡(luò)狀態(tài)的準確性,可以與kubernetes共用;

BGPClient(BIRD), 主要負責把 Felix寫入 kernel的路由信息分發(fā)到當前 Calico網(wǎng)絡(luò),確保 workload間的通信的有效性;

BGPRoute Reflector(BIRD), 大規(guī)模部署時使用,摒棄所有節(jié)點互聯(lián)的mesh模式,通過一個或者多個 BGPRoute Reflector 來完成集中式的路由分發(fā);

calico 架構(gòu)

5微信圖片_20200902120253.jpg

calico 原理

下圖描述了從源容器經(jīng)過源宿主機,經(jīng)過數(shù)據(jù)中心的路由,然后到達目的宿主機最后分配到目的容器的過程。

圖片3.jpg

整個過程中始終都是根據(jù)iptables規(guī)則進行路由轉(zhuǎn)發(fā),并沒有進行封包,解包的過程,這和flannel比起來效率就會快多了。

calico 跨主機通信

圖片4.jpg

下發(fā) ACL 規(guī)則

圖片5.jpg

flannel 原理

圖片6.jpg

對比

從上述的原理可以看出,flannel在進行路由轉(zhuǎn)發(fā)的基礎(chǔ)上進行了封包解包的操作,這樣浪費了CPU的計算資源。下圖是從網(wǎng)上找到的各個開源網(wǎng)絡(luò)組件的性能對比??梢钥闯鰺o論是帶寬還是網(wǎng)絡(luò)延遲,calico和主機的性能是差不多的。——明辰智航云安網(wǎng)絡(luò)與虛擬化性能管理系統(tǒng)

圖片7.jpg(www.mingczh.com)

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

比較器相關(guān)文章:比較器工作原理




關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉