ネットワークエンジニアのITブログ

長らくネットワークで生活してきましたが、ここ数年クラウドとサーバー系に触れる機会が増えて、日々成長しています。最近のお気に入りはNSXALBとGoogle Cloud。

NSXALBのコントローラークラスタを構築してみる

ここまでは、NSXALBのコントローラーを1台構成で構築してきましたが、障害により利用できなくなると一切の設定変更ができなくなってしまいます。そこで、今回はコントローラークラスタを組むことで可用性を向上させていきます。

と言ってもコントローラーを3台構成にしてクラスタを組むだけなので簡単です。では早速構築してみましょう。

 

構築範囲

コントローラーのデプロイ

すでに構築済みのコントローラーavi56とは別に、avi55、avi57のコントローラー2台を新規にデプロイします。
デプロイ方法については過去の記事を参考にしてください。

デプロイ後、初期設定を行い、管理コンソールにログインできることを確認したら、新規に構築した2台の準備は完了です。

ここからは、最初に構築をしたavi56にて設定を行っていきます。

コントローラークラスタの構築

avi56の管理コンソールにログイン後、[Administration]-[Controller]-[Nodes]からEditをクリックします。

[Cluster Node]からAddをクリックします。

ここで、avi55、avi57のIPアドレス、ホスト名、adminアカウントのパスワードを入力しSAVEします。

入力が完了すると、以下のように3台のコントローラーが表示されるので、[Controller Cluster IP]にVIPとなる192.168.1.54を入力してSAVEをクリックします。

そうすると管理コンソールの画面が「Controller Initializing」となりクラスタの構築が自動的に始まります。だいたい5,6分、遅くても10分以内には完了します。

設定完了後、VIPである「https://192.168.1.54」で接続すると管理コンソールにログインできます。

コントローラー動作確認

ログイン後にコントローラーのノードを確認すると、Leaderノードが1台選出され、残りの2台がFollowerとなっています。Leaderノードが障害となり通信できない場合、残った2台のいずれかがLeaderの役割を引き継ぎます。

この時、管理コンソールに接続するIPは、VIPである192.168.1.54のまま接続できます。

ただし、ノードが2台同時に障害となってしまうと、VIPには通信できなくなるため、最低でも2台が稼働状態となるまでは復旧しません。
なお、Service Engineの動作には影響ないため、設定変更はできないものの、既に設定している環境は問題なく動作し続けます。

補足ですが、Leaderノードは手動で変更することはできないため、Leaderノードの再起動や停止をすることでFollowerがLeaderに昇格します。

ラボ環境では、バックアップさえ取得しておけばいつでも復旧できるので、この後クラスタを解除して1台構成に戻しました。
(潤沢にリソースがないので節約です!!)