您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何從不同維度比較各種Docker網絡方案,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
我們將從不同維度比較各種網絡方案,大家在選擇的時候可以參考。CloudMan 的建議是:沒有最好的,只有最適合的,明確自己的需求,通過 PoC 選型。
Docker 起初只提供了簡單的 single-host 網絡,顯然這不利于 Docker 構建容器集群并通過 scale-out 方式橫向擴展到多個主機上。
在市場需求的推動下,跨主機容器網絡技術開始發展。這是一個非常活躍的技術領域,在不長的時間里已經涌現了很多優秀方案。本章我們詳細討論了幾種主流的方案 - Docker Overlay、Macvlan、Flannel、Weave 和 Calico。現在是時候做個比較了,讓大家對各種方案的特點和優勢有更深入的理解。
我們將從如下幾個方面比較,大家可以根據不同場景選擇最合適的方案。
網絡模型
采用何種網絡模型支持 multi-host 網絡?
Distributed Store
是否需要 etcd 或 consul 這類分布式 key-value 數據庫存儲網絡信息?
IPMA
如何管理容器網絡的 IP?
連通與隔離
提供怎樣的網絡連通性?支持容器間哪個級別和哪個類型的隔離?
性能
性能比較。
跨主機網絡意味著將不同主機上的容器用同一個虛擬網絡連接起來。這個虛擬網絡的拓撲結構和實現技術就是網絡模型。
Docker overlay 如名稱所示,是 overlay 網絡,建立主機間 VxLAN 隧道,原始數據包在發送端被封裝成 VxLAN 數據包,到達目的后在接收端解包。
Macvlan 網絡在二層上通過 VLAN 連接容器,在三層上依賴外部網關連接不同 macvlan。數據包直接發送,不需要封裝,屬于 underlay 網絡。
Flannel 我們討論了兩種 backend:vxlan 和 host-gw。vxlan 與 Docker overlay 類似,屬于 overlay 網絡。host-gw 將主機作為網關,依賴三層 IP 轉發,不需要像 vxlan 那樣對包進行封裝,屬于 underlay 網絡。
Weave 是 VxLAN 實現,屬于 overlay 網絡。
各方案的網絡模型描述如下:
Docker Overlay、Flannel 和 Calico 都需要 etcd 或 consul。Macvlan 是簡單的 local 網絡,不需要保存和共享網絡信息。Weave 自己負責在主機間交換網絡配置信息,也不需要 Distributed Store。
同一 Docker Overlay 網絡中的容器可以通信,但不同網絡之間無法通信,要實現跨網絡訪問,只有將容器加入多個網絡。與外網通信可以通過 docker_gwbridge 網絡。
Macvlan 網絡的連通或隔離完全取決于二層 VLAN 和三層路由。
不同 Flannel 網絡中的容器直接就可以通信,沒有提供隔離。與外網通信可以通過 bridge 網絡。
Weave 網絡默認配置下所有容器在一個大的 subnet 中,可以自由通信,如果要實現隔離,需要為容器指定不同的 subnet 或 IP。與外網通信的方案是將主機加入到 weave 網絡,并把主機當作網關。
Calico 默認配置下只允許位于同一網絡中的容器之間通信,但通過其強大的 Policy 能夠實現幾乎任意場景的訪問控制。
性能測試是一個非常嚴謹和復雜的工程,這里我們只嘗試從技術方案的原理上比較各方案的性能。
最樸素的判斷是:Underlay 網絡性能優于 Overlay 網絡。
Overlay 網絡利用隧道技術,將數據包封裝到 UDP 中進行傳輸。因為涉及數據包的封裝和解封,存在額外的 CPU 和網絡開銷。雖然幾乎所有 Overlay 網絡方案底層都采用 Linux kernel 的 vxlan 模塊,這樣可以盡量減少開銷,但這個開銷與 Underlay 網絡相比還是存在的。所以 Macvlan、Flannel host-gw、Calico 的性能會優于 Docker overlay、Flannel vxlan 和 Weave。
Overlay 較 Underlay 可以支持更多的二層網段,能更好地利用已有網絡,以及有避免物理交換機 MAC 表耗盡等優勢,所以在方案選型的時候需要綜合考慮。
關于如何從不同維度比較各種Docker網絡方案就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。