1. 程式人生 > >Docker Weave網路部署

Docker Weave網路部署

  Weave在Docker主機之間實現Overlay網路,使用業界標準VXLAN封裝,基於UDP傳輸,也可以加密傳輸。
Weave Net建立一個連線多個Docker主機的虛擬網路,類似於一個乙太網交換機,所有的容器都連線到這上面,互相通訊。
Weave Net由多個peer組成,Weave路由器執行不同Docker主機上,是一個使用者空間的程序;每個peer都有一個名稱,重啟保持不變。它們通過TCP連線彼此,建立後交換拓撲資訊。
Weave Net可以在具有編號拓撲的部分連線的網路中路由資料包。例如,在下面網路中,peer1直接連線2和3,但是如果1需要傳送資料包到4和5,則必須先將其傳送到peer3。

 


WeaveNet中的”fastdatapath”使用Linux核心的OpenvSwichdatapath模組。該模組使WeaveNet路由器能夠告知核心如何處理資料包。OpenvSwichdatapath和VXLAN功能在Linux核心版本3.12+才支援,如果核心不支援,則WeaveNet使用”usermode”資料包路徑。WeaveNet會自動選擇兩臺主機之間最快的路徑傳輸資料,提供近原生吞吐量和延遲。

  部署

使用前提:
1.確保Linux核心版本3.8+,Docker1.10+。
2.節點之間如果有防火牆時,必須彼此放行TCP 6783和UDP 6783/6784埠,這是Weave控制和資料埠。
3.主機名不能相同,通過主機名標識子網。

  安裝Weave(兩個節點均執行)

curl -L git.io/Weave -o /usr/local/bin/Weave
chmod +x /usr/local/bin/Weave 
mv weave /usr/bin/
chmod +x /usr/bin/weave

   啟動並於其他主機連線

weave launch

   會啟動並下載映象

  連線

weave launch 192.168.56.129

 

檢視路由程序

 

  節點2連線節點1 連線完就會相互交換本地節點資訊

  檢視狀態

 weave status

   

Version: 2.0.4 (version 2.5.0 available - please upgrade!)

        Service: router
       Protocol: weave 1..2
           Name: fe:c2:c3:62:e5:79(docker)
     Encryption: disabled
  PeerDiscovery: enabled
        Targets: 1
    Connections: 1 (1 established)
          Peers: 2 (with 2 established connections)
 TrustedSubnets: none

        Service: ipam
         Status: idle
          Range: 10.32.0.0/12
  DefaultSubnet: 10.32.0.0/12

        Service: dns
         Domain: weave.local.
       Upstream: 127.0.0.53
            TTL: 1
        Entries: 0

        Service: proxy
        Address: unix:///var/run/weave/weave.sock

        Service: plugin (legacy)
     DriverName: weave

   檢視連線資訊

 weave status connections

  測試互通(本次測試不通)

docker run -it --net=weave busybox

   檢視weave分配的網路

weave ps

   weave工作流程

 

   其他功能

IP地址管理(IPAM)
Weave自動為容器分配唯一的IP地址。可通過weave ps檢視
命名和發現
命名的容器自動會註冊到Weave DNS中,並可以通過容器名稱訪問。
負載均衡
允許註冊多個相同名稱的容器,Weave DNS隨機為每個請求返回地址,提供基本的負載均衡功能。
手動指定IP地址
docker run –it –e WEAVE_CIDR=10.32.0.100/24 busybox
動態拓撲
可以在不停止或重新配置剩餘Docker主機的情況下新增主機到Weave網路中或從Weave網路中刪除
容錯
weave peer不斷交換拓撲資訊,監視和建立與其他peer的網路連線。如果有主機或網路出現故障,Weave會繞過這個主機,保證兩邊容器可以繼續通訊,當恢復時,恢復完全連線。