Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ルート ターゲットを使用した仮想間ネットワーク ルーティングの構成

概要 クラウドネイティブのContrail® Networking™(CN2)は、ルートターゲットを使用した仮想ネットワーク間ルーティングをサポートします。仮想ネットワーク間でトラフィックをルーティングするために、共通のルート ターゲットを指定します。

仮想ネットワークとルーティングインスタンスの概要

ルーティング インスタンスは、ルーティング テーブル、インターフェイス、およびルーティング プロトコル パラメータの集合です。ルーティング インスタンス内のインターフェイスのセットはルーティング テーブルに属し、ルーティング プロトコル パラメータはルーティング テーブル内の情報を制御します。ルーティング インスタンス例えば、ユニキャスト IPv4、ユニキャスト IPv6、マルチキャスト IPv4 ルーティング テーブルは 1 つのルーティング インスタンスに存在できます。

仮想ネットワークでは、物理ネットワーク デバイスを複数の仮想ルーターに分割し、それぞれに独自のインターフェイス、ルーティング インスタンス、関連する仮想ネットワークを持たせることができます。ルーティングインスタンスは、 VirtualNetwork内のトラフィックを分離します。仮想ネットワーク間でトラフィックをルーティングする場合は、それらのネットワークに共通のルート ターゲットを定義できます。

ルートターゲットの概要

ルート ターゲットを使用すると、仮想ネットワーク (名前空間) は、MPLS (MPLS) 構成で仮想ルーティングおよび転送 (VRF) ルーティング テーブルを交換できます。ルートターゲットは、VPNメンバーシップを定義するBGP拡張コミュニティ属性です。つまり、そのVPNのメンバーは、拡張コミュニティ属性内で定義されたすべてのルートを共有します。VRF ポリシーで、以下の 2 つのルート ターゲットを定義します。

  • ルート ターゲット インポート リスト:VRF がインポートできるルート ターゲットのリストを定義します。プロバイダエッジ(PE)ルーターは、他のPEルーターからルートを受信すると、ルートターゲットをルートターゲットインポートリストと比較します。具体的には、PE ルーターは、各ルートにアタッチされたルート ターゲットを、各 VRF に定義されたルート ターゲット インポート リストと比較します。インポート リストで定義されたルート ターゲットに一致する新しいルート ターゲットがない場合、VRF はルートを拒否します。

  • ルートターゲット エクスポート リスト:VPN 内の他の PE ルーターにアドバタイズされるすべてのルートにアタッチされたルート ターゲットのリストを定義します。

ネットワーク設定によっては、インポートリストとエクスポートリストが同じになる場合があります。通常は、次の操作を行います。

  • VPN ごとに 1 つのルート ターゲット拡張コミュニティ値を割り当てます。

  • インポートリストとエクスポートリストを設定し、同じ情報(VRF に関連するサイトを構成する VPN のセット)を含めます。

ハブアンドスポークVPNのようなより複雑な設定では、ルートターゲットインポートリストとルートターゲットエクスポートリストが同一でない可能性があります。

NADを使用したルートターゲットを介した仮想ネットワーク間ルーティングの有効化

VirtualNetworkリソースで一致するルートターゲットを定義することにより、ルートターゲットコミュニティを確立します。これにより、仮想ネットワーク (名前空間) 間でトラフィックをルーティングできます。ネットワーク接続定義(NAD)を使用して、VirtualNetworkリソースオブジェクトにルートターゲットを追加します。

Network Attachment Definition(NAD)は、Kubernetes Network Plumbing Working Groupによって指定されたカスタムリソース定義(CRD)です。NAD、この CRD は、NAD オブジェクトが参照する論理 (仮想) または物理ネットワークに Pod をアタッチする方法を定義します。つまり、NAD オブジェクトには、ネットワークに関連するポッドのネットワーク情報(名前空間、サブネット、ルーティング、インターフェイス)が含まれています。NAD YAML ファイルのannotationsで、VirtualNetworkリソースに対して次のオプションを定義できます。

  • ipamV4Subnet (オプション): VirtualNetworkのIPv4 CIDRサブネットを指定します。

  • ipamV6Subnet (オプション): VirtualNetworkのIPv6 CIDRサブネットを指定します。

  • routeTargetList (オプション): インポートおよびエクスポートのルートターゲットをリストします。

  • importRouteTargetList (オプション): インポートとして使用されるルート ターゲットを一覧表示します。

  • exportRouteTargetList (オプション): エクスポートとして使用されるルート ターゲットを一覧表示します。

  • fabricSNAT (オプション):ポート マッピングによってアンダーレイ ネットワークへの接続を切り替えます。デフォルト設定は false です。

さらに、NAD-ControllerNADオブジェクト作成イベントを監視し、それに応じてVirtualNetworkを作成および更新します。NADjuniper.net/networks-statusアノテーションは、VirtualNetwork作成中に成功またはエラーイベントを更新します。

手記:

juniper.net/networksアノテーションを指定しない場合、Cloud-Native Contrail NetworkingはNADリソースをサードパーティ・リソースとして扱います。クラウドネイティブ Contrail Networking では、Contrail リソース(VirtualNetworkSubnet など)は作成されません。

次の例は、複数のannotationsが定義されたNAD YAML ファイルを示しています。

例 1:

NAD-Controllerは、NAD YAML ファイルを適用すると、VirtualNetwork リソースを自動的に更新します。

次の例は、複数のルートターゲットオプションが定義された VirtualNetwork リソースを示しています。

例 2:

必要なネットワーク・アノテーションを確立したら、共有ルート・ターゲットを持つネットワークに接続されるカスタム・インターフェースを持つポッドを作成できます。これらのネットワークは、 NAD および VirtualNetwork オブジェクトで定義された共有ルート ターゲットの結果として、互いの間でトラフィックをルーティングします。

次の例は、例 1 のアノテーションから派生したカスタム インターフェイスを含むポッド YAML ファイルを示しています。

例 3:

前のコード例に示した 2 つのインターフェイス (nasa-network1nasa-network2) は、異なるネットワークに接続されることに注意してください。 NAD 機能の結果として、これらのネットワーク間でトラフィックをルーティングできます。