Mesos,Marathon,云和10个数据中心 - 如何相互交流?

Mis*_*uru 5 amazon-web-services marathon docker mesos fig

我一直在研究Mesos,Marathon和Chronos组合来托管大量网站.在我的脑海中,我应该可以在我的笔记本电脑中键入一些命令,并等待大约30分钟来构建和部署.

我唯一的问题是,我的资源分散在多个数据中心,众多云帐户和大约6个内部场所.我没有理由不能通过我的笔记本电脑控制它们 - (当涉及到我的硬件时,我有严重的电源和控制问题!)

我认为我最好的方法是在云中建立大脑,(动物园饲养员和至少一个主人),然后添加单独的数据中心,但我还没有看到任何分布式集群的例子,其中并非所有节点都可以相互通信.

任何人都可以推荐一种方法吗?

Roy*_*oyB 0

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

  • GIT 中的源代码、部署脚本和 dockerfile
  • 每个 Web 服务都有自己的目录,并与 dockerfile 一起将其容器化
  • 构建脚本(运行 docker builds 的 shell 脚本)构建所有 docker 容器,其中所有镜像都被推送到 docker 镜像存储库
  • ansible 部署将所有容器远程部署到一组 VPS。(您使用自己的部署程序,适合 mesos/marathon)
  • 作为该过程的一部分,activeMQ 代理被部署到云中(是的,在容器中)。部署时,它为每个节点提供它们需要连接的代理的 URL。例如,在您的设置中,您可以使用 ZooKeeper 或 etcd。

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

重建速度快如闪电,部署也不需要太多时间。我可以无休止地复制存储库中的所有内容,并且具有零配置。

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

所有日志记录均通过 Logstash 完成到中央日志服务器。