weave 是 Weaveworks 开发的容器网络解决方案。weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来。对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交换机,容器可以直接通信,无需 NAT 和端口映射。除此之外,weave 的 DNS 模块使容器可以通过 hostname 访问。

实验环境描述

weave 不依赖分布式数据库(例如 etcd 和 consul)交换网络信息,每个主机上只需运行 weave 组件就能建立起跨主机容器网络。我们会在 host1 和 host2 上部署 weave 并实践 weave 的各项特性。

安装部署 weave

weave 安装非常简单,在 host1 和 host2 上执行如下命令:

curl -L git.io/weave -o /usr/local/bin/weave

chmod a+x /usr/local/bin/weave

在 host1 中启动 weave

在 host1 中执行 weave launch 命令,启动 weave 相关服务。weave 的所有组件都是以容器方式运行的,weave 会从 docker hub 下载最新的 image 并启动容器。

weave 运行了三个容器:

weave 是主程序,负责建立 weave 网络,收发数据 ,提供 DNS 服务等。

weaveplugin 是 libnetwork CNM driver,实现 Docker 网络。

weaveproxy 提供 Docker 命令的代理服务,当用户运行 Docker CLI 创建容器时,它会自动将容器添加到 weave 网络。

weave 会创建一个新的 Docker 网络 weave

driver 为 weavemesh,IP 范围 10.32.0.0/12

docker network inspect weave

......

           "Config": [

               {

                   "Subnet": "10.32.0.0/12"

               }

           ]

......


weave 已经安装配置完毕,下一节我们部署容器并分析 weave 网络底层结构。

二维码+指纹.png

posted on 2017-09-04 07:23  CloudMan  阅读(4281)  评论(3编辑  收藏  举报