博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第 8 章 容器网络 - 052 - overlay 如何实现跨主机通信?
阅读量:5871 次
发布时间:2019-06-19

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

overlay 如何实现跨主机通信?

在 host2 中运行容器 bbox2:

docker run -itd --name bbox2 --network ov_net1 busybox

 

 

 

bbox2 IP 为 10.0.0.4,可以直接 ping bbox1:

 

 可见 overlay 网络中的容器可以直接通信,同时 docker 也实现了 DNS 服务。

 

overlay 网络的具体实现:

docker 会为每个 overlay 网络创建一个独立的 network namespace,其中会有一个 linux bridge br0,endpoint 还是由 veth pair 实现,一端连接到容器中(即 eth0),另一端连接到 namespace 的 br0 上。

br0 除了连接所有的 endpoint,还会连接一个 vxlan 设备,用于与其他 host 建立 vxlan tunnel。容器之间的数据就是通过这个 tunnel 通信的。逻辑网络拓扑结构如图所示:

 

 

要查看 overlay 网络的 namespace 可以在 host1 和 host2 上执行 ip netns(请确保在此之前执行过 ln -s /var/run/docker/netns /var/run/netns),可以看到两个 host 上有一个相同的 namespace “1-9a04f53798”:

 

这就是 ov_net1 的 namespace,查看 namespace 中的 br0 上的设备。

 

查看 vxlan1 设备的具体配置信息可知此 overlay 使用的 VNI(VxLAN ID)为 256。

 

 

 

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

 https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587771&idx=1&sn=d3cabc71d9a8ff34ce7a9192b188da08&chksm=8d308122ba4708349d01a6cfa2db04aef853e1813ee2a59dbc3bb7b50f712b170ad88de90d8a&scene=21#wechat_redirect

 

转载于:https://www.cnblogs.com/gsophy/p/10557207.html

你可能感兴趣的文章
jQuery - 删除元素
查看>>
Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.
查看>>
Linux中文件颜色所代表的属性和颜色
查看>>
day02-虚拟环境安装
查看>>
归并排序
查看>>
创建XML文件以及XML中的节点和更新Xml文件中的节点的值
查看>>
字节流转换为对象的方法
查看>>
使用临时表关联数据时效率低的问题
查看>>
Spring @AspectJ 实现AOP 入门例子(转)
查看>>
hdu 2255 奔小康赚大钱 KM算法
查看>>
bzoj 2752 9.20考试第三题 高速公路(road)题解
查看>>
通过一个模拟程序让你明白ASP.NET MVC是如何运行的
查看>>
BZOJ 1051 受欢迎的牛 缩点
查看>>
配置JAVA的环境变量
查看>>
好爸爸陪宝宝必做的50件小事儿
查看>>
服务器端跳转
查看>>
让低版本浏览器支持html5的标签
查看>>
hdu 6040 -Hints of sd0061(STL)
查看>>
【原创】cocos2d-x3.9蓝牙开发之蓝牙开启
查看>>
java面试题07
查看>>