50-overlay 如何实现跨主机通信?
上一节我们在 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-3e14e93b3e”:
这就是 ov_net1 的 namespace,查看 namespace 中的 br0 上的设备。
查看 vxlan0 设备的具体配置信息可知此 overlay 使用的 VNI(VxLAN ID)为 256。
理解了 overlay 网络的连通性,下一节我们继续讨论 overlay 的网络隔离特性。
转载于:https://www.cnblogs.com/mkxfs/p/10975363.html
50-overlay 如何实现跨主机通信?相关推荐
- 052、overlay如何实现跨主机通信?(2019-03-19 周二)
参考https://www.cnblogs.com/CloudMan6/p/7305989.html 今天开始学习 overlay 网络跨主机通信的原理 root@host01:~# ufw al ...
- overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
上一节我们在 host1 中运行了容器 bbox1,今天将详细讨论 overlay 网络跨主机通信的原理. 在 host2 中运行容器 bbox2: bbox2 IP 为 10.0.0.3,可以直接 ...
- Docker的网络模式和跨主机通信
文章转载自:http://www.a-site.cn/article/169899.html Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0 ...
- docke跨主机通信之gre隧道
GRE简介 GRE可以对网络层的任何协议来进行封装,类似LVS的IPIP协议,在原有的数据报上增加GRE协议数据报.然后在网络上传输,到达对端后,解开GRE数据报头,得到真实的数据报.其中的mac地址 ...
- docker跨主机网络——overlay与macvlan
docker的跨主机网络 前言 这篇文件分两种方式介绍docker跨主机通信,overlay和macvlan,macvlan的方式给大家做个参考,生产环境下不推荐大家使用这种方式
- docker跨主机集群之flannel
0. 环境说明 CentOS7 etcd-v3.4.3-linux-amd64.tar.gz flannel-v0.11.0-linux-amd64.tar.gz 官方文档:https://githu ...
- Docker 跨主机网络方案分析
PS:文章首发公众号,欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 上篇文章介绍了容器网络的单主机网络,本文将进一步介绍多 ...
- Docker 跨主机容器网络通信 -- Flannel 实现
一.简介 Flannel 是一种基于 overlay 网络的跨主机容器网络解决方案,也就是将 TCP 数据包封装在另一种网络包里面进行路由转发和通信,Flannel 是 CoreOS 开发,专门用于 ...
- 微服务自动化.03.跨主机集群
一.容器间内部通信 bridge模式 host模式 自定义网络 Container模式 None模式 二.跨主机通信 Docker默认的网络环境下,单台主机上的Docker容器可以通过docker0网 ...
最新文章
- 怎么将多个html组合_技巧分享之在HTML元素中添加逼真阴影的教程
- 走进JVM之一 自己编译openjdk源码
- Python打包之pyinstaller
- c++随机打乱数组_第四天 Java 数组与排序
- 零百1.8秒的电动车竟然是威马... | 云逛成都车展
- 初次使用uwsgi:no python application found, check your startup logs for errors
- 用httpPost对JSON发送和接收的例子
- java 动态转换器_非常简单的Java动态转换
- Shell nohup 命令详解
- 高速光通信-调制概述
- Excel快捷键(字母+数字)大全
- 明基PD2710QC测评
- CAD异常闪退的原因
- 竹云+巨杉丨互信认证 安全可靠
- AirTest 基本使用及框架浅剖析——五分钟上手制作游戏辅助
- Documentation/timers/hpet.txt
- 计算机及其应用本课程,北京08自考计算机及应用(独本)课程设置
- Linux安装chrome的两个方法
- 笔记本电脑打开后不显示桌面_70后、80后、90后、00后……不一样的夏天打开方式,满满回忆!| 特别关注...
- 把游戏里面的 UI 做成前端组件库会怎么样?