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 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 台の前に配置しますか?

4

1 に答える 1

2

Haproxy の問題ではなく、すべての mesos ノード (マスター/スレーブ) で Haproxy をアンインストールし、1 つのノードにインストールします。

このリンクのプロセスに従ってください: 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 に答える