5

我一直在研究 Mesos、Marathon 和 Chronos 组合来托管大量网站。在我的脑海中,我应该能够在我的笔记本电脑中输入一些命令,然后等待大约 30 分钟以构建和部署这个东西。

我唯一的问题是,我的资源分散在多个数据中心、众多云帐户和大约 6 个本地位置。我看不出为什么我不能从我的笔记本电脑上控制它们——(当涉及到我的硬件时,我有严重的电源和控制问题!)

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

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

4

3 回答 3

0

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

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

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

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

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

所有的日志记录都是通过 logstash 完成的,到一个中央日志服务器。

于 2015-03-26T12:33:22.227 回答
0

我已经设置了 3 个主设备、5 个从设备、1 个网关 mesos/marathon/docker 设置并记录在这里 https://github.com/debianmaster/Notes/wiki/Mesos-marathon-Docker-cluster-setup-on-RHEL-7 -与三大师

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

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

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

于 2015-05-13T06:39:09.430 回答
0

您应该使用Terraform将您的基础设施编排为代码。

Terraform 有许多提供程序,允许您管理跨多个云服务和/或裸机资源(如 vSphere)的不同资源。

您可以从入门指南开始

于 2018-01-05T12:20:37.647 回答