クラウドネイティブ ルーターの一般的な機能
概要 この章では、ジュニパークラウドネイティブルーターの一般的な機能について説明します。クラウドネイティブルーターインターフェイスのタイプと、L2とL3の両方の導入モードに存在するその他の機能について説明します。
ジュニパークラウドネイティブルーターインターフェイスタイプ
ジュニパークラウドネイティブルーターは、以下のタイプのインターフェイスをサポートします。
-
エージェント インターフェイス
vRouter のエージェント インターフェイスは 1 つだけです。エージェント インターフェイスにより、vRouter エージェントと vRouter 間の通信が可能になります。vRouter CLI で コマンドを発行
vif --list
すると、エージェント インターフェイスは次のようになります。vif0/0 Socket: unix Type:Agent HWaddr:00:00:5e:00:01:00 Vrf:65535 Flags:L2 QOS:-1 Ref:3 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 RX packets:0 bytes:0 errors:0 TX packets:650 bytes:99307 errors:0 Drops:0
-
データ プレーン開発キット(DPDK)仮想機能(VF)ワークロード インターフェイス
これらのインターフェイスは、無線ユニット(FRU)またはミリ波分散ユニット(mmWave-DUs)に接続します。vRouter CLI で コマンドを発行
vif --list
すると、DPDK VF ワークロード インターフェイスは次のようになります。vif0/5 PCI: 0000:ca:19.1 (Speed 10000, Duplex 1) Type:Workload HWaddr:9e:52:29:9e:97:9b Vrf:0 Flags:L2Vof QOS:-1 Ref:9 RX queue packets:29087 errors:0 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: 0000:ca:19.1 Status: UP Driver: net_iavf Vlan Mode: Access Vlan Id: 1250 OVlan Id: 1250 RX packets:29082 bytes:6766212 errors:5 TX packets:0 bytes:0 errors:0 Drops:29896
-
DPDK VFファブリックインターフェイス
ホストサーバー上の物理ネットワークインターフェイスカード(NIC)に関連付けられたDPDK VFファブリックインターフェイスは、複数のVLANからのトラフィックを受け入れます。コマンドを発行
vif --list
すると、vRouter CLI では、DPDK VF ファブリック インターフェイスは次のようになります。vif0/1 PCI: 0000:31:01.0 (Speed 10000, Duplex 1) Type:Physical HWaddr:d6:22:c5:42:de:c3 Vrf:65535 Flags:L2Vof QOS:-1 Ref:12 RX queue packets:11813 errors:1 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Fabric Interface: 0000:31:01.0 Status: UP Driver: net_iavf Vlan Mode: Trunk Vlan: 1001-1100 RX packets:0 bytes:0 errors:49962 TX packets:18188356 bytes:2037400554 errors:0 Drops:49963
-
アクティブまたはスタンバイの接着インターフェイス
Bondインターフェイスは、複数のVLANからのトラフィックを受け入れます。bondインターフェイスは、アクティブまたはスタンバイモード(モード0)で実行されます。
コマンドを発行
vif --list
すると、vRouter CLI では、bond インターフェイスは次のようになります。vif0/2 PCI: 0000:00:00.0 (Speed 10000, Duplex 1) Type:Physical HWaddr:32:f8:ad:8c:d3:bc Vrf:65535 Flags:L2Vof QOS:-1 Ref:8 RX queue packets:1882 errors:0 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: eth_bond_bond0 Status: UP Driver: net_bonding Slave Interface(0): 0000:81:01.0 Status: UP Driver: net_iavf Slave Interface(1): 0000:81:03.0 Status: UP Driver: net_iavf Vlan Mode: Trunk Vlan: 751-755 RX packets:8108366000 bytes:486501960000 errors:4234 TX packets:65083776 bytes:4949969408 errors:0 Drops:8108370394
-
virtioおよびDPDKデータプレーンを使用したポッドインターフェイス
Virtio インターフェイスは、複数の VLAN からのトラフィックを受け入れ、DPDK データ プレーンで virtio を使用するポッド インターフェイスに関連付けられています。
vRouter CLI で コマンドを
vif --list
発行すると、DPDK データ プレーン インターフェイスを持つ virtio は次のようになります。vif0/3 PMD: vhost242ip-93883f16-9ebb-4acf-b Type:Virtual HWaddr:00:16:3e:7e:84:a3 Vrf:65535 Flags:L2 QOS:-1 Ref:13 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vlan Mode: Trunk Vlan: 1001-1003 RX packets:0 bytes:0 errors:0 TX packets:10604432 bytes:1314930908 errors:0 Drops:0 TX port packets:0 errors:10604432
-
仮想イーサネット(veth)ペアと DPDK データ プレーンを使用したポッド インターフェイス
vethペアとDPDKデータプレーンを使用するポッドインターフェイスは、トランクインターフェイスではなくアクセスインターフェイスです。このタイプのポッドインターフェイスでは、1つのVLANからのトラフィックのみを通過させることができます。
コマンドを発行
vif --list
した vRouter CLI では、DPDK データ プレーン インターフェイスとのペアは次のようになります。vif0/4 Ethernet: jvknet1-88c44c3 Type:Virtual HWaddr:02:00:00:3a:8f:73 Vrf:0 Flags:L2Vof QOS:-1 Ref:10 RX queue packets:524 errors:0 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vlan Mode: Access Vlan Id: 3001 OVlan Id: 3001 RX packets:9 bytes:802 errors:515 TX packets:0 bytes:0 errors:0 Drops: 525
-
VLAN サブインターフェイス
ジュニパークラウドネイティブルーターリリース22.4以降、クラウドネイティブルーターはVLANサブインターフェイスの使用をサポートしています。VLAN サブインターフェイスは、物理スイッチまたはルーター上の論理インターフェイスのようなものです。クラウドネイティブ ルーターを L2 モードで実行する場合、各サブインターフェイスを特定の VLAN に関連付ける必要があります。JCNR-vRouter では、VLAN サブインターフェイスは次のようになります。
vif0/5 Virtual: vhostnet1-71cd7db1-1a5e-49.3003 Vlan(o/i)(,S): 3003/3003 Parent:vif0/4 Type:Virtual(Vlan) HWaddr:00:99:99:99:33:09 Vrf:0 Flags:L2 QOS:-1 Ref:3 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 RX packets:0 bytes:0 errors:0 TX packets:0 bytes:0 errors:0 Drops:0
-
物理機能(PF)ワークロード インターフェイス
-
PF ファブリック インターフェイス
-
vhost0インターフェイス
インターフェイスは
vhost0
L3 専用インターフェイスです。クラウドネイティブ ルーターを L3 モードで実行する場合、インターフェイスをvhost0
、en1
などのeth0
カーネルベースの物理インターフェイスにマッピングする必要があります。展開する前に、ファイル Juniper_Cloud_Native_Router_/helmchart/values_L3.yamlversion でキーの値vrouter_dpdk_physical_interface:
を調整して、マッピングを行います。この設定では、システムはIPv4とIPv6の両方のトラフィックに同じ物理インターフェイスを使用します。または、 と の各キーに適切な物理インターフェイス名を入力することで、IPv4 および
vhost_interface_ipv6:
IPv6 トラフィックの特定のインターフェイスをvhost_interface_ipv4:
選択できます。
l2 モードで実行する場合、 vhost0
vRouter はインターフェイスをサポートしていません。
vRouter-agent はデプロイ中に values.yaml で L2 モードを検出するため、インストールが vhost0
完了する前にインターフェイスが起動するのを待つことはありません。vRouter-agentはvHostインターフェイス追加メッセージを送信しないため、vRouterはインターフェイスを vhost0
作成しません。
ポッドは、クラウドネイティブルーターで使用されるインターフェイスを含むKubernetes要素です。インターフェイスの作成を制御するには、YAML 設定ファイルで key:value ペアの値部分を操作します。クラウドネイティブルーターは、ポッドおよびインターフェイスの作成に、ポッド固有のファイルとネットワーク接続デバイス(NAD)固有のファイルを使用します。ポッドの作成時に、KubernetesはポッドとNAD設定ファイルを参照し、NAD設定ファイルに含まれる値から必要なインターフェイスを作成します。
「L2」でNADファイルとPOD YAMLファイルの例を確認できます。「 クラウドネイティブルーターインスタンスへのカーネルアクセス付きユーザーポッドの追加 」と「 L2」 - virtioトランクポートを持つユーザーポッドをクラウドネイティブルーターインスタンスインスタンスに追加 する例を見ることができます。
ロギングと通知
ジュニパークラウドネイティブルーターのロギング機能と通知機能については、このトピックをお読みください。ログ ファイルの場所、ログに記録できる内容、さまざまなログ レベルについて説明します。また、利用可能な通知と、通知をクラウドネイティブルーターに実装する方法についても学習できます。
ファイルの場所
ジュニパークラウドネイティブルーターポッドとコンテナは、ロギングメカニズムとしてsyslogを使用します。value.yaml ファイル内の log_path キーの値を保持または変更することで、展開時にログ ファイルの場所を決定できます。デフォルトでは、ログファイルの場所は/var/log/jcnrです。システムは、すべてのクラウドネイティブルーターポッドとコンテナからのログファイルをlog_pathディレクトリに保存します。
さらに、syslog-ngポッドは、イベント通知データを JSON 形式でホストサーバーに保存します。syslog-ngポッドは、json形式の通知を syslog_notifications キーで指定されたディレクトリに values.yaml ファイルに格納します。デフォルトでは、ファイルの場所は /var/log/jcnr で、ファイル名は jcnr_notifications.json です。クラウドネイティブルーターを導入する前に 、syslog_notifications キーの値を変更することで、場所とファイル名を変更できます。
デフォルトのファイル場所を使用すると、 /var/log/jcnr ディレクトリに 以下のファイルが表示されます。
[root@jcnr-1 /var/log/jcnr]# ls contrail-vrouter-agent.log contrail-vrouter-agent.log.2 contrail-vrouter-dpdk.log jcnr_notifications.json contrail-vrouter-agent.log.1 contrail-vrouter-dpdk-init.log jcnr-cni.log vrouter-kernel-init.log
ホスト サーバーは、 contrail-vrouter-dpdk.log と jcnr-cni.log ファイルのログローテーションを管理する必要があります。
通知
syslog-ngポッドは、インターフェイスアップ、インターフェイスダウン、インターフェイス追加などの通知イベントについて、前述のログファイルを継続的に監視します。これらのイベントがログファイルに表示されると、syslog-ngはログイベントを通知イベントに変換し、イベントを values.yamlファイルで設定されたsyslog_notificationsファイル内に格納します。
ジュニパークラウドネイティブルーターリリース22,2 syslog-ngでは、以下の通知を保存しています。
通知 | ソースポッド |
---|---|
ライセンスの期限切れ間近 |
プリエンプション |
ライセンスの期限切れ |
プリエンプション |
ライセンスが無効です |
プリエンプション |
ライセンスについて |
プリエンプション |
JCNR Init の成功 |
デプロイヤ |
JCNR Init 障害 |
デプロイヤ |
アップストリーム ファブリック ボンド メンバー リンク アップ |
vRouter |
アップストリーム ファブリック ボンド メンバー リンク ダウン |
vRouter |
アップストリームファブリックのボンドアップ |
vRouter |
アップストリーム ファブリック ボンド リンク ダウン |
vRouter |
ダウンストリームファブリックリンクアップ |
vRouter |
ダウンストリーム ファブリック リンク ダウン |
vRouter |
アプライアンスのリンクアップ |
vRouter |
アプライアンスリンクダウン |
vRouter |
JCNRアプリケーションクリティカルなエラー |
vRouter |
JCNR MAC テーブルの上限に達しました |
vRouter |
JCNR CLI の開始 |
cRPDまたはvRouter-Agent |
JCNR CLI Stop |
cRPDまたはvRouter-Agent |
JCNR カーネル アプリケーション インターフェイスのアップ |
vRouter |
JCNR カーネル アプリケーション インターフェイスダウン |
vRouter |
JCNR Virtioユーザーインターフェイスアップ |
vRouter |
JCNR Virtio ユーザー インターフェイスのダウン |
vRouter |
「」も参照
ジュニパークラウドネイティブルーターライセンス
ジュニパークラウドネイティブルーターライセンスについては、このセクションをお読みください。
ジュニパークラウドネイティブルーターのライセンス
ジュニパークラウドネイティブルーターリリース22.2から、ジュニパーアジャイルライセンス(JAL)モデルを有効にしました。JALは、ジュニパーのエンドユーザーライセンス契約に適合した機能を確実に使用します。ジュニパーのクラウドネイティブ ルーター ソフトウェアのライセンスは、ジュニパー アカウント チームから購入できます。クラウドネイティブルーターコントローラのCLIを使用してライセンスを適用できます。複数のクラウドネイティブルーター導入用に複数のライセンスファイルを管理する方法の詳細については、 ジュニパーアジャイルライセンスの概要を参照してください。
ホストサーバーで コマンドkubectl get pods -A
を発行したときにcRPDポッドの状態が実行中と表示された場合、ライセンスファイルが正しく適用されています。
ジュニパークラウドネイティブルーターのリリース22.3および22.4では、ライセンスコンプライアンスのみを監視します。ライセンスコンプライアンスは実施しません。
After configuring, apply your firewall filters to a bridge domain using a cRPD configuration command similar to:set routing-instances vswitch bridge-domains bd3001 forwarding-options filter input filter1
. Then, commit the configuration for the firewall filter to take effect.
To see the how many packets matched the filter (per VLAN), you can use the cRPD CLI and issue the command:
show firewall filter filter1
The output from the above command looks like:
Filter : filter1 vlan-id : 3001 Term Packet t1 0
In this example, we applied the filter to the bridge domain bd3001
. The filter has not yet matched any packets.
便利な CLI コマンド
このセクションでは、CLI コマンドとその出力例を示します。コマンド補完の出力例も示します。これらの出力では、クラウドネイティブルーターシステムで確認できる使用可能なコマンド階層を表示できます。
ブリッジ コマンド階層は、次のようなコマンドで show bridge ?
確認できます。
show bridge ? Possible completions: mac-table Show media access control table statistics Show bridge statistics information
If you look further into the hierarchy, you see:
show bridge mac-table ? Possible completions: <[Enter]> Execute this command count Number of MAC address mac-address MAC address in the format XX:XX:XX:XX:XX:XX vlan-id Display MAC address learned on a specified VLAN or 'all-vlan' | Pipe through a command
If you use the <[Enter]> option, you see something like:
show bridge mac-table Routing Instance : default-domain:default-project:ip-fabric:__default__ Bridging domain VLAN id : 3002 MAC MAC Logical address flags interface 00:00:5E:00:53:01 D bond0
The show bridge mac-table
command displays the L2 MAC table which is dynamically learned by the vRouter.
If you look at the other option, statistics
, you see:
show bridge statistics ? Possible completions: <[Enter]> Execute this command vlan-id Display statistics for a particular vlan (1..4094) | Pipe through a command
If you use the <[Enter]> option, you see:
show bridge statistics Bridge domain vlan-id: 100 Local interface: bond0 Broadcast packets Tx : 0 Rx : 0 Multicast packets Tx : 0 Rx : 0 Unicast packets Tx : 0 Rx : 0 Broadcast bytes Tx : 0 Rx : 0 Multicast bytes Tx : 0 Rx : 0 Unicast bytes Tx : 0 Rx : 0 Flooded packets : 0 Flooded bytes : 0 Local interface: ens1f0v1 Broadcast packets Tx : 0 Rx : 0 Multicast packets Tx : 0 Rx : 0 Unicast packets Tx : 0 Rx : 0 Broadcast bytes Tx : 0 Rx : 0 Multicast bytes Tx : 0 Rx : 0 Unicast bytes Tx : 0 Rx : 0 Flooded packets : 0 Flooded bytes : 0 Local interface: ens1f3v1 Broadcast packets Tx : 0 Rx : 0 Multicast packets Tx : 0 Rx : 0 Unicast packets Tx : 0 Rx : 0 Broadcast bytes Tx : 0 Rx : 0 Multicast bytes Tx : 0 Rx : 0 Unicast bytes Tx : 0 Rx : 0 Flooded packets : 0
The show bridge statistics
command displays the L2 VLAN traffic statistics per interface within a bridge domain.
To see the firewall (ACL) configuration:
show configuration firewall:firewall family { bridge { filter filter1 { term t1 { from { destination-mac-address 10:30:30:30:30:31; source-mac-address 10:30:30:30:30:30; ether-type oam; } then { discard; } } } } }