2017-10-19 7 views
0

私は2つのホスト(テスト用)を持つconsulスタックを持っています。 1ホストのみがブートストラップモードでconsulを実行し、もう1つはレジストラでクライアントモードを実行してサービスを自動的に登録します(両方ともdockerで実行されます)。そして今、私がアプリケーション(ポート8080など)のコンテナを起動すると、登録者はそれを検出して領事館に登録しますが、http-checkはしません。私は登録者がアプリケーションレジストリにSERVICE_8080_CHECK_HTTP: '/'を追加することで、自動登録ヘルスチェックのオプションがあることが判明しました。この時点で私はdocker stopアプリケーションコンテナ、このアプリケーションのヘルスチェックはありませんので、私はアラートや失敗したアプリケーションを置き換えるためにいくつかのものを書いてステータスを取得することはできませんが問題があります。ですから、どうすれば動的ヘルスチェックサービスを受けることができますか?ステータスを取得するにはpassing or failed or warning or critical ありがとうダイナミックヘルスチェックサービスのためのコンサルを設定してください

答えて

1

登録者は、コンテナを停止するときにサービスを登録解除します。そのサービスのインスタンスが複数ある場合は、問題ではありません。

結局のところ、サービス登録に登録者を使用しない場合は、領事のHTTP APIを使用してサービスを登録するか、エージェントのサービス定義ファイルを含めることができます。

いずれの場合でも、実際には1つの領事サーバーを実行すべきではありません。https://www.consul.io/intro/index.html

関連する問題