使用HAproxy在Mesos群集中加载平衡docker容器

时间:2015-04-10 16:52:02

标签: nginx docker haproxy mesos marathon

我正在研究具有3个mesos主节点(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 tutorial,他们在那里通过Marathon api部署了一个Nginx网络服务器,我按照视频进行了操作,Nginx部署在Docker容器中,我能够扩展应用程序到更多实例然后我有从属节点。

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

问题是,在安装了Marathon网桥后,我无法扩展我的实例,而不是我有可用的节点,即使每个从服务器上只运行一个Nginx实例。 Ngingx index.html也可以在我的105:80服务器(当选的领导者)和107:80上获得。我不知道为什么会这样。因为我认为Haproxy和Marathon桥总是将流量重定向到当选领导者的80号港口。

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

1 个答案:

答案 0 :(得分:2)

这不是Haproxy的问题,在所有mesos节点(主/从)上卸载Haproxy并将其安装在一个节点上。

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

安装Haproxy马拉松桥后,您可以使用URLS访问您的马拉松应用程序

Haproxy servername:Service-port of-Marathon-App

Haproxy对自动缩放部分没有做任何事情