私の設定では、サービス定義は/etc/consul.d/server
に保存されています。サービスが開始されたときに領事が登録されない
領事は、次のコマンドで開始されます。
領事が開始されたconsul agent -config-dir /etc/consul.d/server
、サービスのいずれも登録されていません。ただし、同じ定義ファイルを持つWeb APIを使用して、同じサービスを登録できます。
登録されていない複数のサービス定義の問題は何ですか?
私の設定では、サービス定義は/etc/consul.d/server
に保存されています。サービスが開始されたときに領事が登録されない
領事は、次のコマンドで開始されます。
領事が開始されたconsul agent -config-dir /etc/consul.d/server
、サービスのいずれも登録されていません。ただし、同じ定義ファイルを持つWeb APIを使用して、同じサービスを登録できます。
登録されていない複数のサービス定義の問題は何ですか?
複数のファイルがありますか?もしそうなら - >すべてが.jsonで終わることを確認してください。
設定を読み込むときに、Consulはファイルとディレクトリの設定を字句順に読み込みます。たとえば、設定ファイルbasic_config.jsonはextra_config.jsonの前に処理されます。後で指定された設定は、先に指定された設定にマージされます。ほとんどの場合、「マージ」は、後のバージョンが以前のバージョンを上書きすることを意味します。イベントハンドラなどの一部のケースでは、マージはハンドラを既存の設定に追加します。正確なマージ動作は、ドキュメント内のオプションごとに指定されます。
https://www.consul.io/docs/agent/options.html
それ以外の場合は1つのJSONファイルにすべてのサービス定義を入れてみてください。
設定ファイルのサービスキーを使用します。 (複数のSではない)
{
"services": [
{
"id": "red0",
"name": "redis",
"address": "127.0.0.1",
"port": 6000,
},
{
"id": "red1",
"name": "redis",
"address": "127.0.0.1",
"port": 7000,
},
]
}
重要な点は小文字を使用することです。 – doptimusprime