第13章 Load-balancing サービスのトラブルシューティングおよびメンテナンス
Red Hat OpenStack Services on OpenShift (RHOSO) Load-balancing サービス (octavia) の基本的なトラブルシューティングとメンテナンスは、ステータスを表示しインスタンスを移行するための OpenStack クライアントコマンドを熟知し、ログへのアクセス方法を理解することから始まります。より詳細なトラブルシューティングを行う必要がある場合は、1 つまたは複数の Load-balancing サービスインスタンス (amphora) に SSH 接続することができます。
このセクションに含まれるトピックは次のとおりです。
13.1. ロードバランサーの検証 リンクのコピーリンクがクリップボードにコピーされました!
ロードバランサーの show コマンドと list コマンドの出力を表示することで、Red Hat OpenStack Services on OpenShift (RHOSO) Load-balancing サービス (octavia) とそのさまざまなコンポーネントのトラブルシューティングを行うことができます。
前提条件
-
管理者がプロジェクトを作成し、管理者からクラウドにアクセスするための
clouds.yamlファイルが提供されている。 python-openstackclientパッケージがワークステーション上に存在する。$ dnf list installed python-openstackclient
手順
システムの
OS_CLOUD変数がクラウドに設定されていることを確認します。$ echo $OS_CLOUD my_cloud必要に応じて変数をリセットします。
$ export OS_CLOUD=my_other_cloud代わりに、
openstackコマンドを実行するたびに--os-cloud <cloud_name>オプションを追加してクラウド名を指定することもできます。ロードバランサー (
lb1) の設定を確認します。注記丸かっこ内の値は、この手順のコマンド例で使用されるサンプルの値です。これらのサンプル値を、実際のサイトに適した値に置き換えてください。
- 例
$ openstack loadbalancer show lb1- 出力例
+---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | admin_state_up | True | | created_at | 2024-02-17T15:59:18 | | description | | | flavor_id | None | | id | 265d0b71-c073-40f4-9718-8a182c6d53ca | | listeners | 5aaa67da-350d-4125-9022-238e0f7b7f6f | | name | lb1 | | operating_status | ONLINE | | pools | 48f6664c-b192-4763-846a-da568354da4a | | project_id | 52376c9c5c2e434283266ae7cacd3a9c | | provider | amphora | | provisioning_status | ACTIVE | | updated_at | 2024-02-17T16:01:21 | | vip_address | 192.0.2.177 | | vip_network_id | afeaf55e-7128-4dff-80e2-98f8d1f2f44c | | vip_port_id | 94a12275-1505-4cdc-80c9-4432767a980f | | vip_qos_policy_id | None | | vip_subnet_id | 06ffa90e-2b86-4fe3-9731-c7839b0be6de | +---------------------+--------------------------------------+
前の手順の loadbalancer ID (
265d0b71-c073-40f4-9718-8a182c6d53ca) を使用して、ロードバランサーに関連付けられている amphora の ID (lb1) を取得します。- 例
$ openstack loadbalancer amphora list | grep 265d0b71-c073-40f4-9718-8a182c6d53ca- 出力例
| 1afabefd-ba09-49e1-8c39-41770aa25070 | 265d0b71-c073-40f4-9718-8a182c6d53ca | ALLOCATED | STANDALONE | 198.51.100.7 | 192.0.2.177 |
前の手順の amphora ID (
1afabefd-ba09-49e1-8c39-41770aa25070) を使用して、amphora 情報を表示します。- 例
$ openstack loadbalancer amphora show 1afabefd-ba09-49e1-8c39-41770aa25070- 出力例
+-----------------+--------------------------------------+ | Field | Value | +-----------------+--------------------------------------+ | id | 1afabefd-ba09-49e1-8c39-41770aa25070 | | loadbalancer_id | 265d0b71-c073-40f4-9718-8a182c6d53ca | | compute_id | ba9fc1c4-8aee-47ad-b47f-98f12ea7b200 | | lb_network_ip | 198.51.100.7 | | vrrp_ip | 192.0.2.36 | | ha_ip | 192.0.2.177 | | vrrp_port_id | 07dcd894-487a-48dc-b0ec-7324fe5d2082 | | ha_port_id | 94a12275-1505-4cdc-80c9-4432767a980f | | cert_expiration | 2026-03-19T15:59:23 | | cert_busy | False | | role | STANDALONE | | status | ALLOCATED | | vrrp_interface | None | | vrrp_id | 1 | | vrrp_priority | None | | cached_zone | nova | | created_at | 2024-02-17T15:59:22 | | updated_at | 2024-02-17T16:00:50 | | image_id | 53001253-5005-4891-bb61-8784ae85e962 | | compute_flavor | 65 | +-----------------+--------------------------------------+
リスナー (
listener1) の詳細を表示します。- 例
$ openstack loadbalancer listener show listener1- 出力例
+-----------------------------+--------------------------------------+ | Field | Value | +-----------------------------+--------------------------------------+ | admin_state_up | True | | connection_limit | -1 | | created_at | 2024-02-17T16:00:59 | | default_pool_id | 48f6664c-b192-4763-846a-da568354da4a | | default_tls_container_ref | None | | description | | | id | 5aaa67da-350d-4125-9022-238e0f7b7f6f | | insert_headers | None | | l7policies | | | loadbalancers | 265d0b71-c073-40f4-9718-8a182c6d53ca | | name | listener1 | | operating_status | ONLINE | | project_id | 52376c9c5c2e434283266ae7cacd3a9c | | protocol | HTTP | | protocol_port | 80 | | provisioning_status | ACTIVE | | sni_container_refs | [] | | timeout_client_data | 50000 | | timeout_member_connect | 5000 | | timeout_member_data | 50000 | | timeout_tcp_inspect | 0 | | updated_at | 2024-02-17T16:01:21 | | client_ca_tls_container_ref | None | | client_authentication | NONE | | client_crl_container_ref | None | | allowed_cidrs | None | +-----------------------------+--------------------------------------+
プール (
pool1) とロードバランサーメンバーを表示します。- 例
$ openstack loadbalancer pool show pool1- 出力例
+----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | admin_state_up | True | | created_at | 2024-02-17T16:01:08 | | description | | | healthmonitor_id | 4b24180f-74c7-47d2-b0a2-4783ada9a4f0 | | id | 48f6664c-b192-4763-846a-da568354da4a | | lb_algorithm | ROUND_ROBIN | | listeners | 5aaa67da-350d-4125-9022-238e0f7b7f6f | | loadbalancers | 265d0b71-c073-40f4-9718-8a182c6d53ca | | members | b92694bd-3407-461a-92f2-90fb2c4aedd1 | | | 4ccdd1cf-736d-4b31-b67c-81d5f49e528d | | name | pool1 | | operating_status | ONLINE | | project_id | 52376c9c5c2e434283266ae7cacd3a9c | | protocol | HTTP | | provisioning_status | ACTIVE | | session_persistence | None | | updated_at | 2024-02-17T16:05:21 | | tls_container_ref | None | | ca_tls_container_ref | None | | crl_container_ref | None | | tls_enabled | False | +----------------------+--------------------------------------+
ロードバランサーの VIP アドレス (
192.0.2.177) に接続して、リスナーがHTTPSまたはTERMINATED_HTTPSプロトコルに設定されているロードバランサー全体に、HTTPS トラフィックが流れることを確認します。ヒントコマンド
openstack loadbalancer show <load_balancer_name>を使用して、ロードバランサーの VIP アドレスを取得します。注記ロードバランサー VIP 用に実装されたセキュリティーグループは、必要なプロトコルとポートのデータトラフィックのみを許可します。上記の理由から、ICMP トラフィックがブロックされているため、ロードバランサー VIP に ping を実行できません。
- 例
$ curl -v https://192.0.2.177 --insecure- 出力例
* About to connect() to 192.0.2.177 port 443 (#0) * Trying 192.0.2.177... * Connected to 192.0.2.177 (192.0.2.177) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * skipping SSL peer certificate verification * SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 * Server certificate: * subject: CN=www.example.com,O=Dis,L=Springfield,ST=Denial,C=US * start date: Jan 15 09:21:45 2024 GMT * expire date: Jan 15 09:21:45 2027 GMT * common name: www.example.com * issuer: CN=www.example.com,O=Dis,L=Springfield,ST=Denial,C=US > GET / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 192.0.2.177 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 30 < * Connection #0 to host 192.0.2.177 left intact