Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

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

ルーティング インスタンスは、ルーティング テーブル、インターフェイス、ルーティング プロトコル パラメーターの集合体です。ルーティング インスタンス内のインターフェイスのセットはルーティング テーブルに属し、ルーティング プロトコル パラメーターはルーティング テーブルの情報を制御します。1 つのルーティング インスタンスに複数のルーティング テーブルが存在する場合があります。例えば、ユニキャスト IPv4、ユニキャスト IPv6、マルチキャスト IPv4 ルーティング テーブルは、1 つのルーティング インスタンスに含めることができます。

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

ルートターゲットの概要

ルートターゲットにより、仮想ネットワーク(ネームスペース)は、MPLS(マルチプロトコルラベルスイッチング)構成でVRF(仮想ルーティングと転送)ルーティングテーブルを交換できます。ルートターゲットは、VPNメンバーシップを定義するBGP拡張コミュニティ属性です。つまり、拡張コミュニティ属性内で定義されたすべてのルートは、そのVPNの他のメンバーによって共有されます。VRF ポリシーで、以下の 2 つのルート ターゲットを定義します。

  • ルートターゲットインポートリスト:VRFがインポートする受け入れ可能なルートターゲットのリストを定義します。プロバイダーエッジ(PE)ルーターが別の PE ルーターからルートを受信すると、各ルートに接続されているルートターゲットを、その VRF ごとに定義されたルートターゲットインポートリストと比較します。インポート リストで定義されたルート ターゲットに一致する新しいルート ターゲットがない場合、VRF はルートを拒否します。

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

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

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

  • インポート リストとエクスポート リストを設定して、VRF に関連付けられたサイトを構成する一連の VPN のセットという同じ情報を含めます。

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

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

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

ネットワーク添付ファイル定義 (NAD) は、Kubernetes ネットワーク プラミング ワーキング グループによって指定されたカスタム リソース定義 (CRD) です。NAD、この CRD は、NAD オブジェクトによって参照される論理 (仮想) ネットワークまたは物理ネットワークにポッドを接続する方法を定義します。つまり、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注釈を指定しない場合、クラウドネイティブの Contrail Networking はNADリソースをサードパーティーのリソースとして扱い、Contrail リソース(VirtualNetworkSubnet など)を作成しません。

次の例は、いくつかのannotationsが定義されたサンプル NAD YAML ファイルを示しています。

例 1:

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

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

例 2:

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

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

例 3:

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