文档章节

#DDBMS#构建一个简单的docker网络

Hochikong
 Hochikong
发布于 2015/02/15 22:55
字数 434
阅读 189
收藏 4

拓扑图如下:

host1:10.20.10.70

host2:10.20.10.71

分别在主机1和主机2上创建一个ovs交换机:

ovs-vsctl add-br ovs0
ip link set ovs0 up

分别为ovs0添加一个port(br0在同一网段):

ovs-vsctl add-port ovs0 br0

在主机1创建通往host2的gre隧道:

ovs-vsctl add-port ovs0 gre0 -- set interface gre0 type=gre options:remote_ip=10.20.10.71

在主机2创建通往host1的gre隧道:

ovs-vsctl add-port ovs0 gre0 -- set interface gre0 type=gre options:remote_ip=10.20.10.70

在主机1上启动一个容器(使用pipework把容器挂在br0上,分配的ip地址为192.168.2.10):

./ldocker.sh

在主机2上启动一个容器(使用pipework把容器挂在br0上,分配的ip地址为192.168.2.11):

./ldocker.sh

进入主机1上的容器,ping主机2上的容器:

可以ping通。。。



配置成功


host1上的ldocker.sh代码如下(反复试验的原因,打到手软了,所以用个简单脚本):

#!/bin/sh
docker run -itd --name=test1 hochikong/erbuntu:v1
pipework br0 test1 192.168.2.10/24

关于如何进入容器操作ping,请参见本人另一博文:http://my.oschina.net/hochikong/blog/369036


总结:这样的方案可以让同一网段的容器跨机器进行通讯,实现了应用的灵活部署。另外,我的拓扑和这个架构(http://www.sdnlab.com/8236.html)实现的功能是一样的,大家也可以参考下,不过我是bridge和OVS混用的,还可以在ovs0上实现VLAN,目前还没发现有什么大问题。

另外我尝试为ovs0配置ip,两个ovs0配置同一网段的ip(比如10.0.0.1和10.0.0.2),网络也可以通讯,去掉也没问题。

接下来我要尝试在两个host上创建多个这样的网络,测试结果迟些出吧。

© 著作权归作者所有

共有 人打赏支持
Hochikong
粉丝 19
博文 113
码字总数 59961
作品 1
广州
程序员
私信 提问
#DDBMS#冗余docker网络(进化版)

环境准备: vmware中配置四台ubuntu server 14.04(你可以只安装一个系统,使用克隆功能克隆出另外三台ubuntu),配置好SSH 每台机器配置两个网卡,像openstack一样,分Internal和External ...

Hochikong
2015/02/18
0
0
从分布式数据库结构入手讲解其前世今生

由于分布式数据库克服了集中式数据库的许多缺点,并且自然地适应于许多单位地理上分散而逻辑上统一的组织结构,因此,20多年以来从理论到实践都得到了迅速发展,并取得了决定性成果。   分...

Oscarfff
2016/06/10
294
0
重新审视 Docker 和 Jenkins

自从我首次撰写探讨我们如何组合 Docker 容器和 Jenkins 为 Riot Games 的诸多后端软件创建短期构建环境一文以来,已经过去两年多了。截至今天,此系列共有七篇文章,并且我们也受到了许多关...

oschina
06/12
0
0
运维之我的docker-compose快速创建zookeeper集群

很多时候大家不同的容器想要不用启动参数这个时候不妨使用脚本封装来实现,官方也很推荐这个做法,这里介绍下如何使用脚本传参快速启动一个zookeeper集群。 zookeeper集群大家知道有部分通用...

qq850900633
2017/03/20
0
0
CoreOS 称 Docker 有根本性缺陷,推出自己的容器引擎 Rocket

Docker 容器 是目前最热的容器技术之一,而 CoreOS 则是基于 Linux 的操作系统,主要用于大规模的服务器发布。CoreOS 使用 Docker 容器构建其服务,并对 Docker 项目做出巨大贡献。但今天该公...

oschina
2014/12/02
8.5K
39

没有更多内容

加载失败,请刷新页面

加载更多

solr使用规范

0. 目的 规范solr设计、用法,避免bug,提高性能 1. 设计规范 solr的用途是查询,不是存储,建议查询结果尽量都为id主键,而后再拿该id主键到缓存或者db中再查询相关信息,例如:请勿将经销商...

andersChow
17分钟前
1
0
11-《深度拆解JVM》之Java对象的内存布局

一、问题引入 在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Unsafe.allocateInstance 方法来新建对...

飞鱼说编程
22分钟前
1
0
Windows Install Docker

win7、win8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker toolbox...

linuxprobe16
26分钟前
1
0
混合云环境中扩展Kubernetes的挑战及方案

流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。 引 言 假设您的业务是在线的:您...

RancherLabs
34分钟前
1
0
Java集合小抄

Java集合小抄 1. List 1.1 ArrayList 以数组实现。节约空间,但是数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一...

傅小水water
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部