Mesos,Marathon,云计算和10个数据中心 – 如何相互交stream?

我一直在研究Mesos,Marathon和Chronos组合来主持大量的网站。 在我的脑海中,我应该能够在我的笔记本电脑中input一些命令,等待大约30分钟的时间来构build和部署。

我唯一的问题是,我的资源分散在多个数据中心,众多的云账户和大约6个处所。 我看不出有什么理由不能从我的笔记本电脑中控制它们(当我的硬件出现问题时,我有严重的电源和控制问题!)

我在想,我最好的方法是在云中build立大脑(动物园饲养员和至less一个主人),然后添加到单独的数据中心,但我还没有看到任何分布式集群的例子,其中不是所有的节点都可以相互交谈。

任何人都可以推荐一个这样做的方式?

我有这样的设置,我想推荐:

  • GIT中的源代码,部署脚本和dockerfiles
  • 每个web服务都有自己的目录,并附带一个dockerfile来容纳它
  • 构build脚本(运行docker构build的shell脚本)将构build所有的docker容器,其中所有图像都被推送到docker镜像库
  • 一个可靠的部署将所有容器远程部署到一组VPS。 (您可以使用自己的部署过程,适合mesos / marathon)
  • 作为这个过程的一部分,一个activeMQ代理被部署到云中(是的,在一个容器中)。 在部署时,它为每个节点提供需要连接的代理的URL。 在你的设置中,你可以改为使用ZooKeeper或者etcd。

我也在使用jenkins做自动重build,并在GIT提交时运行部署,但也可以手动完成。

重build很快,部署也不需要太多时间。 我可以无休止地复制我的存储库中的所有内容,并且具有零configuration。

为了能够进行新的部署,我需要的是一组带有docker守护进程的VPS,以及一些用于持久化的数据存储。 我不知道这是否可以用mesos取代,但是ansible肯定能够在你的硬件上安装一个mesos云。

所有日志logging正在使用logstash完成,到一个中央日志logging服务器。

我已经安装了一个3主,5奴隶,1网关mesos /马拉松/docker设置和logging在这里https://github.com/debianmaster/Notes/wiki/Mesos-marathon-Docker-cluster-setup-on-RHEL-7 -with-三主

这可以帮助您理解数据中心内不同机器间的负载平衡/扩展

1)主站也可以用作从站2)mesos haproxy网桥脚本可用于在集群中新创build的服务的服务发现3)网关haproxy每分钟更新一次创build的新服务

这个文档有1)主/从设置2)设置haproxy自动重新加载3)设置dockers 4)示例服务程序