10.5. OVN ロードバランサーの作成
Red Hat OpenStack Platform (RHOSP) クライアントを使用して、RHOSP デプロイメントのネットワークトラフィックを管理するロードバランサーを作成できます。RHOSP Load-Balancing サービスは、neutron Modular Layer 2 プラグインと Open Virtual Network メカニズムドライバーの組み合わせ (ML2/OVN) をサポートします。
前提条件
ML2/OVN プロバイダードライバーがデプロイされている必要があります。
重要OVN プロバイダーは、レイヤー 4 TCP および UDP ネットワークトラフィック、ならびに
SOURCE_IP_PORT
ロードバランサーアルゴリズムだけをサポートします。OVN プロバイダーはヘルスモニタリングをサポートしません。- インターネットから到達できる共有外部 (パブリック) サブネット。
手順
Source コマンドで認証情報ファイルを読み込みます。
例
$ source ~/overcloudrc
--provider ovn
引数を使用して、プライベートサブネット (private_subnet
) にロードバランサー (lb1
) を作成します。注記丸かっこ内の値は、この手順のコマンド例で使用されるサンプルの値です。これらのサンプル値を、実際のサイトに適した値に置き換えてください。
例
$ openstack loadbalancer create --name lb1 --provider ovn \ --vip-subnet-id private_subnet --wait
カスタムアプリケーションが設定された指定のポート (
80
) でプロトコル (tcp
) を使用するリスナー (listener1
) を作成します。注記OVN プロバイダーは、レイヤー 4 TCP および UDP ネットワークトラフィックだけをサポートします。
例
$ openstack loadbalancer listener create --name listener1 \ --protocol tcp --protocol-port 80 lb1
リスナーのデフォルトプール (
pool1
) を作成します。注記OVN 用にサポートされる唯一の負荷分散アルゴリズムは
SOURCE_IP_PORT
です。例
この例のコマンドは、特定の TCP ポートでカスタムアプリケーションをホストするバックエンドサーバーを含むプライベートサブネットを使用する HTTP プールを作成します。
$ openstack loadbalancer pool create --name pool1 --lb-algorithm \ SOURCE_IP_PORT --listener listener1 --protocol tcp
重要OVN は負荷分散のヘルスモニター機能をサポートしません。
プライベートサブネット (
private_subnet
) 上のバックエンドサーバー (192.0.2.10
および192.0.2.11
) をプールに追加します。例
この例では、バックエンドサーバー
192.0.2.10
および192.0.2.11
の名前は、それぞれmember1
およびmember2
です。$ openstack loadbalancer member create --name member1 --subnet-id \ private_subnet --address 192.0.2.10 --protocol-port 80 pool1 $ openstack loadbalancer member create --name member2 --subnet-id \ private_subnet --address 192.0.2.11 --protocol-port 80 pool1
検証
ロードバランサー (
lb1
) の設定を表示して確認します。例
$ openstack loadbalancer show lb1
出力例
+---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | admin_state_up | True | | created_at | 2022-01-15T11:11:09 | | description | | | flavor | | | id | 788fe121-3dec-4e1b-8360-4020642238b0 | | listeners | 09f28053-fde8-4c78-88b9-0f191d84120e | | name | lb1 | | operating_status | ONLINE | | pools | 627842b3-eed8-4f5f-9f4a-01a738e64d6a | | project_id | dda678ca5b1241e7ad7bf7eb211a2fd7 | | provider | ovn | | provisioning_status | ACTIVE | | updated_at | 2022-01-15T11:12:42 | | vip_address | 198.51.100.11 | | vip_network_id | 9bca13be-f18d-49a5-a83d-9d487827fd16 | | vip_port_id | 69a85edd-5b1c-458f-96f2-b4552b15b8e6 | | vip_qos_policy_id | None | | vip_subnet_id | 5bd7334b-49b3-4849-b3a2-b0b83852dba1 | +---------------------+--------------------------------------+
リスナーの情報を表示するには、
openstack loadbalancer listener show
コマンドを実行します。例
$ openstack loadbalancer listener show listener1
出力例
+-----------------------------+--------------------------------------+ | Field | Value | +-----------------------------+--------------------------------------+ | admin_state_up | True | | connection_limit | -1 | | created_at | 2022-01-15T11:13:52 | | default_pool_id | a5034e7a-7ddf-416f-9c42-866863def1f2 | | default_tls_container_ref | None | | description | | | id | a101caba-5573-4153-ade9-4ea63153b164 | | insert_headers | None | | l7policies | | | loadbalancers | 653b8d79-e8a4-4ddc-81b4-e3e6b42a2fe3 | | name | listener1 | | operating_status | ONLINE | | project_id | 7982a874623944d2a1b54fac9fe46f0b | | protocol | TCP | | protocol_port | 64015 | | provisioning_status | ACTIVE | | sni_container_refs | [] | | timeout_client_data | 50000 | | timeout_member_connect | 5000 | | timeout_member_data | 50000 | | timeout_tcp_inspect | 0 | | updated_at | 2022-01-15T11:15:17 | | client_ca_tls_container_ref | None | | client_authentication | NONE | | client_crl_container_ref | None | | allowed_cidrs | None | +-----------------------------+--------------------------------------+
プール (
pool1
) とロードバランサーのメンバーを表示するには、openstack loadbalancer pool show
コマンドを実行します。例
$ openstack loadbalancer pool show pool1
出力例
+----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | admin_state_up | True | | created_at | 2022-01-15T11:17:34 | | description | | | healthmonitor_id | | | id | a5034e7a-7ddf-416f-9c42-866863def1f2 | | lb_algorithm | SOURCE_IP_PORT | | listeners | a101caba-5573-4153-ade9-4ea63153b164 | | loadbalancers | 653b8d79-e8a4-4ddc-81b4-e3e6b42a2fe3 | | members | 90d69170-2f73-4bfd-ad31-896191088f59 | | name | pool1 | | operating_status | ONLINE | | project_id | 7982a874623944d2a1b54fac9fe46f0b | | protocol | TCP | | provisioning_status | ACTIVE | | session_persistence | None | | updated_at | 2022-01-15T11:18:59 | | tls_container_ref | None | | ca_tls_container_ref | None | | crl_container_ref | None | | tls_enabled | False | +----------------------+--------------------------------------+
関連情報
- コマンドラインインターフェイスリファレンス の loadbalancer