16.4. ルーティング対応プロバイダーネットワークの準備
Red Hat OpenStack Platform (RHOSP) でルーテッドプロバイダーネットワークを作成するには、まずネットワークの作成に必要なネットワーク情報を収集する必要があります。ネットワークセグメントを含む Compute ノードに RHOSP Networking サービス (neutron) メタデータエージェントをデプロイするカスタムロールを作成するように、オーバークラウドを設定する必要があります。ML2/OVS メカニズムドライバーを使用する環境では、メタデータエージェントに加え、Compute ノードに NeutronDhcpAgent サービスも追加する必要があります。コンピューティングスケジューラーサービスを実行しているコントローラーでは、ルーティング対応プロバイダーネットワークのスケジューリングサポートを有効にする必要があります。
前提条件
-
adminロールを持つ RHOSP ユーザーである。
手順
ルーティング対応プロバイダーネットワークを作成するネットワークの
tripleo-heat-templates/network_data.yamlファイルから VLAN ID を収集し、ルーティング対応プロバイダーネットワーク上に作成する各セグメントに一意の物理ネットワーク名を割り当てます。これにより、サブネット間で同じセグメンテーション情報を再利用できます。参照テーブルを作成して、VLAN ID、セグメント、および物理ネットワーク名の関係を可視化します。
- 例 - ルーティング対応プロバイダーネットワークセグメント定義
Expand ルーティング対応プロバイダーネットワーク VLAN ID Segment 物理ネットワーク multisegment1
128
segment1
provider1
multisegment1
129
segment2
provider2
セグメント間のルーティングを計画します。
セグメント上の各サブネットには、その特定のサブネット上のルーターインターフェイスのゲートウェイアドレスが含まれている必要があります。サブネットアドレスは、IPv4 と IPv6 の両方の形式で必要です。
- 例 - ルーティング対応プロバイダーネットワークセグメントのルーティング計画
Expand ルーティング対応プロバイダーネットワーク Segment サブネットアドレス ゲートウェイアドレス multisegment1
segment1 (IPv4)
203.0.113.0/24
203.0.113.1
multisegment1
segment1 (IPv6)
fd00:203:0:113::/64
fd00:203:0:113::1
multisegment1
segment2 (IPv4)
198.51.100.0/24
198.51.100.1
multisegment1
segment2 (IPv6)
fd00:198:51:100::/64
fd00:198:51:100::1
ルーティング対応プロバイダーネットワークでは、Compute ノードが異なるセグメントに存在している必要があります。
templates/overcloud-baremetal-deployed.yamlファイルをチェックして、ルーティング対応プロバイダーネットワーク内のすべての Compute ホストがそのセグメントのいずれかに直接接続されていることを確認します。詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウドのベアメタルノードのプロビジョニング を参照してください。
NeutronMetadataAgentサービスが、そのセグメントが含まれる Compute ノードのtemplates/roles_data-custom.yamlに含まれていることを確認します。... - name: Compute ... ServicesDefault: - OS::TripleO::Services::NeutronMetadataAgent ...詳細は、Red Hat OpenStack Platform デプロイメントのカスタマイズ ガイドの コンポーザブルサービスとカスタムロール を参照してください。
ML2/OVS メカニズムドライバーを使用する場合は、セグメントが含まれる Compute ノードの
templates/roles_data-custom.yamlに、NeutronMetadataAgentサービスに加えてNeutronDhcpAgentサービスも含まれていることを確認してください。... - name: Compute ... ServicesDefault: - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronMetadataAgent ...ヒント従来のプロバイダーネットワークとは異なり、DHCP エージェントはネットワーク内で複数のセグメントをサポートすることができません。ノード数を減らすために、ネットワークノードにではなくセグメントが含まれる Compute ノードに DHCP エージェントをデプロイします。
-
ルーティング対応プロバイダーネットワーク環境ファイル (
rpn_env.yamlなど) を作成します。 分離されたネットワーク上でメタデータのサポートを有効にするように DHCP を設定します。
parameter_defaults: NeutronEnableIsolatedMetadata: truesegmentsサービスプラグインがネットワークサービスにロードされていることを確認します。$ openstack extension list --network --max-width 80 | grep -E "Segment"segmentsプラグインがない場合は、NeutronServicePluginsパラメーターに追加します。例
parameter_defaults: NeutronEnableIsolatedMetadata: true NeutronServicePlugins: 'router,qos,segments,trunk,placement'重要NeutronServicePluginsパラメーターに新しい値を追加すると、RHOSP director は、以前に宣言された値を追加する値で上書きします。したがって、segmentsを追加するときは、以前に宣言された Networking サービスプラグインも含める必要があります。ホストでインスタンスをスケジュールする前に Placement サービスでネットワークを検証するには、Compute スケジューラーサービスを実行しているコントローラー上のルーティング対応プロバイダーネットワークのスケジューリングサポートを有効にします。
例
parameter_defaults: NeutronEnableIsolatedMetadata: true NeutronServicePlugins: 'router,qos,segments,trunk,placement' NovaSchedulerQueryPlacementForRoutedNetworkAggregates: trueルーティング対応プロバイダーネットワークの環境ファイルを他の環境ファイルと一緒にスタックに追加して、オーバークラウドをデプロイします。
$ openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /home/stack/templates/rpn_env.yaml
次のステップ