久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何分析Docker跨主機網絡

158次閱讀
沒有評論

共計 1295 個字符,預計需要花費 4 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關如何分析 Docker 跨主機網絡,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

前面已經學習了 Docker 的幾種網絡方案:none、host、bridge 和 joined 容器,它們解決了單個 Docker Host 內容器通信的問題。

跨主機網絡方案包括:

docker 原生的 overlay 和 macvlan。

第三方方案:常用的包括 flannel、weave 和 calico。

docker 網絡是一個非常活躍的技術領域,不斷有新的方案開發出來,那么要問個非常重要的問題了:

如此眾多的方案是如何與 docker 集成在一起的?

答案是:libnetwork 以及 CNM。

libnetwork CNM

libnetwork 是 docker 容器網絡庫,最核心的內容是其定義的 Container Network Model (CNM),這個模型對容器網絡進行了抽象,由以下三類組件組成:

Sandbox

Sandbox 是容器的網絡棧,包含容器的 interface、路由表和 DNS 設置。Linux Network Namespace 是 Sandbox 的標準實現。Sandbox 可以包含來自不同 Network 的 Endpoint。

Endpoint

Endpoint 的作用是將 Sandbox 接入 Network。Endpoint 的典型實現是 veth pair,后面我們會舉例。一個 Endpoint 只能屬于一個網絡,也只能屬于一個 Sandbox。

Network

Network 包含一組 Endpoint,同一 Network 的 Endpoint 可以直接通信。Network 的實現可以是 Linux Bridge、VLAN 等。

下面是 CNM 的示例:

如圖所示兩個容器,一個容器一個 Sandbox,每個 Sandbox 都有一個 Endpoint 連接到 Network 1,第二個 Sandbox 還有一個 Endpoint 將其接入 Network 2.

libnetwork CNM 定義了 docker 容器的網絡模型,按照該模型開發出的 driver 就能與 docker daemon 協同工作,實現容器網絡。docker 原生的 driver 包括 none、bridge、overlay 和 macvlan,第三方 driver 包括 flannel、weave、calico 等。

下面我們以 docker bridge driver 為例討論 libnetwork CNM 是如何被實現的。

這是前面我們討論過的一個容器環境:

兩個 Network:默認網絡“bridge”和自定義網絡“my_net2”。實現方式是 Linux Bridge:“docker0”和“br-5d863e9f78b6”。

三個 Enpoint,由 veth pair 實現,一端 (vethxxx) 掛在 Linux Bridge 上,另一端 (eth0) 掛在容器內。

三個 Sandbox,由 Network Namespace 實現,每個容器有自己的 Sanbox。

關于如何分析 Docker 跨主機網絡就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1295字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 皋兰县| 邢台县| 苏尼特左旗| 元阳县| 高青县| 体育| 醴陵市| 当雄县| 开封市| 手机| 彩票| 称多县| 昌江| 来宾市| 定安县| 福安市| 东辽县| 石泉县| 松阳县| 家居| 茌平县| 固安县| 黔西县| 喀喇沁旗| 兴仁县| 湘西| 兰溪市| 仁寿县| 平果县| 托克逊县| 江阴市| 潍坊市| 元阳县| 安龙县| 高要市| 华阴市| 陕西省| 北碚区| 阳江市| 舒兰市| 呼和浩特市|