Weave网络使用之前需要执行  eval $(weave env) ,其作用是将后续的docker 命令发送给weave proxy处理,如果需要恢复之前的网络,可以执行 eval $(weave env --restore)
 
 
root@host1:~# eval $(weave env)
root@host1:~# docker run --name bbox1 -itd busybox
c3414fa41f61583a82aeef4dbbe8f4431f01b063a60696f15ccab35ab68b13f7
root@host1:~# docker exec bbox1 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
24: eth0@if25: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
    link/ether 02:42:0a:02:2e:02 brd ff:ff:ff:ff:ff:ff
    inet 10.2.46.2/24 brd 10.2.46.255 scope global eth0
       valid_lft forever preferred_lft forever
26: ethwe@if27: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1376 qdisc noqueue
    link/ether aa:f8:77:29:4e:49 brd ff:ff:ff:ff:ff:ff
    inet 10.32.0.1/12 brd 10.47.255.255 scope global ethwe
       valid_lft forever preferred_lft forever
root@host1:~# ip link
27: vethwepl3962@if26: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue master weave state UP mode DEFAULT group default
    link/ether 3e:45:bc:fd:67:82 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root@host1:~# brctl show
bridge name    bridge id        STP enabled    interfaces
docker0        8000.0242fbab05c3    no        vetha0c66cd
weave        8000.9aac0ef31a18    no        vethwe-bridge
                                            vethwepl3962
 
#    bbox1中的 ethwe@if27  与 host 上的 vethwe13962@if26 是一对 veth pair , vethwep13962 又挂在了桥 weave下面
 
root@host1:~# ip -d link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:87:4c:70 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:87:22:32 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
4: ens192.10@ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:87:22:32 brd ff:ff:ff:ff:ff:ff promiscuity 0
    vlan protocol 802.1Q id 10 <REORDER_HDR> addrgenmode eui64
5: ens192.20@ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:87:22:32 brd ff:ff:ff:ff:ff:ff promiscuity 0
    vlan protocol 802.1Q id 20 <REORDER_HDR> addrgenmode eui64
6: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/ether 66:2b:a5:56:0d:c6 brd ff:ff:ff:ff:ff:ff promiscuity 0
    vxlan id 1 local 10.12.31.211 dev ens160 srcport 0 0 dstport 8472 nolearning ageing 300 addrgenmode eui64
7: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 02:42:fb:ab:05:c3 brd ff:ff:ff:ff:ff:ff promiscuity 0
    bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1Q addrgenmode eui64
16: datapath: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/ether 0e:46:0b:d9:e7:46 brd ff:ff:ff:ff:ff:ff promiscuity 1
    openvswitch addrgenmode eui64
18: weave: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 9a:ac:0e:f3:1a:18 brd ff:ff:ff:ff:ff:ff promiscuity 0
    bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1Q addrgenmode eui64
19: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 76:8c:4e:05:d9:24 brd ff:ff:ff:ff:ff:ff promiscuity 0
    dummy addrgenmode eui64
21: vethwe-datapath@vethwe-bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue master datapath state UP mode DEFAULT group default
    link/ether be:d6:9a:e2:7c:cb brd ff:ff:ff:ff:ff:ff promiscuity 1
    veth
    openvswitch_slave addrgenmode eui64
22: vethwe-bridge@vethwe-datapath: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue master weave state UP mode DEFAULT group default
    link/ether e2:ad:6d:b8:8d:c4 brd ff:ff:ff:ff:ff:ff promiscuity 1
    veth
    bridge_slave state forwarding priority 32 cost 2 hairpin off guard off root_block off fastleave off learning on flood on addrgenmode eui64
23: vxlan-6784: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master datapath state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether da:4e:f2:ed:84:34 brd ff:ff:ff:ff:ff:ff promiscuity 1
    vxlan id 0 srcport 0 0 dstport 6784 nolearning ageing 300 udp6zerocsumrx
    openvswitch_slave addrgenmode eui64
25: vetha0c66cd@if24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether 0a:ea:26:d8:40:3c brd ff:ff:ff:ff:ff:ff link-netnsid 0 promiscuity 1
    veth
    bridge_slave state forwarding priority 32 cost 2 hairpin off guard off root_block off fastleave off learning on flood on addrgenmode eui64
27: vethwepl3962@if26: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue master weave state UP mode DEFAULT group default
    link/ether 3e:45:bc:fd:67:82 brd ff:ff:ff:ff:ff:ff link-netnsid 0 promiscuity 1
    veth
    bridge_slave state forwarding priority 32 cost 2 hairpin on guard off root_block off fastleave off learning on flood on addrgenmode eui64
 
#       1、vethwe-bridge@vethwe-datapath 和 vethwe-datapath@vethwe-bridge 是一对 veth pair
#    2、vethwe-datapath 的父设备(master)是datapath
#    3、datapath是一个openvswitch
#    4、vxlan-6784 是vxlan interface ,其master也是datapath,weave主机间通信走的是vxlan
 
 
 
root@host1:~# docker run --name bbox2 -itd busybox
8ba1a2fd0b8142460adce5c0c84f340f1293c70725703f7553b8eb8f3b559a9b
root@host1:~# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS               NAMES
8ba1a2fd0b81        busybox                      "/w/w sh"                7 seconds ago       Up 5 seconds                            bbox2
c3414fa41f61        busybox                      "/w/w sh"                7 minutes ago       Up 7 minutes                            bbox1
7e8598656934        weaveworks/weave:2.5.1       "/home/weave/weaver …"   25 hours ago        Up 25 hours                             weave
65fab63189a6        weaveworks/weaveexec:2.5.1   "data-only"              25 hours ago        Created                                 weavevolumes-2.5.1
a4d5d7b88819        weaveworks/weavedb:latest    "data-only"              25 hours ago        Created                                 weavedb
root@host1:~# docker exec bbox1 hostname
bbox1.weave.local
root@host1:~# docker exec bbox2 hostname
bbox2.weave.local
root@host1:~# docker exec bbox1 ping bbox2
PING bbox2 (10.32.0.2): 56 data bytes
64 bytes from 10.32.0.2: seq=0 ttl=64 time=0.097 ms
64 bytes from 10.32.0.2: seq=1 ttl=64 time=0.041 ms
64 bytes from 10.32.0.2: seq=2 ttl=64 time=0.076 ms
root@host1:~# docker exec bbox1 ip r
default via 10.2.46.1 dev eth0
10.2.46.0/24 dev eth0 scope link  src 10.2.46.2
10.32.0.0/12 dev ethwe scope link  src 10.32.0.1
224.0.0.0/4 dev ethwe scope link
root@host1:~# docker exec bbox2 ip r
default via 10.2.46.1 dev eth0
10.2.46.0/24 dev eth0 scope link  src 10.2.46.3
10.32.0.0/12 dev ethwe scope link  src 10.32.0.2
224.0.0.0/4 dev ethwe scope link
 
 
weave网络拓扑如下
 

064、Weave网络结构分析(2019-04-04 周四)的更多相关文章

  1. 第 8 章 容器网络 - 064 - Weave 网络结构分析

    Weave 网络结构分析 在 host1 中运行容器 bbox1: eval $(weave env) docker run --name bbox1 -itd busybox 首先执行 eval $ ...

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

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

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

    上一节我们创建了 macvlan 并部署了容器,本节详细分析 macvlan 底层网络结构. macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以 ...

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

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

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

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

  6. Docker Weave网络部署

    Weave在Docker主机之间实现Overlay网络,使用业界标准VXLAN封装,基于UDP传输,也可以加密传输.Weave Net创建一个连接多个Docker主机的虚拟网络,类似于一个以太网交换机 ...

  7. 第 8 章 容器网络 - 056 - macvlan 网络结构分析

    macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以确认没有创建新的 bridge. 查看一下容器 bbox1 的网络设备: 除了 lo,容器只有 ...

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

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

  9. 62-Weave 网络结构分析

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

随机推荐

  1. mysql 备份数据语句

    rem ******MySQL backup start********@echo offforfiles /p "D:\website\备份\数据库日常备份" /m backup ...

  2. MT【310】均值不等式

    (2014北约自主招生)已知正实数$x_1,x_2,\cdots,x_n$满足$x_1x_2\cdots x_n=1,$求证:$(\sqrt{2}+x_1)(\sqrt{2}+x_2)\cdots(\ ...

  3. HNOI2017 抛硬币 (FakeBeng)

    除了队长快跑外最难的题吧. 除了需要写\(exLucas\)之外,还教会了我大量的卡常技巧. 首先\(70\)分就是个直接按题意模拟,易得\(ans=\sum_{j=0}^{b} C_{b}^{j}\ ...

  4. 【BZOJ5213】[ZJOI2018]迷宫(神仙题)

    [BZOJ5213][ZJOI2018]迷宫(神仙题) 题面 BZOJ 洛谷 题解 首先可以很容易的得到一个\(K\)个点的答案. 构建\(K\)个点分别表示\(mod\ K\)的余数.那么点\(i\ ...

  5. Codeforces | CF1037D 【Valid BFS?】

    题目大意:给定一个\(n(1\leq n\leq 2\cdot10^5)\)个节点的树的\(n-1\)条边和这棵树的一个\(BFS\)序\(a_1,a_2,\dots,a_n\),判断这个\(BFS\ ...

  6. HDU5758 Explorer Bo 思维+树形dp

    题意自己看题目吧,挺短的. 思考过程:昨天感觉一天不做题很对不起自己,于是晚上跑到实验室打开别人树形dp的博客做了上面最后一个HDU的题,也是个多校题..一开始没有头绪了很久,因为起点不固定,所以这1 ...

  7. 【洛谷P2568】GCD

    题目大意:给定整数 \(N\),求\(1\le x,y\le N\) 且 \(gcd(x,y)\) 为素数的数对 \((x,y)\) 有多少对. 题解: \[ \sum_{p \in \text { ...

  8. django orm 重点大全

    1.最简单的跨表,查询外键表中符合主表条件的记录列表 #用户类型表 class User_typ(models.Model): name=models.CharField(max_length=32) ...

  9. windows 文件夹下所有文件名称

    dir dir /b 没有其它信息 dir /b >>xxx.txt 保存到txt

  10. python在数据处理中常用的模块之numpy

    一 numpy模块 NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该 ...