NSX Edge ロードバランサ(LB)を NSX API で設定変更してみます。
概要については、こちらをどうぞ。
NSX Edge LB の API 操作を体験してみる。Part 1(はじめに)
前回の投稿はこちらです。
NSX Edge LB の API 操作を体験してみる。Part 3(One-Arm LB の設定)
手順について。
今回は NSX API で、ここまでで構成した LB の、プールメンバのステータスを確認してみます。
- 正常な状態
- Web サービスの障害(HTTPD サービスの停止)
- Web サーバの障害(VM 停止)
1. 正常な状態
まず、LB のメンバの状態を NSX Edge のコンソールから確認してみます。
前回デプロイした OneArm-LoadBalancer という NSX Edge に、VM コンソールからアクセスしてみます。
admin ユーザでログインして、プールのステータスを確認します。
show service loadbalancer pool
プールのメンバが、それぞれ UP になっていることがわかります。
API で確認する場合は、LB の統計情報(statistics)を取得するとプール メンバの状態がわかります。
curl -k -s -u admin:VMware1! -X GET https://192.168.110.15/api/4.0/edges/edge-5/loadbalancer/statistics | xmllint --format -
コンソールでの確認と同様に、メンバがそれぞれ UP になっています。
情報量が多いので、API での情報取得結果からメンバの status だけ表示してみます。
web-01a
curl -k -s -u admin:VMware1! -X GET https://192.168.110.15/api/4.0/edges/edge-5/loadbalancer/statistics | xmllint --xpath '//pool[name="Web-Tier-Pool-01"]/member[name="web-01a"]/status' - | more
web-02a
curl -k -s -u admin:VMware1! -X GET https://192.168.110.15/api/4.0/edges/edge-5/loadbalancer/statistics | xmllint --xpath '//pool[name="Web-Tier-Pool-01"]/member[name="web-02a"]/status' - | more
このような感じになります。
2. Web サービスの障害
Web サーバ(web-01a)の Web サービス(httpd)を停止して、NSX API でステータスを見てみます。
今回は、web-01a にログインして「service httpd stop」コマンドで Web サービスを停止しました。
NSX Edge のコンソールで STATUS が DOWN になりました。
NSX API でも、同様に DOWN が検知されます。
障害検知の内容も、NSX Edge と同様に確認することができます。
3. Web サーバの障害
Web サーバ(web-01a)を、ゲスト OS ごとシャットダウンして、NSX API でステータスを見てみます。
web-01a にログインして「shutdown -h now」コマンドで Linux を停止しました。
NSX API でステータスを確認すると、ちゃんと状態の変化が反映されました。
Web サーバの状態を復旧すれば、すぐにステータスが UP に戻ります。
NSX Edge や Web Client から確認できる LB メンバのステータス情報も、このように NSX API から確認できます。
つづく。