領事は、3日(72時間)後に承認を受け取っていないノードを削除します。
consulサーバーに対して、http APIを使用してcurlコマンドを実行すると、小切手やサービスの登録を解除できます。
- まず、それはこのようなものが返されます、サービス名とそのサービスのチェック
http://consulserver:8500/v1/health/checks/<service-name>
を得る:失敗したとして [{"Node":"b7ea2063deb5","CheckID":"service:myapp","Name":"Service 'myapp' check","Status":"passing","Notes":"runs SELECT 1","Output":" online \n--------\n 1\n(1 row)\n\n","ServiceID":"myapp","ServiceName":"myapp","CreateIndex":11488,"ModifyIndex":11491}]
は、使用しているヘルスチェックをマーク"CheckID":
/v1/agent/check/fail/
このエンドポイントは、TTLタイプのチェックで使用されます。このエンドポイントがGET経由でアクセスされると、チェックのステータスがクリティカルに設定され、TTLクロックがリセットされます。
http://consulserver:8500/v1/health/fail/service:myapp
応答がCheckID does not have associated TTL
であれば、あなたのチェックがタイプTTLのではありません。さまざまなチェックの種類について
より多くの情報をここで見つけることができます:
https://www.consul.io/docs/agent/checks.html
のHTTP APIを照会するときあなたが受け取る回答から任意の実際の出力せずに実行するために、あなたに適切なコマンドを与えることは非常に困難です。
ます。また、それは
/V1 /エージェント/サービスを実行して、まだそこにある場合は、サービス全体の登録を解除しようとすることができます/登録解除エンドポイントはからサービスを削除するために使用される/
登録解除ローカルエージェント。 ServiceIDは、スラッシュの後に渡す必要があります。エージェントは、カタログを使用してサービスの登録を解除します。関連する小切手がある場合は、その小切手も登録解除されます。
成功した場合、戻りコードは200です。
https://www.consul.io/docs/agent/http/agent.html#agent_service_deregister
問題は、それぞれのサービスの基礎となるヘルスリソースがもはや使用できなくなっても、ヘルスチェックが「合格」とマークされていることです。 私の理解では、ヘルスリソースへの呼び出しが失敗したりタイムアウトになったりすると、ヘルスステータスが「失敗」に切り替わるはずです。 そうでない場合は、ヘルスチェック全体が意味をなさないはずです;) – peez80