18.2. Octavia を使用したアプリケーショントラフィック用のクラスターのスケーリング
Red Hat OpenStack Platform (RHOSP) で実行される OpenShift Container Platform クラスターでは、Octavia 負荷分散サービスを使用して、複数の仮想マシン (VM) または Floating IP アドレスにトラフィックを分散することができます。この機能は、単一マシンまたはアドレスが生じさせるボトルネックを軽減します。
クラスターで Kuryr を使用する場合、Cluster Network Operator はデプロイメント時に内部 Octavia ロードバランサーを作成していました。アプリケーションネットワークのスケーリングには、このロードバランサーを使用できます。
クラスターで Kuryr を使用しない場合、アプリケーションのネットワークのスケーリングに使用する独自の Octavia ロードバランサーを作成する必要があります。
18.2.1. Octavia を使用したクラスターのスケーリング
複数の API ロードバランサーを使用する場合や、クラスターが Kuryr を使用しない場合、Octavia ロードバランサーを作成してから、クラスターをこれを使用するように設定します。
前提条件
- Octavia は Red Hat OpenStack Platform (RHOSP) デプロイメントで利用できます。
手順
コマンドラインから、Amphora ドライバーを使用する Octavia ロードバランサーを作成します。
$ openstack loadbalancer create --name API_OCP_CLUSTER --vip-subnet-id <id_of_worker_vms_subnet>
API_OCP_CLUSTER
の代わりに、任意の名前を使用することができます。ロードバランサーがアクティブになったら、リスナーを作成します。
$ openstack loadbalancer listener create --name API_OCP_CLUSTER_6443 --protocol HTTPS--protocol-port 6443 API_OCP_CLUSTER
注記ロードバランサーのステータスを表示するには、
openstack loadbalancer list
と入力します。ラウンドロビンアルゴリズムを使用し、セッションの永続性が有効にされているプールを作成します。
$ openstack loadbalancer pool create --name API_OCP_CLUSTER_pool_6443 --lb-algorithm ROUND_ROBIN --session-persistence type=<source_IP_address> --listener API_OCP_CLUSTER_6443 --protocol HTTPS
コントロールプレーンマシンが利用可能であることを確認するには、ヘルスモニターを作成します。
$ openstack loadbalancer healthmonitor create --delay 5 --max-retries 4 --timeout 10 --type TCP API_OCP_CLUSTER_pool_6443
コントロールプレーンマシンをロードバランサープールのメンバーとして追加します。
$ for SERVER in $(MASTER-0-IP MASTER-1-IP MASTER-2-IP) do openstack loadbalancer member create --address $SERVER --protocol-port 6443 API_OCP_CLUSTER_pool_6443 done
オプション: クラスター API の Floating IP アドレスを再利用するには、設定を解除します。
$ openstack floating ip unset $API_FIP
設定を解除された
API_FIP
、または新規アドレスを、作成されたロードばランサー VIP に追加します。$ openstack floating ip set --port $(openstack loadbalancer show -c <vip_port_id> -f value API_OCP_CLUSTER) $API_FIP
クラスターは、負荷分散に Octavia を使用するようになりました。
Kuryr が Octavia Amphora ドライバーを使用する場合、すべてのトラフィックは単一の Amphora 仮想マシン (VM) 経由でルーティングされます。
この手順を繰り返して追加のロードバランサーを作成します。これにより、ボトルネックを軽減することができます。