摘要:查看一下當(dāng)前容器的網(wǎng)絡(luò)配置有兩個網(wǎng)絡(luò)接口和,其中連接的是默認(rèn)網(wǎng)絡(luò),即與時一對。網(wǎng)絡(luò)詳細(xì)講解可看鏈接網(wǎng)絡(luò)包含兩個虛擬交換機和,和將二者連接在一起。和分工不同,負(fù)責(zé)將容器接入網(wǎng)絡(luò),負(fù)責(zé)在主機間隧道中并收發(fā)數(shù)據(jù)。
主要參考每天5分鐘玩轉(zhuǎn)docker容器技術(shù)博客。 記錄下自己的實驗過程。 如果想學(xué)習(xí),請直接參考該博客http://www.cnblogs.com/CloudMan6/概述
Weave創(chuàng)建的虛擬網(wǎng)絡(luò)將部署在多個主機上的容器連接起來。
對容器而言,weave就像一個巨大的以太網(wǎng)交換機,所有容器都被接入這個交換機,容器可以直接通信,無需nat和端口映射。
weave的dns模塊使容器可以通過hostname訪問
weave不依賴分布是數(shù)據(jù)庫交換網(wǎng)絡(luò)信息,每個主機上只需運行weave組件就能建立起跨主機的容器網(wǎng)絡(luò)。
搭建實驗環(huán)境 安裝部署weave在實驗機器上執(zhí)行如下命令
curl -L git.io/weave -o /usr/local/bin/weave chmod a+x /usr/local/bin/weave在host1中啟動weave
host1中執(zhí)行weave launch,啟動weave相關(guān)服務(wù)。
weave的所有組件以容器運行
root@host1:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e6c28480e461 weaveworks/weave:2.3.0 "/home/weave/weaver ?? 4 seconds ago Up 4 seconds weave
weave會創(chuàng)建一個新的docker網(wǎng)絡(luò)weave
root@host1:~# docker network ls NETWORK ID NAME DRIVER SCOPE 810c1c359ba2 bridge bridge local 1085e045479e host host local 8a7c9f8a4f9f none null local 5cdb070956f9 weave weavemesh local
該網(wǎng)絡(luò)的詳情
root@host1:~# docker network inspect 5cdb070956f9|more [ { "Name": "weave", "Id": "5cdb070956f9ce7ef2cdc29fc62cfe55c4128de3283b385de63074276956ff33", "Created": "2018-05-22T22:21:54.904364416+08:00", "Scope": "local", "Driver": "weavemesh", "EnableIPv6": false, "IPAM": { "Driver": "weavemesh", "Options": null, "Config": [ { "Subnet": "10.32.0.0/12" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": { "works.weave.multicast": "true" }, "Labels": {} } ]
在host1中運行容器bbox1
root@host1:~# eval $(weave env) root@host1:~# docker run --name bbox1 -itd busybox
首先執(zhí)行 eval $(weave env) 很重要,其作用是將后續(xù)的 docker 命令發(fā)給 weave proxy 處理。如果要恢復(fù)之前的環(huán)境,可執(zhí)行 eval $(weave env --restore)。
查看一下當(dāng)前容器bbox1的網(wǎng)絡(luò)配置
root@host1:~# docker exec -it bbox1 ip a 1: lo:mtu 65536 qdisc noqueue qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 12: eth0@if13: mtu 1500 qdisc noqueue link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0 valid_lft forever preferred_lft forever 14: ethwe@if15: mtu 1376 qdisc noqueue link/ether 16:8c:eb:85:98:2c brd ff:ff:ff:ff:ff:ff inet 10.32.0.1/12 brd 10.47.255.255 scope global ethwe valid_lft forever preferred_lft forever
bbox1有兩個網(wǎng)絡(luò)接口eth0和ethwe,其中eth0連接的是默認(rèn)bridge網(wǎng)絡(luò),即docker0.
vethwe與vethwepl2516時一對veth pair。
root@host1:~# brctl show bridge name bridge id STP enabled interfaces docker0 8000.0242d3efdb74 no veth7fb85fa weave 8000.cebc0b34efc6 no vethwe-bridge vethwepl2516
網(wǎng)絡(luò)詳細(xì)講解可看鏈接
weave 網(wǎng)絡(luò)包含兩個虛擬交換機:Linux bridge weave 和 Open vSwitch datapath,veth pair vethwe-bridge 和 vethwe-datapath 將二者連接在一起。weave 和 datapath 分工不同,weave 負(fù)責(zé)將容器接入 weave 網(wǎng)絡(luò),datapath 負(fù)責(zé)在主機間 VxLAN 隧道中并收發(fā)數(shù)據(jù)。
跨主機容器連接在host2上執(zhí)行如下命令:
weave launch host1_ip
*必須指定host1的ip,這樣host1和host2才能加入到同一個weave網(wǎng)絡(luò)
root@host2:~# eval $(weave env) root@host2:~# docker run --name bbox3 -itd busyboxweave網(wǎng)絡(luò)連通性
bbox3 可以ping通bbox1
root@host2:~# docker exec bbox3 ping bbox1 PING bbox1 (10.32.0.1): 56 data bytes 64 bytes from 10.32.0.1: seq=0 ttl=64 time=1.867 ms 64 bytes from 10.32.0.1: seq=1 ttl=64 time=1.345 ms
鏈接
如果要實現(xiàn)網(wǎng)絡(luò)隔離,可以通過環(huán)境變量 WEAVE_CIDR 為容器分配不同 subnet 的 IP
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27300.html
摘要:找到規(guī)則的編號將它刪除打開本地和對的端口會自動進行檢測,把它關(guān)掉啟動啟動并連接主機,注意主機不要去連接主機等待下載剩下的支持容器啟動容器,使用網(wǎng)橋給容器分配溝通地址容器測試容器跨主機通信成功 Docker容器利用weave實現(xiàn)跨主機互聯(lián) 環(huán)境:showImg(https://segmentfault.com/img/bV7WcZ?w=429&h=179); 實現(xiàn)目的:實現(xiàn)主機A中容器1...
摘要:容器管理網(wǎng)絡(luò)連接單機網(wǎng)絡(luò)配置虛擬網(wǎng)橋的特點可以設(shè)置地址相當(dāng)于擁有一個隱藏的虛擬網(wǎng)卡的地址自動劃分分配地址分配地址子網(wǎng)掩碼每一個主機都對應(yīng)一個容器網(wǎng)卡自定義地址自定義虛擬網(wǎng)橋添加虛擬網(wǎng)橋更改守護進程的啟動配置容器互聯(lián)默認(rèn)允許所有容器間互聯(lián) Docker容器管理 Docker網(wǎng)絡(luò)連接 單機Docker網(wǎng)絡(luò)配置 linux虛擬網(wǎng)橋的特點: 可以設(shè)置IP地址 相當(dāng)于擁有一個隱藏的虛擬網(wǎng)卡...
摘要:第層網(wǎng)絡(luò)的一個值得注意的示例是以太網(wǎng),其中表示為子層。與其他方案相比,相對容易安裝和配置。與不同,不使用網(wǎng)絡(luò)。網(wǎng)絡(luò)策略是其最受追捧的功能之一。 本文將在介紹技術(shù)原理和相應(yīng)術(shù)語的基礎(chǔ)上,再集中探索與詳細(xì)對比目前最流行的CNI插件:Flannel、Calico、Weave和Canal,對比介紹它們的原理、使用方法、適用場景和優(yōu)缺點等。 showImg(https://segmentfaul...
摘要:第層網(wǎng)絡(luò)的一個值得注意的示例是以太網(wǎng),其中表示為子層。與其他方案相比,相對容易安裝和配置。與不同,不使用網(wǎng)絡(luò)。網(wǎng)絡(luò)策略是其最受追捧的功能之一。 本文將在介紹技術(shù)原理和相應(yīng)術(shù)語的基礎(chǔ)上,再集中探索與詳細(xì)對比目前最流行的CNI插件:Flannel、Calico、Weave和Canal,對比介紹它們的原理、使用方法、適用場景和優(yōu)缺點等。 showImg(https://segmentfaul...
閱讀 3051·2021-09-22 15:52
閱讀 2918·2019-08-30 15:55
閱讀 2713·2019-08-30 15:53
閱讀 2464·2019-08-30 13:21
閱讀 1634·2019-08-30 13:10
閱讀 2492·2019-08-26 12:09
閱讀 2579·2019-08-26 10:33
閱讀 1811·2019-08-23 18:06