第17章 ルーターフレーバーを使用したカスタム仮想ルーターの作成
このセクションの以下のコンテンツは、今回のリリースでは テクノロジープレビュー としての利用となるため、Red Hat によって完全にはサポートされません。これは、テスト用途にのみご利用いただく機能です。実稼働環境にはデプロイしないでください。詳細は、テクノロジープレビュー を参照してください。
ルーターフレーバーを使用して、Red Hat OpenStack Platform (RHOSP) ML2/OVN 環境にカスタムの仮想ルーターをデプロイできます。RHOSP 管理者がルーターフレーバー機能を有効にし、ルーターフレーバーを作成すると、ユーザーはルーターフレーバーを使用してカスタムルーターを作成できます。
RHOSP デプロイメント内では、ルーターフレーバーに基づく仮想カスタムルーターとデフォルトの OVN タイプのルーターを組み合わせることができます。
ルーターフレーバーを使用しても、デフォルトの OVN ルーターの動作には影響しません。ルーターフレーバーを使用すると、デフォルトの OVN ルーターがデフォルトのルーターフレーバーとして扱われ、その設定や操作には影響しません。
ルーターのフレーバーを設定し、カスタムルーターを作成するには、次の一般的な手順を実行します。
管理者は必要な RHOSP ネットワークサービス (neutron) プラグインをロードし、サービスプロバイダーを指定します。
「ルーターフレーバーの有効化とサービスプロバイダーの作成」を参照してください。
管理者がルーターのフレーバーを作成します。
「ルーターフレーバーの作成」を参照してください。
ユーザーは、ルーターフレーバーの 1 つを使用してカスタムルーターを作成します。
「カスタム仮想ルーターの作成」を参照してください。
17.1. ルーターフレーバーの有効化とサービスプロバイダーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) 管理者がルーターのフレーバーを作成する前に、管理者はまず必要な RHOSP Networking サービス (neutron) プラグインをロードし、サービスプロバイダーを指定する必要があります。
管理者は、Networking サービスディレクトリー内のモジュールにサービスプロバイダーコードを展開する必要があります。Red Hat では、neutron.services.ovn_l3.service_providers.user_defined
モジュールを推奨しています。
neutron.services.ovn_l3.service_providers.user_defined
モジュールには、UserDefined
という名前のサービスプロバイダーのサンプルがあります。
以下の手順では、コントローラーノード上の .conf
ファイルを直接編集します。Red Hat は、この直接編集方法に代わる heat テンプレート方法と OpenStack コマンドを開発しています。
前提条件
- Networking サービスメカニズムドライバーは ML2/OVN である必要があります。
- デプロイメント用にルーターフレーバーサービスプロバイダーが作成されている。
- RHOSP コントローラーノードにアクセスでき、設定ファイルを更新するパーミッションがある。
手順
-
コントローラーノードの 1 つで、
/var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf
ファイルを開きます。 service_plugins
リストで、ovn-routers
をovn-router-flavors-ha
に変更します。[DEFAULT] service_plugins = qos,ovn-router-flavors-ha,trunk,segments,port_forwarding,log
[DEFAULT] service_plugins = qos,ovn-router-flavors-ha,trunk,segments,port_forwarding,log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow service_providers
セクションを作成し、使用する予定のルーターフレーバーごとにサービスプロバイダー定義を追加します。- 例
この例では、サービスプロバイダー
user_defined_1
が追加されます。... [service_providers] service_provider = L3_ROUTER_NAT:user_defined_1:neutron.services.ovn_l3.service_providers.user_defined.UserDefined1
... [service_providers] service_provider = L3_ROUTER_NAT:user_defined_1:neutron.services.ovn_l3.service_providers.user_defined.UserDefined1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルーターフレーバーサービスプロバイダーの定義には以下の要素があります。
- サービスプロバイダーの定数
- L3_ROUTER_NAT
- 名前
2 つのコロン文字間のわかりやすい文字列であるサービスプロバイダーの名前。
たとえば、
:user_defined_1:
です。名前は環境内で一意である必要があります。- Path
-
Red Hat では、
neutron.services.ovn_l3.service_providers.user_defined
パスの使用を推奨しています。 - Class
サービスプロバイダーの python クラス名。
各プロバイダーには独自のクラスがあります。たとえば、
UserDefined1
です。注記このクラス名とそのパスを保持します。後でルーターのフレーバーを作成するときに必要になります。
Networking サービス (neutron) を再起動します。
sudo podman restart neutron_api
$ sudo podman restart neutron_api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 残りの RHOSP コントローラーノードで手順 1 - 4 を実行します。
検証
Networking サービスがユーザー定義のサービスプロバイダーを読み込んだことを確認します。
openstack network service provider list
$ openstack network service provider list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 手順が正常に実行されると、新しいサービスが一覧に表示されます。
- 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow