OpenStack Neutron が実行されているノードで、コマンド ライン インターフェイスを使用して LBaaS を設定できます。
手順
- OpenStack 管理サーバ に
viouser
としてログインします。
- コントローラ ノードに
viouser
としてログインします。
- ユーザー アカウントの認証情報ファイルをロードします。
source user-credentials.rc
- ロード バランサを作成します。
neutron lbaas-loadbalancer-create --name lb-name lb-subnet-id
指定したサブネットのメンバーのみを LBaaS プールに追加できます。
- 新しいロード バランサーのリスナーを指定します。
neutron lbaas-listener-create --loadbalancer lb-name --protocol {HTTP | TCP} --protocol-port port-num --name listener-name
- LBaaS プールを作成します。
neutron lbaas-pool-create --lb-algorithm lb-method --listener listener-name --protocol {TCP | HTTP} --name pool-name
--lb-algorithm パラメータは、次の値を受け入れます。
引数 |
説明 |
LEAST_CONNECTIONS
|
新しいクライアント要求は、接続数が最も少ないサーバに送信されます。 |
ROUND_ROBIN
|
各サーバは、割り当てられている重み付けに従って順番に使用されます。 |
SOURCE_IP
|
同じソース IP アドレスからのすべての接続は、プールの同じメンバーによって処理されます。 |
- 作成した LBaaS プールに 2 台以上のサーバ インスタンスを追加します。
neutron lbaas-member-create --subnet lb-subnet-id --address server1-ip --protocol-port 80 pool-name
neutron lbaas-member-create --subnet lb-subnet-id --address server2-ip --protocol-port 80 pool-name
- 健全性監視をセットアップします。
neutron lbaas-healthmonitor-create --delay delay-seconds --type {HTTP | TCP | PING} --max-retries number --timeout timeout-seconds --pool pool-name
パラメータ |
説明 |
--delay |
メンバーにプローブを送信してから次のプローブを送信するまでの時間を入力します。 |
--type |
HTTP、TCP、または PING を指定します。 |
--max-retries |
メンバーのステータスを INACTIVE に変更する前に、許可される接続失敗回数を入力します。 |
--timeout |
タイムアウトまでに、接続の確立を監視が待機する秒数を入力します。 タイムアウトの値は遅延の値よりも小さくする必要があります。 |
--pool |
作成した LBaaS プールを指定します。 |
- テナントのサブネットにロード バランサを作成した場合は、ロード バランサにフローティング IP アドレスを関連付けます。
- (オプション) LBaaS 構成を検証するためのテスト要求を送信します。
- OpenStack 管理サーバ に
viouser
としてログインします。
- テスト用の index.html ファイルを作成します。
- 同じディレクトリで、Web サーバを起動します。
sudo python -m SimpleHTTPServer 80
- クライアント インスタンスにログインします。
- wget コマンドを実行し、実行した要求がプール内のサーバ間で適切にロード バランシングされているかどうかを確認します。
wget -O - http://mgmt-server-ip