overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
上一节我们在 host1 中运行了容器 bbox1,今天将详细讨论 overlay 网络跨主机通信的原理。
在 host2 中运行容器 bbox2:
bbox2 IP 为 10.0.0.3,可以直接 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-f4af9b33c0”:
ip netns
......
1-f4af9b33c0
......
这就是 ov_net1 的 namespace,查看 namespace 中的 br0 上的设备。
查看 vxlan1 设备的具体配置信息可知此 overlay 使用的 VNI(VxLAN ID)为 256。
理解了 overlay 网络的连通性,下一节我们继续讨论 overlay 的网络隔离特性。
转载于:https://www.cnblogs.com/CloudMan6/p/7305989.html
overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)相关推荐
- 跨主机使用 Rex-Ray volume - 每天5分钟玩转 Docker 容器技术(77)
上一节我们在 docker1 上的 MySQL 容器中使用了 Rex-Ray volume mysqldata,更新了数据库.现在容器已经删除,今天将演示在 docker2 中重新使用这个卷. 在 d ...
- Service 之间如何通信?- 每天5分钟玩转 Docker 容器技术(101)
微服务架构的应用由若干 service 组成.比如有运行 httpd 的 web 前端,有提供缓存的 memcached,有存放数据的 mysql,每一层都是 swarm 的一个 service,每个 ...
- 准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)
为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络.VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 ...
- 容器间通信的三种方式 - 每天5分钟玩转 Docker 容器技术(35)
容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信. IP 通信 从上一节的例子可以得出这样一个结论:两个容器要能通信,必须要有属于同一个网络的网卡. 满足这 ...
- 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)
上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...
- 052、overlay如何实现跨主机通信?(2019-03-19 周二)
参考https://www.cnblogs.com/CloudMan6/p/7305989.html 今天开始学习 overlay 网络跨主机通信的原理 root@host01:~# ufw al ...
- Docker的网络模式和跨主机通信
文章转载自:http://www.a-site.cn/article/169899.html Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0 ...
- 50-overlay 如何实现跨主机通信?
上一节我们在 host1 中运行了容器 bbox1,今天将详细讨论 overlay 网络跨主机通信的原理. 在 host2 中运行容器 bbox2: bbox2 IP 为 10.0.0.3,可以直接 ...
- docke跨主机通信之gre隧道
GRE简介 GRE可以对网络层的任何协议来进行封装,类似LVS的IPIP协议,在原有的数据报上增加GRE协议数据报.然后在网络上传输,到达对端后,解开GRE数据报头,得到真实的数据报.其中的mac地址 ...
最新文章
- github用相对路径显示图片_url-图像未显示在GitHub的README.md中
- [算法]一次商品交易利益最大化
- 【STM32】USART相关函数和类型
- 2048java课程设计报告_2048小游戏-Java-课程设计报告书
- C#中的三层前馈神经网络,带有图形显示
- 各大浏览器保存密码的文件
- Windows Phone 7 不温不火学习之《Expression Blend 创建渐变效果和创建Storyboard动画》...
- 真实场景下如何解决类别不平衡问题
- 移动商城第十四篇【收货地址查询、添加、更新】
- 机器学习之自然语言处理——中文分词jieba库详解(代码+原理)
- top工具全字段解析+实战(一)
- EL| EL表达式总结
- Knockout+RequireJS+Sammy搭建简单的SPA脚手架
- 【BlockingQueue】BlockingQueue接口方法说明和区别
- [性能测试]LR常见问题整理
- 目前房价、股价下跌。市场出现希望*数市的呼声,请谈请你对救市的看法。
- 大电流dcdc降压芯片20a_关于LED驱动电源那些常见的十款经典LED驱动芯片
- opensource项目_宣布2018年Opensource.com社区奖获奖者
- “大数据金融”亟待“大数据安全”
- 决定显卡性能的比较重要的几个参数是什么?
热门文章
- 计算机英语阅读路线,高考英语阅读理解真题解析·计算机运用
- java 英文字符串排序_英文字符串排序算法
- webase crud查看所有表_Laravel-Gii 可视化代码生成工具 CRUD +GUI
- 电力电子、电机控制系统的建模和仿真_清华团队研发,首款国产电力电子仿真软件来啦~已捐赠哈工大、海工大、清华使用!...
- 所处理的数据在什么地方 有多长 如何定义 如何寻找
- 计算机科学导论(第一次阅读)
- python数据库连接池使用
- 数据结构 二叉树的存储结构_线程二叉树| 数据结构
- oracle网卡,Oracle_bond网卡配置
- 栈应用_检测成对符号是否正确使用(代码、分析、汇编)