第31章 RHOSP での負荷分散

31.1. ロードバランサーサービスの制限

Red Hat OpenStack Platform (RHOSP) 上の OpenShift Container Platform クラスターは、Octavia を使用してロードバランサーサービスを処理します。その結果、該当するクラスターには多くの機能的制限が生じます。

RHOSP Octavia では、Amphora と OVN の 2 つのプロバイダーがサポートされています。これらのプロバイダーでは、利用可能な機能と実装の詳細が異なります。そのような差異は、クラスター上に作成されるロードバランサーサービスに影響を及ぼします。

31.1.1. ローカルの外部トラフィックポリシー

ロードバランサーサービスで外部トラフィックポリシー (ETP) パラメーター .spec.externalTrafficPolicy を設定して、受信トラフィックがサービスエンドポイント Pod に到達する際に、そのソース IP アドレスを保存できます。ただし、クラスターが Amphora Octavia プロバイダーを使用している場合じゃ、トラフィックのソース IP は Amphora 仮想マシンの IP アドレスに置き換えられます。クラスターが OVN Octavia プロバイダーを使用している場合、この動作は発生しません。

ETP オプションを Local に設定する場合は、ロードバランサー用にヘルスモニターを作成する必要があります。ヘルスモニターがないと、トラフィックは機能エンドポイントを持たないノードにルーティングされる可能性があり、そうなると接続が切断されます。ヘルスモニターの作成を Cloud Provider OpenStack に強制するには、クラウドプロバイダー設定の create-monitor オプションの値を true に設定する必要があります。

RHOSP 16.1 および 16.2 では、OVN Octavia プロバイダーはヘルスモニターをサポートしません。そのため、EPP をローカルに設定することはサポートされていません。

RHOSP 16.1 および 16.2 では、Amphora Octavia プロバイダーは UDP プールでの HTTP モニターをサポートしません。その結果、UDP ロードバランサーサービスには UDP-CONNECT モニターが代わりに作成されます。実装の詳細に基づき、この設定は OVN-Kubernetes CNI プラグインでのみ適切に機能します。OpenShift SDN CNI プラグインを使用している場合、UDP サービスのアクティブなノードの検出が不確実になります。

31.1.2. ロードバランサーのソース範囲

.spec.loadBalancerSourceRanges プロパティーを使用して、ソース IP に従ってロードバランサーを通過できるトラフィックを制限します。このプロパティーは、Amphora Octavia プロバイダーで使用する場合に限りサポートされます。クラスターが OVN Octavia プロバイダーを使用している場合、オプションは無視され、トラフィックは制限されません。