好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 對docker中的overlay式網絡詳解

對docker中的overlay式網絡詳解

熱門標簽:智能電銷機器人真的有用么 高德地圖標注足跡怎么打標 百度地圖底圖標注 電銷智能機器人試用 撫州市城區地圖標注 激光標記地圖標注 中國地圖標注上各個省 新鄉牧野400電話申請 企業辦理400電話收費標準

翻譯自docker官方文檔,原文:https://docs.docker.com/network/overlay/

overlay(覆蓋)式網絡會在多個docker守護進程所在的主機之間創建一個分布式的網絡。這個網絡會覆蓋宿主機特有的網絡,并允許容器連接它(包括集群服務中的容器)來安全通信。顯然,docker會處理docker守護進程源容器和目標容器之間的數據報的路由。

當你初始化一個集群(swarm)或把一個docker宿主機加入一個已經存在的集群時,宿主機上會新建兩個網絡:

一個叫ingress的overlay式網絡,用來處理和集群服務相關的控制和數據傳輸。當你創建一個集群服務而且沒有把它連到用戶定義的overlay式網絡時,它默認會連到ingress網絡。

一個叫docker_gwbridge的bridge式網絡。用來連接本docker守護進程和集群中的其他守護進程。

你可以用docker network create命令創建用戶定義的overlay式網絡,就和你創建用戶定義的bridge式網絡一樣。服務和容器可以同時連到多個網絡。服務和容器只能和它所在的網絡中的其他對象通信。

雖然集群服務和單獨的容器都能連到overlay式網絡,但默認的表現和配置兩者都是不同的。因此,本主題后面的內容會分成三部分:應用于所有overlay式網絡的;應用于集群服務中的網絡的;應用于單獨的容器使用的overlay式網絡的。

適用于所有overlay網絡的操作

創建一個overlay網絡

✅先決條件

使用overlay網絡的docker守護進程需要的防火墻規則

要讓一個overlay網絡中的docker主機能夠相互通信,你需要打開下面的端口:

1.TCP端口2377,用來集群管理相關的通信

2.TCP和UDP端口7946,用來進行節點之間的通信

3.UDP端口4789,用來進行進行overlay網絡上的數據傳輸

在你能創建一個overlay網絡之前,你要么要通過docker swarm init把你的docker守護進程初始化成一個集群管理者(swarm manager),要么要通過docker swarm join把它加入到一個已存在的集群中。

不管哪種方式,默認創建并使用的都是叫做ingress的overlay式網絡。即使你不打算使用集群服務,也要這么做。

以后你可以創建用戶定義的overlay式網絡。

要創建一個用在集群服務中的overlay式網絡,用下面所示的命令:

$ docker network create -d overlay my-overlay

要創建一個既能用于集群服務,又能用于單獨的容器來和其他docker守護進程中的單獨的容器進行通信的網絡,加上--attachable標記:

$ docker network create -d overlay --attachable my-attachable-overlay

你可以指定IP地址范圍,子網,網關和其他選項。細節請查看docker network create --help。

overlay網絡上的加密傳輸

所有的服務管理相關的傳輸都默認用GCM模式的AES算法加密。集群中的管理節點每12個小時輪換加密用的鍵(key)。

如果要加密應用數據,在創建網絡時加上--opt encrypted。這個參數支持在vxlan級別的IPSEC加密。這個操作會導致不可忽略的性能下降,所以在應用到生產環境前要先測試。

當你開啟overlay加密后,docker會在所有網絡中服務被調度到的節點上創建IPSEC 隧道。這些隧道也會使用GCM模式的AES算法加密,并且每12個小時自動輪換加密用的鍵(key)。

❌不要把Windows節點加入到加密通信的overlay網絡中。

overlay網絡上的加密通信不支持Windows。如果Windows節點試圖連接到加密通信的overlay網絡,不會報錯,但這個節點會不能和其他節點通信。

集群模式的overlay網絡和單獨的容器

你可以用--opt encrypted --attachable或把沒有被管理的容器加入到網絡的方式來使用overlay網絡特性。

$ docker network create --opt encrypted --driver overlay --attachable my-attachable-multi-host-network

修改默認的ingress網絡

大多數用戶不需要配置ingress網絡。但docker17.05以及更高版本允許你這么做。如果自動選擇的子網段和你網絡中已存在的網絡沖突了,或你需要修改其他底層的網絡設置比如MTU的時候,這個功能就很有用了。

修改ingress網絡需要刪除再創建它。這就要求你在集群中創建服務之前完成修改。如果有發布端口的服務,在你刪除ingress網絡之前要先刪除這些服務。

在ingress網絡不存在的時候,已存在的沒有發布端口的服務能繼續提供服務,但沒有負載均衡功能。那些發布端口的服務比如發布80端口的WordPress服務會受影響。

用docker network inspect ingress檢查ingress網絡,然后刪除所有所在容器連到ingress的服務。這些服務是發布端口的服務比如發布80端口的WordPress服務。如果所有這些服務沒有停掉,下一步會失敗。

刪除ingress網絡。

$ docker network rm ingress

WARNING! Before removing the routing-mesh network, make sure all the nodes in your swarm run the same docker engine version. Otherwise, removal may not be effective and functionality of newly created ingress networks will be impaired.

Are you sure you want to continue? [y/N]

3.用ingress標記創建新的overlay網絡,加上你想要的配置。下面的例子把MTU配置成1200,把子網設置成10.11.0.0/16,并把網關設成10.11.0.2。

$ docker network create \

 --driver overlay \

 --ingress \

 --subnet=10.11.0.0/16 \

 --gateway=10.11.0.2 \

 --opt com.docker.network.mtu=1200 \

 my-ingress

注意:你也可以把ingerss網絡命名成其他名字,但只能有一個。如果你試圖創建第二個,會失敗。

4.重啟你在第一步停掉的服務。

修改docker_gwbridge接口

docker_gwbridge是一個虛擬網橋,用來連接overlay網絡(包括ingress網絡)和一個特定的docker守護進程的物理網絡。當你初始化一個集群或把一個docker宿主機加入到一個集群時,docker會自動創建它,但它不是一個docker設備。它存在于docker宿主機的內核中。如果你要修改它的配置,你必須在把宿主機加入集群前完成,或暫時把宿主機從集群中脫離。

停掉docker

刪除docker_gwbridge接口

$ sudo ip link set docker_gwbridge down

$ sudo ip link del name docker_gwbridge

3.啟動docker,不要加入或初始化集群

4.用docker network create命令手動創建或重新創建docker_gwbridge網橋,加上你自定義的設置。下面的例子使用10.11.0.0/16子網。

$ docker network create \

--subnet 10.11.0.0/16 \

--opt com.docker.network.bridge.name=docker_gwbridge \

--opt com.docker.network.bridge.enable_icc=false \

--opt com.docker.network.bridge.enable_ip_masquerade=true \

docker_gwbridge

5.初始化或加入集群。由于網橋已經存在,docker不會再用默認配置創建它了。

集群服務中的操作

在overlay網絡上發布端口

連到同一個overlay網絡的集群服務會互相暴露所有端口。如果一個端口要從服務外部可訪問到,必須在docker service create或docker service update中用-p或--publish來發布。

遺留的冒號分割的語法和新的逗號分割的語法都是支持的。

更長的語法更好,因為某種意義上它是自解釋的。

參數 描述
-p 8080:80 o或-p published=8080,target=80 把服務內的 TCP 端口 80映射到路由中的端口8080
-p 8080:80/udp 或-p published=8080,target=80,protocol=udp 把服務內的 UDP 端口 80映射到路由中的端口8080
-p 8080:80/tcp -p 8080:80/udp 或 -p published=8080,target=80,protocol=tcp -p published=8080,target=80,protocol=udp 把服務內的 TCP 端口 80映射到路由中的端口8080,并把服務內的 UDP 端口 80映射到路由中的端口8080

為集群服務繞開路由網

默認的,集群服務通過路由網來發布端口。當你連到任一集群節點(不管它有沒有運行端口所代表的服務)上的被發布的端口時,你都能重定向到運行著指定服務的節點。docker很有效的充當著你的集群服務的負載均衡器。使用路由網的服務運行在虛擬IP模式(VIP)下。即使一個服務運行在一個節點上(通過--global標記),也會使用路由網。當使用路由網時,不能保證哪個節點處理客戶端的請求。

要繞開路由網,你可以用DNS Round Robin (DNSRR)模式啟動服務。通過給dnsrr設置--endpoint-mode標記。你必須在服務前端運行你自己的負載均衡器。docker宿主機上的服務名的DNS查詢會返回運行著指定服務的節點的IP地址集合。配置你的負載均衡器來使用這份列表并在節點間平衡通信。

分離控制流和數據流

默認的,控制流和集群管理者聯系并在運行在同一網絡上的應用間傳輸,雖然控制流是加密的。你可以配置docker,讓它用不同的網絡接口來處理不同的流。當你初始化或加入集群時,分別指定--advertise-addr和--datapath-addr。你必須在每個要加入集群的節點上做這個操作。

overlay網絡上獨立容器能用的操作

把獨立容器連到overlay網絡

ingress網絡創建時沒有指定--attachable標記,這意味著只有集群服務能使用它,獨立容器不能。你可以把獨立容器連到用戶定義的,創建時指定了--attachablebiaoji d overlay網絡。這給了運行在不同docker上的獨立容器一種能力,即不需在特定docker宿主機上設置路由就能通信的能力。

發布端口

參數 描述
-p 8080:80 把服務內的 TCP 端口 80映射到路由中的端口8080
-p 8080:80/udp 把服務內的 UDP 端口 80映射到路由中的端口8080
-p 8080:80/tcp -p 8080:80/udp 把服務內的 TCP 端口 80映射到路由中的端口8080,并把服務內的 UDP 端口 80映射到路由中的端口8080

以上這篇對docker中的overlay式網絡詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:邯鄲 忻州 延安 海西 辛集 西安 臨汾 南通

巨人網絡通訊聲明:本文標題《對docker中的overlay式網絡詳解》,本文關鍵詞  對,docker,中的,overlay,式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《對docker中的overlay式網絡詳解》相關的同類信息!
  • 本頁收集關于對docker中的overlay式網絡詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美男同激情| 蜜乳AⅤ一区二区三区免费| 女人的呼吸在线观看| 性高湖波多野结衣HD高清谜片| 1069gv| 天天干天天色天天| 中国毛卡片卡一卡二卡三| 99在线观看免费视频| 别揉我胸?啊?嗯H产奶| 白嫩大学生宿舍啪啪| c人教程| 精品人妻一区二区三区视频53一 | 玖玖爱资源网| 边打电话边被躁91在线看| 亚洲视频一区在线播放| 18videosex性欧美69免费播放 | 新梅金瓶肉蒲团4D之奶| 欧美黄网在线| 乱子人伦| 国产大片b站免费观看推荐| 成人乱码免费视频A片含羞草传媒| 九九热8| 嗯啊哦别啊被粗大捣出白浆乱| 欧美日韩免费在线视频| 老男人用口添女人私密视频| 男男肉多小说| 性妓院妓女BD播放| 老婆和别人刚干完我又干可以吗| 美女一级毛片免费观看| 国产真人无遮挡作爱免费视频| 男人舔女人的阴道视频| 国产成人久久精品激情| 肉版婚礼1~5阅读小说| 婷婷国产AV精品 9 2 1 5| japonensisjava好妈妈| 双性浪荡丁字裤受np公交车| 久久岛国电影免费观看软件 | 破处女小说| 国产国语videosex另类| 丝袜紧身裙国产在线播放| 小吆牛牛|