私は、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 Web サーバーがデプロイされていました。ビデオをたどるとうまくいきました。Nginx は Docker コンテナーにデプロイされ、アプリをさらにスケールアップすることができました。インスタンスの場合、スレーブノードがあります。
ノードの負荷分散のために HAproxy をインストールしようとしています。HAproxy-Marathon-Bridge のインストールについては、Mesosphere Web サイトのこのチュートリアルに従いました。HAproxy は現在、実行中のインスタンスを見つけることができる cronjob を介しています。
問題は、Marathon ブリッジのインストール後、すべてのスレーブで Nginx のインスタンスが 1 つしか実行されていない場合でも、利用可能なノードを超えてインスタンスをスケールアップできないことです。また、Ngingx index.html は、私の 105:80 サーバー (選出されたリーダー) と 107:80 で利用できます。なぜそうなのかはわかりません。Haproxy と Marathon ブリッジは常に、選出されたリーダーのポート 80 にトラフィックをリダイレクトすると思っていたからです。
HAproxy と HAproxy Marathon Bridge は、すべてのマスター ノードとすべてのスレーブ ノードにインストールされます。マスター上の HAproxy と HAproxy Marathon Bridge をアンインストールし、1 台の HAproxy マシンをそれら 3 台の前に配置しますか?