docker (centOS 7) 使用笔记5 - weave网络
weave官网 https://www.weave.works
1. 下载安装
sudo curl -L git.io/weave -o /usr/local/bin/weave
sudo chmod a+x /usr/local/bin/weave
2. 部署weave网络
(1) 在第一台机器上运行,如果使用默认的 10.0.*.* 网段则如下
weave launch
本次测试使用自定义的网段,所以启动指令有所不同:
weave launch --ipalloc-range 168.108.0.0/
启动成功后,会有3个weave的容器运行中
# docker ps -a
c9ed14e97dfd weaveworks/weave:2.0. "/home/weave/weave..." days ago Up days weave
7db070b5f54e weaveworks/weaveexec:2.0. "/bin/false" days ago Created weavevolumes-2.0.
b6d603c8c7a8 weaveworks/weavedb "data-only" days ago Created weavedb
可看到增加了虚拟网卡 weave
# ifconfig
datapath: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether a6::9d:b6:5f: txqueuelen (Ethernet)
RX packets bytes (84.0 B)
RX errors dropped overruns frame
TX packets bytes (0.0 B)
TX errors dropped overruns carrier collisions docker0: flags=<UP,BROADCAST,MULTICAST> mtu
inet 192.168.0.1 netmask 255.255.240.0 broadcast 0.0.0.0
ether :::9e::4b txqueuelen (Ethernet)
RX packets bytes (0.0 B)
RX errors dropped overruns frame
TX packets bytes (0.0 B)
TX errors dropped overruns carrier collisions docker_gwbridge: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.16.1 netmask 255.255.240.0 broadcast 0.0.0.0
ether ::b9::2f:b8 txqueuelen (Ethernet)
RX packets bytes (28.1 MiB)
RX errors dropped overruns frame
TX packets bytes (28.1 MiB)
TX errors dropped overruns carrier collisions eth0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 10.28.148.61 netmask 255.255.252.0 broadcast 10.28.151.255
ether ::3e:0e::7a txqueuelen (Ethernet)
RX packets bytes (11.5 GiB)
RX errors dropped overruns frame
TX packets bytes (7.9 GiB)
TX errors dropped overruns carrier collisions eth1: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 101.37.162.152 netmask 255.255.252.0 broadcast 101.37.163.255
ether ::3e:0e::ce txqueuelen (Ethernet)
RX packets bytes (513.3 MiB)
RX errors dropped overruns frame
TX packets bytes (4.3 GiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen (Local Loopback)
RX packets bytes (28.1 MiB)
RX errors dropped overruns frame
TX packets bytes (28.1 MiB)
TX errors dropped overruns carrier collisions veth7720327: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether 7e::f5::6d:9e txqueuelen (Ethernet)
RX packets bytes (372.0 B)
RX errors dropped overruns frame
TX packets bytes (798.0 B)
TX errors dropped overruns carrier collisions weave: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether c2:a6::::0a txqueuelen (Ethernet)
RX packets bytes (84.0 B)
RX errors dropped overruns frame
TX packets bytes (0.0 B)
TX errors dropped overruns carrier collisions
(2) 其他的节点加入加入上面已经创建的weave网络
weave launch 10.28.148.61 --ipalloc-range 168.108.0.0/
(3) 创建网络成功的话,在每个节点上都可以用docker命令查看到weave网络
# docker network ls
NETWORK ID NAME DRIVER SCOPE
7c19813ffbff bridge bridge local
a7a2188380ba docker_gwbridge bridge local
7f97ac1cfe6e host host local
z08xcdlswkbk ingress overlay swarm
dfa68b3918b3 none null local
42f695c8c061 weave weavemesh local
3. docker启动测试
(1) 启动相当简单,仅需正常的docker命令中指定network为weave就行了
docker run -ti --network weave mytest
(2) 在2个节点上启动容器
在容器内部ifconfig可以看到容器使用的是weave的子网段,2个节点分别是168.108.0.1和168.108.192.0
[root@f451f6736785 /]# ifconfig
ethwe0 Link encap:Ethernet HWaddr :6E:BF:E4::A7
inet addr:168.108.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (42.0 b) TX bytes: (42.0 b) eth0 Link encap:Ethernet HWaddr ::C0:A8::
inet addr:192.168.16.6 Bcast:0.0.0.0 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (0.0 b) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (0.0 b)
[root@7c202270ff9f /]# ifconfig
ethwe0 Link encap:Ethernet HWaddr F6:8D:A2:CB:EF:F5
inet addr:168.108.192.0 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (42.0 b) eth0 Link encap:Ethernet HWaddr ::C0:A8::
inet addr:192.168.16.3 Bcast:0.0.0.0 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (0.0 b) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (0.0 b)
在容器里可以互相ping通
[root@f451f6736785 /]# ping 168.108.192.0
PING 168.108.192.0 (168.108.192.0) () bytes of data.
bytes from 168.108.192.0: icmp_seq= ttl= time=0.935 ms
bytes from 168.108.192.0: icmp_seq= ttl= time=0.334 ms
bytes from 168.108.192.0: icmp_seq= ttl= time=0.257 ms
bytes from 168.108.192.0: icmp_seq= ttl= time=0.386 ms
^C
--- 168.108.192.0 ping statistics ---
packets transmitted, received, % packet loss, time 3845ms
rtt min/avg/max/mdev = 0.257/0.478/0.935/0.267 ms
[root@7c202270ff9f /]# ping 168.108.0.1
PING 168.108.0.1 (168.108.0.1) () bytes of data.
bytes from 168.108.0.1: icmp_seq= ttl= time=0.428 ms
bytes from 168.108.0.1: icmp_seq= ttl= time=0.274 ms
bytes from 168.108.0.1: icmp_seq= ttl= time=0.344 ms
bytes from 168.108.0.1: icmp_seq= ttl= time=0.341 ms
^C
--- 168.108.0.1 ping statistics ---
packets transmitted, received, % packet loss, time 8592ms
rtt min/avg/max/mdev = 0.235/0.301/0.428/0.056 ms
(3) 网速测试:
本次测试的环境是阿里云上的ECS,内网带宽为 1Gbits。
先安装iperf3(网速测试工具)
curl "http://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gz" -o iperf-3.0..tar.gz
tar xzvf iperf-3.0..tar.gz
cd iperf-3.0.
./configure
make
make install
在节点2上启动iperf服务
# iperf3 -s
-----------------------------------------------------------
Server listening on
-----------------------------------------------------------
在节点1上启动网速测试
# iperf3 -c 168.108.192.0
Connecting to host 168.108.192.0, port
[ ] local 168.108.0.1 port connected to 168.108.192.0 port
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ ] 0.00-1.00 sec MBytes 1.42 Gbits/sec KBytes
[ ] 1.00-2.00 sec 95.2 MBytes Mbits/sec KBytes
[ ] 2.00-3.00 sec 95.0 MBytes Mbits/sec KBytes
[ ] 3.00-4.00 sec 96.2 MBytes Mbits/sec KBytes
[ ] 4.00-5.00 sec 93.8 MBytes Mbits/sec KBytes
[ ] 5.00-6.00 sec 95.0 MBytes Mbits/sec KBytes
[ ] 6.00-7.00 sec 95.0 MBytes Mbits/sec KBytes
[ ] 7.00-8.00 sec 95.0 MBytes Mbits/sec KBytes
[ ] 8.00-9.00 sec 93.8 MBytes Mbits/sec KBytes
[ ] 9.00-10.00 sec 95.0 MBytes Mbits/sec KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ ] 0.00-10.00 sec MBytes Mbits/sec sender
[ ] 0.00-10.00 sec MBytes Mbits/sec receiver iperf Done.
测试下来平均网速:发送速度 859 Mbits/sec ,收取速度 856 Mbits/sec。网速还是让人比较满意的。
docker (centOS 7) 使用笔记5 - weave网络的更多相关文章
- docker (centOS 7) 使用笔记3 - docker swarm mode
1. 什么是docker swarm mode docker engine自带的 容器管理 工具.功能比较早的 docker swarm 更多,且集成在docker engine里. (docker ...
- docker (centOS 7) 使用笔记2 - 使用nfs作为volume
本次测试的服务器2台,服务器#1(centos7)最为docker容器所在的host,服务器#2(centos6)提供NFS服务 1. #2上配置NFS服务 (1) 安装nfs软件包 yum -y i ...
- docker (centOS 7) 使用笔记1
1. docker配置 初次在安装完docker后,初始化配置 copy默认的docker.service后,重启服务,会在/etc/systemd/system/multi-user.target. ...
- docker (centOS 7) 使用笔记3 - 修改docker默认的虚拟网址
近日在使用VPN时发现和docker的虚拟网址发生了冲突,都是172.17.0.1,故需要修改docker的默认网址. 1. 当前状态 # ifconfig docker0: flags=<UP ...
- docker (centOS 7) 使用笔记4 - etcd服务
本次测试的系统包含centos 7.2 64 bit,centos 7.3 64 bit 1. 安装 yum -y install etcd 2. 配置 此处一共准备了3台机器(10.10.10.10 ...
- docker (centOS 7) 使用笔记6 - skydns
skydns被用于kubenets作为DNS服务.本次测试是单独使用skydns作为DNS服务器,且作为loadbalance使用. 前提:需要先安装配置etcd服务 (在前面的文章里,已经安装部署了 ...
- 如何使用 Weave 网络?- 每天5分钟玩转 Docker 容器技术(63)
weave 是 Weaveworks 开发的容器网络解决方案.weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来.对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交 ...
- Weave 网络结构分析 - 每天5分钟玩转 Docker 容器技术(64)
上一节我们安装并创建了 Weave 网络,本节将部署容器并分析网络结构.在 host1 中运行容器 bbox1: eval $(weave env) docker run --name bbox1 - ...
- Docker Weave网络部署
Weave在Docker主机之间实现Overlay网络,使用业界标准VXLAN封装,基于UDP传输,也可以加密传输.Weave Net创建一个连接多个Docker主机的虚拟网络,类似于一个以太网交换机 ...
随机推荐
- Angular6中[ngClass]、[ngStyle]的基本使用
1.ngStyle 基本用法 <div [ngStyle]="{'background-color':'green'}"></<div> 判断添加 & ...
- Struts动态联动效果
<%@page contentType="text/html;charset=utf-8"%> <%@ include file="../../comm ...
- Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
随着Jquery的作用越来越大,使用的朋友也越来越多.在Web中,由于CheckBox. Radiobutton . DropDownList等控件使用的频率比较高,就关系到这些控件在Jquery中的 ...
- WebAppBuilder独立于portal之arcgis for js应用框架研究之二
WAB采用ArcGIS JavaScript for API作为地图开发底层,采用Web AppBuilder作为开发框架,利用该框架即拿即用的Widget来构建应用,比如制图.查询.地理处理.编辑. ...
- 【转】【win网络编程】socket中的recv阻塞和select的用法
在编写ftp客户端程序时,在联通后使用recv函数进行接收欢迎信息时,需要申请内存进行接收数据保存,一次读取成功,但是由于一个随机的ftp服务端在说,欢迎信息的大小是不知道的,所以在尝试使用死循环,在 ...
- 关于sql查询结果集的链接
开通博客有一段时间了,第一次博文.本身是个理工科的,没啥文采,就想着把平时遇到的问题记录下来,防止自己以后忘了还要去翻找. 今天看到同事写的代码,查询两张表里的数据,结果集类型是一样的.写了两条查询, ...
- 神经网络系列学习笔记(二)——神经网络之DNN学习笔记
一.单层感知机(perceptron) 拥有输入层.输出层和一个隐含层.输入的特征向量通过隐含层变换到达输出层,在输出层得到分类结果: 缺点:无法模拟稍复杂一些的函数(例如简单的异或计算). 解决办法 ...
- Android Studio 安装与使用ADB wifi 无线调试
首先,安装ADB WIFI File->Settings->Plugins 其次,用USB连接手机与电脑(并开启手机的调试模式) 任务栏若无提示,即可拔下USB线,开始无线调试 任务栏若是 ...
- web项目中信息显示不全
如果页面的信息加载不全: 1. 可能是SQL写的不对,查的SQL写错了会导致信息展示问题 2. 或者是分页的初始化设置 过小导致,关于分页xxxPage.java的实体类初始值的pageSize设置的 ...
- BZOJ - 2744 朋友圈 (二分图上的最大团)
[题目大意] 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目.两 ...