2016-03-26 14 views
1

私の設定では、サービス定義は/etc/consul.d/serverに保存されています。サービスが開始されたときに領事が登録されない

領事は、次のコマンドで開始されます。

領事が開始された
consul agent -config-dir /etc/consul.d/server 

、サービスのいずれも登録されていません。ただし、同じ定義ファイルを持つWeb APIを使用して、同じサービスを登録できます。

登録されていない複数のサービス定義の問題は何ですか?

答えて

1

複数のファイルがありますか?もしそうなら - >すべてが.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, 
    }, 
    ] 
} 
+0

重要な点は小文字を使用することです。 – doptimusprime

関連する問題