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

  以上安装方法不行使用以下方式安装

cd /usr/local
git clone https://github.com/weaveworks/weave
cd /usr/local/weave/
cp weave /usr/local/bin/

  

  启动并于其他主机连接

weave launch

  会启动并下载镜像

  连接

weave launch 192.168.56.129
#另外一台主机输入
weave launch 192.168.56.128

  

查看路由进程

  节点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会绕过这个主机,保证两边容器可以继续通信,当恢复时,恢复完全连接。

 

Docker Weave网络部署的更多相关文章

  1. Docker Weave 应用部署

    Docker Weave 应用条件 官方文档:https://www.weave.works/docs/net/latest/install/installing-weave 使用前提: 1. 确保L ...

  2. docker flannel网络部署和路由走向分析

    1.flannel介绍 flannel是coreos开发的容器网络解决方案.flannel为每个host分配一个subnet,容器从此subnet中分配ip.这些ip可以在host间路由,容器间无需n ...

  3. Docker Macvlan网络部署

    Macvlan Bridge模式 节点1创建 docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1. ...

  4. 如何使用 Weave 网络?- 每天5分钟玩转 Docker 容器技术(63)

    weave 是 Weaveworks 开发的容器网络解决方案.weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来.对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交 ...

  5. Weave 网络结构分析 - 每天5分钟玩转 Docker 容器技术(64)

    上一节我们安装并创建了 Weave 网络,本节将部署容器并分析网络结构.在 host1 中运行容器 bbox1: eval $(weave env) docker run --name bbox1 - ...

  6. docker (centOS 7) 使用笔记5 - weave网络

    weave官网 https://www.weave.works 1. 下载安装 sudo curl -L git.io/weave -o /usr/local/bin/weave sudo chmod ...

  7. 第 8 章 容器网络 - 063 - 如何使用 Weave 网络?

    如何使用 Weave 网络? weave 是 Weaveworks 开发的容器网络解决方案. weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来. 对容器来说,weave 就像一个巨大的以 ...

  8. Docker源码分析(六):Docker Daemon网络

    1. 前言 Docker作为一个开源的轻量级虚拟化容器引擎技术,已然给云计算领域带来了新的发展模式.Docker借助容器技术彻底释放了轻量级虚拟化技术的威力,让容器的伸缩.应用的运行都变得前所未有的方 ...

  9. 61-如何使用 Weave 网络?

    weave 是 Weaveworks 开发的容器网络解决方案.weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来.对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交 ...

随机推荐

  1. 大型互联网架构概述 关于架构的架构目标 典型实现 DNS CDN LB WEB APP SOA MQ CACHE STORAGE

    大型互联网架构概述 目录 架构目标 典型实现 DNS CDN LB WEB APP SOA MQ CACHE STORAGE 本文旨在简单介绍大型互联网的架构和核心组件实现原理. 理论上讲,从安装配置 ...

  2. 基于Openresty+的WEB安全防护系统架构--转

    随着时间的推移,我们在实践中也不断的演进我们的服务部署方案,希望WEB防护,不只是单独的云WAF来保护服务,而有其它的相关服务,对WAF进行增强加固的合理配合.我们使用Openresty+系统构建了W ...

  3. [转]bootstrap table 动态列数

    原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味 ...

  4. STM32 ADC 采样 频率的确定

    一 STM32 ADC 采样频率的确定 1.       : 先看一些资料,确定一下ADC 的时钟: (1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步.CLK 控制器为A ...

  5. Java编程的逻辑 (86) - 动态代理

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  6. CMS 01

    环境搭建 工具 sublime mysql 5.7, 数据库管理 Navicat django 1.10, django shell (可以用来检查错误) 操作系统, windows 7 搭建 dja ...

  7. 关于Unity中NGUI的Pivot和锚点

    Pivot 1.创建一个Sprite类型的Sprite1节点,关联一个图集和一张贴图,用图中的六个按钮调整这个贴图的Pivot点,一共有八个点可以选择 2.再创建一个Sprite类型的Sprite2节 ...

  8. (原)java 向上转型中,任何域的访问操作都是由编译器解析,不是多态

    最近在向java发力,学习学习了下.看到了多态这一节,书中有个比较好的例子,所以就准备写下来,记录下来: package dynamic_binding01; public class dynamic ...

  9. Linux 目录结构_004

    前言 Linux文件系统层次标准,英文全称Filesystem Hierarchy Standard,英文简称FHS. 由于利用Linux来开发产品的团队和个人实在太多了,如果每个人都以自己的想法来配 ...

  10. java指纹识别+谷歌图片识别技术_源代码

    主类: import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; public c ...