This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.8.2.3.3. Octavia の設定
Kuryr SDN は Red Hat OpenStack Platform (RHOSP) の Octavia LBaaS を使用して OpenShift Container Platform サービスを実装します。したがって、Kuryr SDN を使用するように RHOSP に Octavia コンポーネントをインストールし、設定する必要があります。
Octavia を有効にするには、Octavia サービスを RHOSP オーバークラウドのインストール時に組み込むか、またはオーバークラウドがすでに存在する場合は Octavia サービスをアップグレードする必要があります。Octavia を有効にする以下の手順は、オーバークラウドのクリーンインストールまたはオーバークラウドの更新の両方に適用されます。
以下の手順では、Octavia を使用する場合に RHOSP のデプロイメント 時に必要となる主な手順のみを説明します。また、レジストリーメソッド が変更されることにも留意してください。
以下の例では、ローカルレジストリーの方法を使用しています。
手順
ローカルレジストリーを使用している場合、イメージをレジストリーにアップロードするためのテンプレートを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow local_registry_images.yaml
ファイルに Octavia イメージが含まれることを確認します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Octavia コンテナーのバージョンは、インストールされている特定の RHOSP リリースによって異なります。
コンテナーイメージを
registry.redhat.io
からアンダークラウドノードにプルします。(undercloud) $ sudo openstack overcloud container image upload \ --config-file /home/stack/local_registry_images.yaml \ --verbose
(undercloud) $ sudo openstack overcloud container image upload \ --config-file /home/stack/local_registry_images.yaml \ --verbose
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これには、ネットワークおよびアンダークラウドディスクの速度に応じて多少の時間がかかる可能性があります。
Octavia ロードバランサーは OpenShift Container Platform API にアクセスするために使用されるため、それらのリスナーの接続のデフォルトタイムアウトを増やす必要があります。デフォルトのタイムアウトは 50 秒です。以下のファイルをオーバークラウドのデプロイコマンドに渡し、タイムアウトを 20 分に増やします。
(undercloud) $ cat octavia_timeouts.yaml parameter_defaults: OctaviaTimeoutClientData: 1200000 OctaviaTimeoutMemberData: 1200000
(undercloud) $ cat octavia_timeouts.yaml parameter_defaults: OctaviaTimeoutClientData: 1200000 OctaviaTimeoutMemberData: 1200000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記これは RHOSP 13.0.13+ では不要です。
Octavia を使用してオーバークラウドをインストールまたは更新します。
openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/octavia.yaml \ -e octavia_timeouts.yaml
$ openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/octavia.yaml \ -e octavia_timeouts.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドには、Octavia に関連付けられたファイルのみが含まれます。これは、RHOSP の特定のインストールによって異なります。詳細は RHOSP のドキュメントを参照してください。Octavia インストールのカスタマイズについての詳細は、Octavia デプロイメントのプランニング を参照してください。
注記Kuryr SDN を利用する際には、オーバークラウドのインストールに Neutron の
trunk
拡張機能が必要です。これは、Director デプロイメントでデフォルトで有効にされます。Neutron バックエンドが ML2/OVS の場合、デフォルトのovs-hybrid
の代わりにopenvswitch
ファイアウォールを使用します。バックエンドが ML2/OVN の場合には変更の必要がありません。RHOSP の 13.0.13 よりも前のバージョンでは、プロジェクトの作成後にプロジェクト ID を
octavia.conf
設定ファイルに追加します。トラフィックが Octavia ロードバランサーを通過する場合など、複数のサービス全体でネットワークポリシーを実行するには、Octavia がユーザープロジェクトで Amphora 仮想マシンセキュリティーグループを作成するようにする必要があります。
この変更により、必要なロードバランサーのセキュリティーグループがそのプロジェクトに属し、それらをサービスの分離を実行するように更新できます。
注記RHOSP の 13.0.13 よりも後のバージョンでは、このタスクは必要ありません。
Octavia は、ロードバランサー VIP へのアクセスを制限する新しい ACL API を実装します。
プロジェクト ID を取得します。
openstack project show <project>
$ openstack project show <project>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクト ID をコントローラーの
octavia.conf
に追加します。stackrc
ファイルを取得します。source stackrc # Undercloud credentials
$ source stackrc # Undercloud credentials
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オーバークラウドコントローラーを一覧表示します。
openstack server list
$ openstack server list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーに対して SSH を実行します。
ssh heat-admin@192.168.24.8
$ ssh heat-admin@192.168.24.8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow octavia.conf
ファイルを編集して、プロジェクトを Amphora セキュリティーグループがユーザーのアカウントに設定されているプロジェクトの一覧に追加します。List of project IDs that are allowed to have Load balancer security groups belonging to them.
# List of project IDs that are allowed to have Load balancer security groups # belonging to them. amp_secgroup_allowed_projects = PROJECT_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新しい設定が読み込まれるように Octavia ワーカーを再起動します。
controller-0$ sudo docker restart octavia_worker
controller-0$ sudo docker restart octavia_worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
RHOSP 環境によっては、Octavia は UDP リスナーをサポートしない可能性があります。RHOSP の 13.0.13 よりも前のバージョンで Kuryr SDN を使用する場合、UDP サービスはサポートされません。RHOSP バージョン 16 以降は UDP をサポートします。
8.2.3.3.1. Octavia OVN ドライバー リンクのコピーリンクがクリップボードにコピーされました!
Octavia は Octavia API を使用して複数のプロバイダードライバーをサポートします。
利用可能なすべての Octavia プロバイダードライバーをコマンドラインで表示するには、以下を入力します。
openstack loadbalancer provider list
$ openstack loadbalancer provider list
出力例
RHOSP バージョン 16 以降、Octavia OVN プロバイダードライバー (ovn
) は RHOSP デプロイメントの OpenShift Container Platform でサポートされます。
ovn
は、Octavia および OVN が提供する負荷分散用の統合ドライバーです。これは基本的な負荷分散機能をサポートし、OpenFlow ルールに基づいています。このドライバーは、OVN Neutron ML2 を使用するデプロイメント上の director により Octavia で自動的に有効にされます。
Amphora プロバイダードライバーがデフォルトのドライバーです。ただし、ovn
が有効にされる場合には、Kuryr がこれを使用します。
Kuryr が Amphora の代わりに ovn
を使用する場合は、以下の利点があります。
- リソース要件が減少します。Kuryr は、各サービスにロードバランサーの仮想マシンを必要としません。
- ネットワークレイテンシーが短縮されます。
- サービスごとに仮想マシンを使用する代わりに、OpenFlow ルールを使用することで、サービスの作成速度が上がります。
- Amphora 仮想マシンで集中管理されるのではなく、すべてのノードに分散負荷分散アクションが分散されます。
RHOSP クラウドがバージョン 13 から 16 にアップグレードした後に、クラスターを Octavia OVN ドライバーを使用するように設定 できます。