weave网络架构介绍
docker weave网络是将多个宿主机上的docker应用容器进行建立连接相互访问。
Weave Net 路由器相互建立 TCP 连接,通过该连接执行协议握手并随后交换 拓扑信息。如果这样配置,这些连接将被加密。对等点还建立 UDP“连接”,可能是加密的,它携带封装的网络数据包。这些“连接”是双工的,可以穿越防火墙。
 docker weave网络架构_docker weave网络架构](https://file.cfanz.cn/uploads/png/2022/05/16/6/319S7IY676.png)
环境
docker2台宿主机:
主机名 | IP |
harbor | 192.168.0.112 |
es1 | 192.168.0.110 |
官网安装手册
确保您运行的是 Linux(内核 3.8 或更高版本)并安装了 Docker(1.10.0 或更高版本)。
https://www.weave.works/docs/net/latest/install/installing-weave/
安装weave
两台宿主机执行
sudo curl -L git.io/weave -o /usr/local/bin/weave
sudo chmod a+x /usr/local/bin/weaveweave网络建立
https://www.weave.works/docs/net/latest/install/using-weave/
2台主机之间创建对等连接
要在其他主机上启动 Weave Net 并创建对等连接,请运行以下命令:
[root@harbor weave-2.8.1]# weave launch 192.168.0.110
[root@es1 weave-2.8.1]# weave launch 192.168.0.112注意:harbor主机如果和es1之间有防火墙,您必须允许流量通过 TCP 6783 和 UDP 6783/6784,它们是 Weave 的控制和数据端口。
查看docker网络
新增了一个weave网络驱动。
[root@es1 weave-2.8.1]# docker network ls docker weave网络架构_docker weave网络架构_02](https://file.cfanz.cn/uploads/png/2022/05/16/6/18VB64022U.png)
查看weave docker容器
[root@es1 weave-2.8.1]# docker ps docker weave网络架构_docker weave网络架构_03](https://file.cfanz.cn/uploads/png/2022/05/16/6/eLcB8FcOP8.png)
查看weave建立连接信息
[root@harbor weave-2.8.1]# weave status connections docker weave网络架构_docker weave网络架构_04](https://file.cfanz.cn/uploads/png/2022/05/16/6/aCT85E86C3.png)
相互之间已经建立连接
 docker weave网络架构_docker weave网络架构_05](https://file.cfanz.cn/uploads/png/2022/05/16/6/58aX0W6K1P.png)
docker容器使用加入weave网络
第一种方法指定网络驱动
[root@harbor ~]# docker run -it --net=weave busybox docker weave网络架构_docker weave网络架构_06](https://file.cfanz.cn/uploads/png/2022/05/16/6/915TB988ba.png)
第二种方法使用docker api:
weave env的结果就是连接docker的api,运行往export设置完环境变量,后续启动的容器都会使用这个api。
[root@es1 weave-2.8.1]# weave env
export DOCKER_HOST=unix:///var/run/weave/weave.sock ORIG_DOCKER_HOST=
[root@es1 weave-2.8.1]# eval $(weave env)
[root@es1 weave-2.8.1]# docker run -it busybox docker weave网络架构_docker weave网络架构_07](https://file.cfanz.cn/uploads/png/2022/05/16/6/676UI99867.png)
两台docker容器之间相互测试访问
 docker weave网络架构_docker weave网络架构_08](https://file.cfanz.cn/uploads/png/2022/05/16/6/09U01EB7YJ.png)
weave命令补充
查看当前宿主机上容器分配的ip地址
[root@es1 weave-2.8.1]# weave ps
weave:expose de:f0:d4:1c:4a:59
2558d98f9506 d2:38:9b:16:b7:6c 10.40.0.0/12查看weave主机相互之间建立的连接关系
[root@es1 weave-2.8.1]# weave status peers
de:f0:d4:1c:4a:59(es1)
-> 192.168.0.112:6783 96:97:48:c2:1e:8a(harbor) established
96:97:48:c2:1e:8a(harbor)
<- 192.168.0.110:48422 de:f0:d4:1c:4a:59(es1) established








