如何进行Weave 网络结构分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
小编将部署容器并分析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 通信的。
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 通信。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。