博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Weave 网络结构分析 - 每天5分钟玩转 Docker 容器技术(64)
阅读量:5104 次
发布时间:2019-06-13

本文共 1267 字,大约阅读时间需要 4 分钟。

上一节我们安装并创建了 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@if77 告诉我们与 ethwe 对应的是编号 77 的 interface。从 host1 的 ip link 命令输出中找到该 interface:

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

除了 vethwepl22809,weave 上还挂了一个 vethwe-bridge,这是什么?让我们更深入的分析一下,查看 ip -d link 输出:

这里出现了多个新 interface:

 vethwe-bridge  vethwe-datapath 是 veth pair。

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

 datapath 是一个 openvswitch。

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

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

weave 网络包含两个虚拟交换机:Linux bridge weave 和 Open vSwitch datapath,veth pair vethwe-bridge  vethwe-datapath 将二者连接在一起。weave  datapath 分工不同,weave 负责将容器接入 weave 网络,datapath 负责在主机间 VxLAN 隧道中并收发数据。

再运行一个容器 bbox2。

docker run --name bbox2 -itd busybox

 

weave DNS 为容器创建了默认域名 weave.local,bbox1 能够直接通过 hostname 与 bbox2 通信。

当前 host1 网络结构为:

host1 已准备就绪,下一节部署 host2 并讨论 Weave 的连通与隔离特性。

二维码+指纹.png

转载于:https://www.cnblogs.com/CloudMan6/p/7482035.html

你可能感兴趣的文章
CSUFT 1002 Robot Navigation
查看>>
BootStrap Table和Mybatis Plus实现服务端分页
查看>>
杨氏矩阵的一些性质
查看>>
由表单重复提交引发的幂等性思考
查看>>
Git 常用命令 和 安装
查看>>
http之url和uri
查看>>
python常用模块②
查看>>
Idea 设置根目录
查看>>
深度优先搜索算法
查看>>
写第一个驱动之前
查看>>
hysbz 2243 染色(树链剖分)
查看>>
JavaScript提高:006:ASP.NET使用easyUI TABS标签updatepanel
查看>>
Clojure实现的简单短网址服务(Compojure、Ring、Korma库演示样例)
查看>>
FindWindowEx使用方法
查看>>
Touch panel DTS 分析(MSM8994平台,Atmel 芯片)
查看>>
Ubuntu下deb包的安装方法
查看>>
很具体GC学习笔记
查看>>
支持向量机随笔
查看>>
List删除行问题
查看>>
Linux 基础知识
查看>>