システム要件

このセクションでは、ジュニパークラウドネイティブルーターをインストールするためのシステム、リソース、ポート、ライセンス要件について理解することができます。

ホストのシステム要件

このセクションでは、クラウドネイティブルーターをインストールするためのホストシステム要件を示しています。

表1:クラウドネイティブルーターホストのシステム要件
コンポーネント リリース23.2
値/バージョン 注記
CPU Intel x86 テスト対象のCPUはIntel Xeon Gold 6212U 24コア @2.4 GHz
ホストOS

RedHat Enterprise Linux

バージョン8.4、8.5、8.6

Rocky Linux 8.6
カーネルバージョン RedHat Enterprise Linux(RHEL):4.18.X

Rocky Linux:4.18.X

RHEL のテスト済みカーネルバージョンは 4.18.0-305.rt7.72.el8.x86_64 です

Rocky Linux のテスト済みカーネルバージョンは 4.18.0-372.19.1.rt7.176.el8_6.x86_64 および 4.18.0-372.32.1.rt7.189.el8_6.x86_64 です

NIC
  • Intel E810(ファームウェア4.00 0x80014411 1.3236.0)

  • Intel E810-CQDA2 ファームウェア 4.000x800144111.3236.0

  • ファームウェア 9.00 0x8000cead 1.3179.0 の Intel XL710

  • Elastic Network Adapter(ENA)

 
IAVFドライバー バージョン4.5.3.1  
ICE_COMMS バージョン 1.3.35.0  
ICE バージョン 1.9.11.9 ICE ドライバーは、Intel E810 NIC でのみ使用されます
i40e バージョン2.18.9 i40e ドライバーは、Intel XL710 NIC でのみ使用されます
Kubernetes(K8s) バージョン 1.22.x、1.23.x、1.25x テストされた K8s バージョンは 1.22.4 ですが、1.22.2 も動作します。
キャリコ バージョン 3.22.x  
マルタス バージョン3.8  
ヘルム 3.9.x  
コンテナRT Docker CE 20.10.11、crio 1.25x  
Amazon EKS   K8sのバージョンは1.23.17です。

カーネルバージョンは5.4.235-144.344.amzn2.x86_64です
OSバージョンはAmazon Linux 2です

OpenShift 4.12.0 K8sのバージョンは1.25.4です。

リソース要件

このセクションでは、クラウドネイティブルーターをインストールするためのリソース要件を示しています。

表2:クラウドネイティブルーターのリソース要件
リソース リリース23.2
値 使用上の注意
データプレーン転送コア 物理コア(2P)x 2  
サービス/コントロールコア 0  
UIOドライバー VFIO-PCI  
Hugepages(1G) 6ギ /etc/default/grubにGRUB_CMDLINE_LINUX_DEFAULT 値を追加し、ホストを再起動します。次に例を示します。GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 default_hugepagesz=1G hugepagesz=1G hugepages=64 intel_iommu=on iommu=pt"
Cloud-Native Routerコントローラコア数 .5  
Cloud-Native Router vRouterエージェントコア数 .5  

その他の要件

このセクションでは、クラウドネイティブルーターをインストールするための追加の要件を示します。

表3:その他の要件
Cloud-Native Routerリリース23.2その他の要件
次のコマンドを使用して、システム起動時にVLANドライバーを有効にします。

modprobe 8021q

コマンドを実行して確認する

lsmod | grep 8021q

システム起動時にVFIO-PCIドライバーを有効にします
/etc/default/grubファイルにIOMMUとIOMMU-PTを設定します。例えば、
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 default_hugepagesz=1G hugepagesz=1G hugepages=64 intel_iommu=on iommu=pt"

grubを更新し、ホストを再起動します。次に例を示します。

grub2-mkconfig -o /boot/grub2/grub.cfg 
JCNRに割り当てられたVFのスプーフィングチェックを無効にします。例: ip link set <interfacename> vf 1 spoofcheck off。
注:

L2導入にのみ適用されます。

JCNRに割り当てられたVFの信頼を設定します。次に例を示します。 ip link set <interfacename> vf 1 trust on
注:

L2導入にのみ適用されます。

Cloud-Native RouterをL3モードで展開する前に、追加のカーネルモジュールをホストにロードする必要があります。これらのモジュールは通常、 linux-modules-extra または kernel-modules-extra パッケージで入手できます。以下のコマンドを実行して、カーネルモジュールを追加します。

  • modprobe tun

  • modprobe fou

  • modprobe fou6

  • モジュールプローブ ipip

  • modprobe ip_トンネル

  • modprobe ip6_トンネル

  • modprobe mpls_gso

  • modprobe mpls_ルーター

  • modprobe mpls_iptunnel

  • ModProbe VRF

  • モジュールプローブ VXLAN

Linux ホストで ip fou add port 6635 ipproto 137 コマンドを実行して、カーネルベースの転送を有効にします。

NetworkManager は、ネットワーク インターフェイスの管理を容易にするための一部のオペレーティング システムのツールです。NetworkManager を使用すると、デフォルトのインターフェイスの操作と設定が容易になる場合があります。ただし、Kubernetesの管理に干渉し、問題が発生する可能性があります。

NetworkManager がインターフェイス設定に干渉しないようにするには、以下の手順を実行します。

  1. /etc/NetworkManager/conf.d/crpd.confファイルを作成します。
  2. ファイルに次のコンテンツを追加します。
    [keyfile]
     unmanaged-devices+=interface-name:enp*;interface-name:ens*
    注:enp*は、enpで始まるすべてのインターフェイスを示します。特定のインターフェイス名については、カンマ区切りのリストを記載しています。
  3. コマンド sudo systemctl restart NetworkManagerを実行して、NetworkManagerサービスを再起動します。
  4. ホスト上の sysctl ファイルを編集し、以下のコンテンツを貼り付けます。
    net.ipv6.conf.default.addr_gen_mode=0
    net.ipv6.conf.all.addr_gen_mode=0
    net.ipv6.conf.default.autoconf=0
    net.ipv6.conf.all.autoconf=0
  5. コマンド sysctl -p /etc/sysctl.conf を実行して、ホストに新しい sysctl.conf 値を読み込みます。
  6. ボンディングインターフェイスを手動で作成します。次に例を示します。

    ifconfig ens2f0 down
    ifconfig ens2f1 down
    ip link add bond0 type bond mode 802.3ad
    ip link set ens2f0 master bond0
    ip link set ens2f1 master bond0
    ifconfig ens2f0 up ; ifconfig ens2f1 up; ifconfig bond0 up
JCNRを展開する前に、core_pattern値がホストに設定されていることを確認します。
sysctl kernel.core_pattern
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e

/etc/sysctl.confでcore_patternを更新できます。次に例を示します。

kernel.core_pattern=/var/crash/core_%e_%p_%i_%s_%h_%t.gz

ポート要件

ジュニパークラウドネイティブルーターは、特定のTCPポートとUDPポートをリッスンします。このセクションでは、クラウドネイティブルーターのポート要件を示します。

表4:クラウドネイティブルーターのリスニングポート
プロトコル ポート 説明
TCP 8085 vRouter introspect - vRouterに関する内部統計情報を取得するために使用します
TCP 8070 テレメトリ情報 - クラウドネイティブルーターからのテレメトリデータを表示するために使用します
TCP 9091 vRouterの健全性チェック - クラウドネイティブルーターが 、contrail-vrouter-dpdk プロセスが実行されていることなどを確認します。
TCP 50052 gRPCポート - クラウドネイティブルーターは、IPv4とIPv6の両方をリッスンします
TCP 24 cRPD SSH
TCP 830 cRPD NETCONF
TCP 666 rpd
TCP 1883 Mosquito mqtt–パブリッシュ/サブスクライブメッセージングユーティリティ
TCP 9500 cRPDのエージェント
TCP 21883 NA-MQTTD
TCP 50051 cRPD上のjsd
TCP 51051 cRPD上のjsd
UDP 50055 Syslog-NG

Cloud-Native Routerライセンス

ジュニパークラウドネイティブルーター(JCNR)リリース22.2以降、当社はジュニパーアジャイルライセンス(JAL)モデルを有効にしています。JALは、機能がジュニパーのエンドユーザーライセンス契約に準拠して使用されることを保証します。ジュニパー Cloud-Native Routerソフトウェアのライセンスは、ジュニパーアカウントチームを通じて購入できます。ライセンスは、クラウドネイティブルーターコントローラのCLIを使用して適用できます。複数のクラウドネイティブルーター導入向けの複数のライセンスファイルの管理の詳細については、 ジュニパーアジャイルライセンシングの概要を参照してください。

注:

Cloud-Native Routerリリース23.2以降、Cloud-Native Routerのライセンス形式が変更されました。23.2以降のリリースを導入またはアップグレードする前に、JALポータルから新しいライセンスキーをリクエストしてください。

Cloud-Native Routerのライセンスを確認するには:

  1. ホストサーバーでコマンド kubectl get pods -A | grep -i crpd を実行します。

  2. cRPDポッドを特定し、コマンド kubectl exec -it -n jcnr kube-crpd-worker-sts-0 -- cli show system licenseを発行します。