weave 建立跨节点docker网络
weave的工作原理上与利用openvswitch建立vxlan基本一样,都是通过用三层的协议封装二层的报文来进行扩展,weave使用的是udp。weave封装了docker,在操作上为我们隐藏了很多细节,比如docker容器命名空间,虚拟网卡veth的配置,端口映射等等,另外weave还有dns, 加密通信等特点,因此操作起来更加简单快捷,但weave需要更高版本内核和docker的支持。
weave的安装:
weave的安装很方便,可以参照官方github上的说明(https://github.com/weaveworks/weave)
sudo curl -L git.io/weave -o /usr/local/bin/weave
sudo chmod a+x /usr/local/bin/weave
这里不探讨安装实现的细节,weave是个脚本,可以看一下它的实现。
1、192.168.1.102上:
# 初始化weave,建立weave-router等,这个操作只需要执行一次。 weave launch # 设置环境变量 eval $(weave env) # 运行容器 weave run 192.168.100.100/24 -ti ubuntu:latest /bin/bash
2、192.168.1.103上:
# 初始化weave,建立weave-router等,这个操作只需要执行一次。 weave launch 192.168.1.103 # 设置环境变量 eval $(weave env) # 运行容器 weave run 192.168.100.101/24 -ti ubuntu:latest /bin/bash
3、检查iptables, weave的端口是否被禁止了。
4、测试,在两个容器中互ping,可以发现网络是通的。
XMReport-最懂你的Java报表工具
XMReport-The Best Java Report Engine