我正在开发一个具有 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 台机器前面?