Docker 网络(十四)——Weave for Docker

14 Weave for Docker

Weave 是由Weaveworks针对Docker网络管理开发的,类似于Flannel, Calico 和 Docker重叠网络。Weave处理Docker多主机网络并且管理Docker不同主机上的网络合并,跟另外三种方案相比,weave提供更多特性和选择。

Weave简介

Weave创建一个虚拟网络,跨多台主机连接Docker。在不同主机上的Docker能够互相通信,跟在同一个局域网中一样,在这个局域网中也支持广播。除此之外Docker能够通过主机名互相发现,通过执行Weave DNS发现模块实现,在其它多主机网络解决方案中是不支持的。

Weave也能穿越防火墙并在部署连接的网络中操作。数据包通过最短路径传输到目标主机容器,即使这台主机隐藏在防火墙后,并且发送者主机不能直接访问目标主机。流量也能够被加密,允许主机穿过不受信的网络建立连接。

Weave和Docker可以运行在单主机或重叠网络上,所以在Docker中Weave需要一块独立的网卡,在主机上的weave虚拟网卡能抓取到来自Docker的所有数据包。

安装和配置

环境准备
两台或多台主机(虚机或实机)需要通过weave安装Docker集群,这里使用两台主机(node1:192.168.56.10, node2:192.168.56.20),Ubuntu 14.04

安装和运行Weave集群

$ sudo curl -L git.io/weave -o /usr/local/bin/weave
$ sudo chmod a+x /usr/local/bin/weave

启动weave
在Node1执行

ubuntu@node1:~$ weave launch
Unable to find image 'weaveworks/weaveexec:1.5.2' locally
1.5.2: Pulling from weaveworks/weaveexec
8f4ec95ceaee: Pull complete 
5086797bdfc4: Pull complete 

ubuntu@node1:~$ docker ps 
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS               NAMES
37e243f51bae        weaveworks/plugin:1.5.2      "/home/weave/plugin"     6 minutes ago       Up 6 minutes                            weaveplugin
bbf3f64f393e        weaveworks/weaveexec:1.5.2   "/home/weave/weavepro"   7 minutes ago       Up 7 minutes                            weaveproxy
a40b1d775928        weaveworks/weave:1.5.2       "/home/weave/weaver -"   7 minutes ago       Up 7 minutes                            weave

Node2

ubuntu@node2:~$ weave launch 192.168.56.10
Unable to find image 'weaveworks/weaveexec:1.5.2' locally
1.5.2: Pulling from weaveworks/weaveexec
8f4ec95ceaee: Pull complete 

ubuntu@node2:~$ docker ps 
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS               NAMES
e6f27a170b85        weaveworks/plugin:1.5.2      "/home/weave/plugin"     22 seconds ago      Up 21 seconds                           weaveplugin
e747b8ae3e97        weaveworks/weaveexec:1.5.2   "/home/weave/weavepro"   57 seconds ago      Up 56 seconds                           weaveproxy
3666205a9380        weaveworks/weave:1.5.2       "/home/weave/weaver -"   58 seconds ago      Up 57 seconds                           weave

检查Weave集群状态

ubuntu@node1:~$ weave status connections
<- 192.168.56.20:38183   established fastdp 4e:55:70:61:4d:57(node2)

运行Docker

Weave集群启动后,我们就可以在两台节点上运行Docker了

ubuntu@node1:~$ weave run -itd --name=worker-1 ubuntu:14
ubuntu@node2:~$ weave run -itd --name=worker-2 ubuntu:14

检查网络

ubuntu@node1:~$ docker exec worker-1 ping worker-2
PING worker-2.weave.local (10.40.0.1) 56(84) bytes of data.
64 bytes from worker-2.weave.local (10.40.0.1): icmp_seq=1 ttl=64 time=2.81 ms
64 bytes from worker-2.weave.local (10.40.0.1): icmp_seq=2 ttl=64 time=0.913 ms

简单性能测试

在同一台主机

root@worker-3:/# iperf -c worker-1
------------------------------------------------------------
Client connecting to worker-1, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 10.32.0.2 port 59915 connected with 10.32.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  15.1 GBytes  13.0 Gbits/sec

在不同主机

root@worker-2:/# iperf  -c worker-1
------------------------------------------------------------
Client connecting to worker-1, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 10.40.0.1 port 53319 connected with 10.32.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   392 MBytes   329 Mbits/sec
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值