首页 > 服务配置 > linux工匠之mesos marathon consul的集群试验
2016
12-08

linux工匠之mesos marathon consul的集群试验

我们今天做mesos、marathon和consul的集成试验,通过consul的自动发现,配合named服务,在docker容器中能够自动识别服务的域名,以便在mesos+marathon中部署docker实例能够通过域名互通。也就是consul在docker容器中的自动发现。

如果是线上,consul server最少是3台做集群,consul client是每个mesos-slave上跑一个,mesos-master也最少3台集群,marathon和zookeeper、bind都应该是集群的模式。集群配置在前两篇博文有说明,consul集群的服务注册发现和模板使用  小议mesos marathon和chronos构建分布式系统,请予查看。

部署结构说明,总共3台虚拟机:

consul的配置如下:

bind服务配置:

我们现在注册consul服务,在master主机注册marathon服务

在vm01主机注册zookeeper服务

linux工匠之mesos marathon consul的集群试验 - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

ok,来master主机测试dig的结果

因为在docker中用到bind服务,所以修改docker的配置,添加dns选项:

终于上面都完成了,开始最后的试验:在mesos-master中新建一个application,并且在mesos-slave主机查看docker的运行情况

linux工匠之mesos marathon consul的集群试验 - 第2张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

这时候已经完成了试验,不过似乎没发现什么,我们再来看consul的service,发现多了一个mesos

linux工匠之mesos marathon consul的集群试验 - 第3张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

最终的结果是需要在docker中能够和consul提供的域名通信,所以启动一个docker镜像,在里面ping consul.service.consul 此域名查看

你会发现,在docker中已经可以访问consul服务注册的域名,这个才是重要的结果。我们不是常常用一个域名反代多个主机提供的服务来做集群的吗,consul正合适!

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。