クライアントはその逆のマスターを接続しないようにする必要があるという事実からの脱出はありません。
あなたは、クラスタ全体のブートプロセスを自動化したい場合は、いくつかのオプションがあります。
あなたは、ハードマスターのアドレスをコーディングすることができます - 静的アドレスを使用する必要があります(クライアントは、動的IPを持つことができますアドレス)。これは、前提条件またはクラウド環境でも実行できます。たとえば、AWS VPCドキュメントを探します。これが最も簡単なアプローチです。
最初にマスターを起動することができます。クライアントが起動するたびに、マスターのIPアドレスを提供することができます。クラウドでは、これは、例えばユーザデータを使用して自動化することができる。これは、たとえば、IT自動化ツールで自動化することもできます。 ブート時にクライアントの設定を編集する必要があるため、ブートプロセスを少し変更する必要がありますが、ハードコードアドレスに制限されることはありません。この方法を使用すると、一連の作業がすぐに実行できるため、クラスタの起動時間が遅くなる可能性があります。しかし、十分に努力すれば、これを避けることができます(すべてのクラスタを起動し、マスターIPアドレスを実行時にクライアントに渡してクライアントの領事プロセスを開始する方法を見つける)。
もっともエレガントなのは#1だと思いますが、これは必要に応じて決まります。
いずれにしても、クラスタの開始後にマスターのIPアドレスが変更されないようにしてください。再起動してもこれは悪い習慣です。
また、高可用性のために3つのIPアドレスをすべてクライアントに渡すことをお勧めします(3つのマスター構成を選択した場合)。
だから私はほとんどの人がそれをやっていた方法だと思ったのでアプローチ#1をとる予定です。私はちょうど各領事のマスターのための簡単なDNSレコードを作成するつもりです。 consul1.domain.comなど –
いいですね。 1つのポイント:しかし、領事の最大のメリットの1つは、DNSサーバーとして機能することです。本当に2つのDNSサーバーを混在させたいのですか? –