• 第 8 章 容器网络


    Weave 网络结构分析

    在 host1 中运行容器 bbox1:

    eval $(weave env)

    docker run --name bbox1 -itd busybox

     

    首先执行 eval $(weave env) 很重要,其作用是将后续的 docker 命令发给 weave proxy 处理。

    如果要恢复之前的环境,可执行 eval $(weave env --restore)

     

    查看一下当前容器 bbox1 的网络配置:

     

    bbox1 有两个网络接口 eth0 和 ethwe,其中 eth0 连接的是默认 bridge 网络,即网桥 docker0。

     

    现在我们重点分析 ethwe。从命名和分配的 IP 10.32.0.1/12 可以猜测 ethwe 与 weave 相关,ethwe@if16 告诉我们与 ethwe 对应的是编号 16 的 interface。

    从 host1 的 ip link 命令输出中找到该 interface:

    vethwepl3086 与 ethwe 是一对 veth pair,而且 vethwepl3086 挂在 host1 的 Linux bridge weave 上。

    除了 vethwepl3086,weave 上还挂了一个 vethwe-bridge,这是什么?让我们更深入的分析一下

    查看 ip -d link 输出:

    这里出现了多个新 interface:

    1) vethwe-bridge 与 vethwe-datapath 是 veth pair。

    2) vethwe-datapath 的父设备(master)是 datapath。

    3) datapath 是一个 openvswitch。

    4) vxlan-6784 是 vxlan interface,其 master 也是 datapath,weave 主机间是通过 VxLAN 通信的。

     

    host1 的网络结构如下图所示:

    weave 网络包含两个虚拟交换机:Linux bridge weave Open vSwitch datapathveth pair vethwe-bridge vethwe-datapath 将二者连接在一起。

     

    weave 和 datapath 分工不同,weave 负责将容器接入 weave 网络,datapath 负责在主机间 VxLAN 隧道中并收发数据。

     

    再运行一个容器 bbox2。

    docker run --name bbox2 -itd busybox

    当前 host1 网络结构为:

     

     ----------------------------------------------引用来自------------------------------------------------

    https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587832&idx=1&sn=710f49b1d27700dd1027ef1799870e24&chksm=8d308161ba470877ed8283423553eb478129ce042ccb9eb13efbaacb5f9a883876982715a38d&scene=21#wechat_redirect

     

  • 相关阅读:
    iphone合并.a文件,制作通用静态库
    iphone技巧3
    在windows下安装collabnet subversion server 1.6.5 正确
    iphone技巧2
    iPhone开源库
    盗链,可耻啊
    Jquery ajax 缓存
    js调用服务器端按钮的事件
    电脑删除文件很慢怎么回事?
    解决'System.OutOfMemoryException' 的问题
  • 原文地址:https://www.cnblogs.com/gsophy/p/10654807.html
Copyright © 2020-2023  润新知