25.2. Octavia を使用したアプリケーショントラフィック用のクラスターのスケーリング

Red Hat OpenStack Platform (RHOSP) で実行される OpenShift Container Platform クラスターでは、Octavia 負荷分散サービスを使用して、複数の仮想マシン (VM) または Floating IP アドレスにトラフィックを分散することができます。この機能は、単一マシンまたはアドレスが生じさせるボトルネックを軽減します。

クラスターで Kuryr を使用する場合、Cluster Network Operator はデプロイメント時に内部 Octavia ロードバランサーを作成していました。アプリケーションネットワークのスケーリングには、このロードバランサーを使用できます。

クラスターで Kuryr を使用しない場合、アプリケーションのネットワークのスケーリングに使用する独自の Octavia ロードバランサーを作成する必要があります。

25.2.1. Octavia を使用したクラスターのスケーリング

複数の API ロードバランサーを使用する場合や、クラスターが Kuryr を使用しない場合、Octavia ロードバランサーを作成してから、クラスターをこれを使用するように設定します。

前提条件

  • Octavia は Red Hat OpenStack Platform (RHOSP) デプロイメントで利用できます。

手順

  1. コマンドラインから、Amphora ドライバーを使用する Octavia ロードバランサーを作成します。

    $ openstack loadbalancer create --name API_OCP_CLUSTER --vip-subnet-id <id_of_worker_vms_subnet>

    API_OCP_CLUSTER の代わりに、任意の名前を使用することができます。

  2. ロードバランサーがアクティブになったら、リスナーを作成します。

    $ openstack loadbalancer listener create --name API_OCP_CLUSTER_6443 --protocol HTTPS--protocol-port 6443 API_OCP_CLUSTER
    注記

    ロードバランサーのステータスを表示するには、openstack loadbalancer list と入力します。

  3. ラウンドロビンアルゴリズムを使用し、セッションの永続性が有効にされているプールを作成します。

    $ 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
  4. コントロールプレーンマシンが利用可能であることを確認するには、ヘルスモニターを作成します。

    $ openstack loadbalancer healthmonitor create --delay 5 --max-retries 4 --timeout 10 --type TCP API_OCP_CLUSTER_pool_6443
  5. コントロールプレーンマシンをロードバランサープールのメンバーとして追加します。

    $ 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
  6. オプション: クラスター API の Floating IP アドレスを再利用するには、設定を解除します。

    $ openstack floating ip unset $API_FIP
  7. 設定を解除された 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) 経由でルーティングされます。

この手順を繰り返して追加のロードバランサーを作成します。これにより、ボトルネックを軽減することができます。

25.2.2. Octavia の使用による Kuryr を使用するクラスターのスケーリング

クラスターで Kuryr を使用する場合は、クラスターの API Floating IP アドレスを既存の Octavia ロードバランサーに関連付けます。

前提条件

  • OpenShift Container Platform クラスターは Kuryr を使用します。
  • Octavia は Red Hat OpenStack Platform (RHOSP) デプロイメントで利用できます。

手順

  1. オプション: コマンドラインからクラスター API の Floating IP アドレスを再利用するには、この設定を解除します。

    $ openstack floating ip unset $API_FIP
  2. 設定を解除された API_FIP、または新規アドレスを、作成されたロードばランサー VIP に追加します。

    $ openstack floating ip set --port $(openstack loadbalancer show -c <vip_port_id> -f value ${OCP_CLUSTER}-kuryr-api-loadbalancer) $API_FIP

クラスターは、負荷分散に Octavia を使用するようになりました。

注記

Kuryr が Octavia Amphora ドライバーを使用する場合、すべてのトラフィックは単一の Amphora 仮想マシン (VM) 経由でルーティングされます。

この手順を繰り返して追加のロードバランサーを作成します。これにより、ボトルネックを軽減することができます。