1

我正在开发一个具有 3 个 mesos-master 节点(ip 105,106,107)和 3 个 mesos-slave 节点(ip 109,110,111)的 Mesos 集群。Apache Marathon v0.8.0 安装在 3 个主节点上,Docker v1.5 安装在 3 个从节点上。

我在 Mesosphere youtube 频道上找到了一个Mesos + Docker 教程,他们在那里通过 Marathon api 部署了一个 Nginx 网络服务器,我按照视频进行操作,Nginx 部署在一个 Docker 容器中,我能够将应用程序扩展到更多实例然后我有从节点。

现在我正在尝试在节点上安装 HAproxy 以实现负载平衡。我按照Mesosphere 网站上的本教程进行 HAproxy-Marathon-Bridge 安装。HAproxy 现在通过 cronjob 能够找到正在运行的实例。

问题是,在安装 Marathon 桥之后,我无法将我的实例扩展得超过可用节点,即使每个从站上只有一个 Nginx 实例运行。Also the Ngingx index.html is available at my 105:80 server (the elected leader) and 107:80. 我不知道为什么会这样。Because I thought Haproxy and Marathon bridge always redirected the traffic to port 80 of the elected leader.

HAproxy 和 HAproxy Marathon Bridge 安装在每个主节点和每个从节点上。我是否要卸载 master 上的 HAproxy 和 HAproxy Marathon Bridge 并将一台 HAproxy 机器放在这 3 台机器前面?

4

1 回答 1

2

不是 Haproxy 的问题,卸载所有 mesos 节点(Master/Slave)上的 Haproxy 并安装在一个节点上。

按照此链接中的流程进行操作: https ://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html

安装 Haproxy marathon bridge 后,您可以使用以下 URL 访问您的马拉松应用程序

Haproxy servername:Service-port of-Marathon-App

Haproxy 对自动缩放部分没有任何作用

于 2015-08-05T11:01:31.097 回答