BETA

ConsulやNomadのクラスタのleaderをconsul, nomadコマンドで調べる方法

投稿日:2019-08-27
最終更新:2019-08-27
※この記事は外部サイト(https://takuan-osho.hatenablog.com/entry/2...)からのクロス投稿です

会社のプロダクトでHashiCorpのConsulNomadを利用しているものがあるのですが、ConsulやNomadのクラスタの運用をする際、leaderがどのnodeなのかを調べるコマンドをいつも忘れてしまうので記録として残します。

結論から言うと、どちらも operator サブコマンドを利用します。

具体的には operator raft list-peers というサブコマンドがあるのでそれを使えば分かります。

consulコマンドの場合は以下の通りです。
IDやAddressは仮の値に変更しています。

$ consul version  
Consul v1.2.3  
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)  

$ consul operator raft list-peers  
Node             ID                                    Address              State     Voter  RaftProtocol  
vault-server-03  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  192.168.00.002:8300  follower  true   3  
vault-server-02  yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy  192.168.00.001:8300  leader    true   3  
vault-server-01  zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz  192.168.00.000:8300  follower  true   3  

Stateの項目にleaderかfollowerか表示されます。

consulのバージョンが古めなのはご愛敬((プライベートで用意している環境が古めのバージョンのものしか無かった))。

nomadコマンドの場合は以下の通りです。

$ nomad version  
Nomad v0.8.5 (90fbfaba6a6d9af7febc39082b95ed832d8b8bd6)  

$ nomad operator raft list-peers  
Node                    ID                   Address              State     Voter  RaftProtocol  
vault-server-02.global  192.168.00.001:4647  192.168.00.001:4647  follower  true   2  
vault-server-01.global  192.168.00.000:4647  192.168.00.000:4647  follower  true   2  
vault-server-03.global  192.168.00.002:4647  192.168.00.002:4647  leader    true   2  

同じくIDやAddressは仮の値に変更しています。
Consulの時と同様、Stateにleaderかfollowerか表示されます。

Nomadの場合、serverになっているホストで nomad server members を実行することでも分かります。

nomad server members  
Name                    Address         Port  Status  Leader  Protocol  Build  Datacenter  Region  
vault-server-01.global  192.168.00.000  4648  alive   false   2         0.8.5  dc1         global  
vault-server-02.global  192.168.00.001  4648  alive   false   2         0.8.5  dc1         global  
vault-server-03.global  192.168.00.002  4648  alive   true    2         0.8.5  dc1         global  

HTTP APIで調べる場合は以下のものを利用すれば分かるのでは無いかと。
利用したことはないので確約できませんが。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@takuanoshoの技術ブログ ところで `-` と `_` をユーザー名に使えないWebサービスはダメなのではないか?

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!