overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
来源:互联网 发布:日本对外贸易数据2015 编辑:程序博客网 时间:2024/06/05 02:38
上一节我们在 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 的网络隔离特性。
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- 如何实现跨 Docker 主机存储?- 每天5分钟玩转 Docker 容器技术(73)
- overlay 是如何隔离的?- 每天5分钟玩转 Docker 容器技术(53)
- Service 之间如何通信?- 每天5分钟玩转 Docker 容器技术(101)
- 如何实现 Service 伸缩?- 每天5分钟玩转 Docker 容器技术(97)
- Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)
- 容器在 Weave 中如何通信和隔离?- 每天5分钟玩转 Docker 容器技术(65)
- 容器在 Weave 中如何通信和隔离?- 每天5分钟玩转 Docker 容器技术(65)
- 实现容器的底层技术-每天5分钟玩转 Docker 容器技术(30)
- Docker 如何支持多种日志方案?- 每天5分钟玩转 Docker 容器技术(88)
- Docker 组件如何协作?- 每天5分钟玩转Docker容器技术(8)
- Docker 组件如何协作?- 每天5分钟玩转Docker容器技术(8)
- Docker 组件如何协作?- 每天5分钟玩转Docker容器技术(8)
- 如何运行容器?- 每天5分钟玩转 Docker 容器技术(22)
- 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
- 容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)
- Docker 组件如何协作?- 每天5分钟玩转容器技术(8)
- 如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)
- poj 2777 Count Color(线段树区间更新+技巧)
- lintcode刷题——快速幂
- javascript/js 原生动态引入外部css文件及动态插入css代码片段
- FileZilla上传文件到外网FTP服务器响应:550 Permission denied.
- Scala实战—连接oracle及mysql数据库
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
- Android Translucent System Bar 开发详解-实现沉浸式通知栏(通知栏与导航栏颜色相同)
- Android中轮播所用到viewPager.PageTransformer 页面滑动时候处理图片缩放效果代码
- 判断一个树是不是平衡二叉树
- Android SDK 之 InputMethodService 详解
- 网络爬虫抓包使用及通过表单请求
- 时间复杂度和空间复杂度
- Spring Ioc的基本原理及XML实现方法(下)
- [LeetCode] 583. Delete Operation for Two Strings