2016-12-09 2 views
1

私は、mesos/marathonでドッカーコンテナを実行しています。私はヘルスチェックを実装したい、基本的にヘルスチェックスクリプトを実行したい。私の質問は、コンテナ自体でヘルスチェックコマンドを実行するのか、それともスレーブで実行するのでしょうか?これはおそらくコンテナレベルです。これはアプリケーションの健全性チェックごとであるため、明らかなようですが、確認したいと思います。実行されている場所を示す関連文書が見つかりませんでした。Marathonヘルスチェックコマンドモードの使い方は?

おかげ

私は奴隷に見コマンド、経由を/ tmp /テストファイルにエコーを試してみました。これはスレーブ上で動作することを意味しますか?ちょうど確認が必要です。これ以上の情報は役に立ちます。

答えて

4

短い答えは次のとおりです。長い答え:)。

コマンドヒースチェックは、タスクコンテナ内のMesosドッカーエグゼキュータによってdocker execによって実行されます。 「統一されたコンテナライター」を使用してコンテナを実行する場合、つまりドッカーデーモンのないドッカーコンテナの場合は、docker execがなく、Mesosエグゼキュータがコンテナのネームスペースをmntに入力するだけですチェック(this doc参照)。 HTTPとTCPのヘルスチェックはMarathonスケジューラによって実行されるため、コンテナが動作しているノード上にある必要はありません(Mesosエージェントを使用して同じノードでMarathonを実行する場合を除きます)。 this pageをチェックしてください。

Mesos 1.2.0およびMarathon 1.3からは、Mesos-native health checksという名前で実行する可能性があります。この場合、HTTP(S)とTCPヘルスチェックは、コンテナが動作しているエージェント上で実行されます。コンテナネットワークに到達できるように、これらのチェックでコンテナの名前空間netを入力します。

+0

回答ありがとうございます。ただいくつかのフォローアップ。私は基本的には、mesosとマラソンを実行しています。この場合、私は、スレーブがマラソンから到達可能かどうかをチェックしたいと思っています。マラソンは、スレーブ上で動作する別個のプロセスの活気をチェックします。私はまた、コンテナが到達可能かどうかをチェックしたい。これを行うためにヘルスチェックコマンドを使用できますか?私は、スレーブプロセスのpidofをヘルスチェックとして使用することを考えていたため、この環境でコマンドがスレーブかコンテナで実行されるかどうかを知りたいと思っていました。 –

+0

スケジューラからコンテナに到達できることを確認したい場合は、Marathon HTTPまたはTCPヘルスチェックが適切です(一部のHTTP要求で「到達可能」と表現できると仮定します)。論理的には、Marathonがタスクに到達できる場合、タスクが実行されているエージェントに到達することもできます。問題はなぜMarathonがエージェントに到達できることをチェックしたいのですか?どのような問題を解決しようとしていますか? – rukletsov

+0

ええ、私はコンテナの到達可能性を使用することができますが、それは十分だと思います。そしてあなたが言ったように、それはエージェントがタスクがあれば到達可能であることを意味します。再度、感謝します。 –

関連する問題