Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ベアメタルサーバーのシステム要件

このセクションでは、ベアメタルサーバーにジュニパークラウドネイティブルーターをインストールするためのシステム、リソース、ポート、ライセンス要件について説明します。

ベアメタルの最小ホストシステム要件

表1 から 表3 は、ベアメタルサーバーにCloud-Native Routerをインストールするためのホストシステム要件を示しています。

表1:ベアメタルの最小ホストシステム要件(DPDK)
コンポーネント 値/バージョン 注記
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, 8.7, 8.8, 8.9, 9.3
Ubuntu 22.04.4 LTS
カーネルバージョン

RedHat Enterprise Linux(RHEL):4.18.X

ロッキーLinux:4.18.X、5.14.X

Ubuntu:5.15.X

 
NIC 表2をご覧ください。
IAVFドライバー 4.8.2  
ICE_COMMS 1.3.35.0  
ICE 1.11.20.13 ICE ドライバーは、Intel E810 NIC でのみ使用されます
i40e 2.22.18.1 i40e ドライバーは、Intel XL710 NIC でのみ使用されます
Kubernetes(K8s) 1.22.x、1.23.x、1.25x、1.28.x、1.29.x Cloud-Native Routerは、オールインワンまたはマルチノードのKubernetesクラスターをサポートしており、マスターノードとワーカーノードは仮想マシン(VM)またはベアメタルサーバー(BMS)で実行されます。
キャリコ 3.22.x  
マルタス 3.8  
SR-IOV CNI v2.10  
ヘルム 3.9.x  
コンテナRT コンテナ 1.6.x、1.7.x 他のコンテナランタイムは動作する可能性がありますが、Cloud-Native Router ではテストされていません。
注:

この表に示したコンポーネントバージョンは、Cloud-Native Routerで動作することが想定されていますが、すべてのバージョンまたは組み合わせがすべてのリリースでテストされているわけではありません。

表2:サポートされているNIC(DPDK)
コントローラファミリー NIC ファームウェア ドライバー 通信DDP
Intelイーサネット700シリーズ

インテルXL710

9.50 2.26.8
 

Intel X710-DA4(10G x 4)

9.50 2.26.8
 

Intel XXV710-DA2(2 x 25G)

9.50 2.26.8
Intelイーサネット800シリーズ

インテル E810 CPK

2.20 1.9.11.9
 

インテル E810 CVL

4.60 1.15.4 1.3.46.0
 

Intel E810-C(4 x 25G)

4.60 1.15.4 1.3.46.0
 

Intel E810-C(100G x 2)

4.60 1.15.4 1.3.46.0
 

インテル E810-CQDA2

4.60 1.15.4 1.3.46.0
 

インテル E810-XXV

4.60 1.15.4 1.3.46.0
エヌビディアメラノックス1

Mellanox ConnectX-6

26.43.1014 24.10-0.7.0.0
 

Mellanox ConnectX-7

28.43.1014 24.10-0.7.0.0

1Nvidia Mellanox NIC を使用する場合は、インターフェイス名の長さが 11 文字を超えないようにしてください。

表3:ベアメタルの最小ホストシステム要件(eBPF)
コンポーネント 値/バージョン 注記
CPU Intel x86 テスト対象のCPUはIntel Xeon Gold 6212U 24コア @2.4 GHz
ホストOS

Ubuntu

バージョン22.04

カーネルバージョン 推奨Linux 5.10.x以降 テスト対象のカーネルバージョンは5.15.xです
NIC
  • ファームウェア9.20 0x8000e0e9 0.0.0のIntel XL710

 
ドライバー virtio  
i40eバージョン2.22.18.1
Kubernetes(K8s) バージョン 1.22.x、1.23.x、1.25x テスト済みの K8s バージョンは 1.22.4 です。K8sバージョン1.22.2も動作します。

Cloud-Native Routerは、オールインワンまたはマルチノードのKubernetesクラスターをサポートし、コントロールプレーンとワーカーノードは仮想マシン(VM)またはベアメタルサーバー(BMS)上で実行されます。

キャリコ バージョン 3.22.x  
マルタス バージョン3.8  
ヘルム 3.9.x  
コンテナRT コンテナ 1.7.x 他のコンテナランタイムは動作する可能性がありますが、Cloud-Native Router ではテストされていません。
注:

この表に示すコンポーネントバージョンはCloud-Native Routerで動作することが想定されていますが、すべてのバージョンまたは組み合わせがすべてのリリースでテストされているわけではありません。

注:

Cloud-Native Router eBPF XDP Datapathは、 ジュニパーのテクノロジープレビュー(技術プレビュー) 機能です。限られた機能がサポートされます。詳細については、 ジュニパークラウドネイティブルーターvRouterのデータパス をご覧ください。

ベア・メタルのリソース要件

表4 は、ベアメタルサーバーにCloud-Native Routerをインストールするためのリソース要件を示しています。

表4:ベアメタルのリソース要件
リソース 使用上の注意
データプレーン転送コア 1コア(1P + 1S)  
サービス/コントロールコア 0  
UIOドライバー VFIO-PCI 有効にするには、以下の手順に従います。
cat /etc/modules-load.d/vfio.conf
vfio
vfio-pci
Hugepages(1G) 6ギ ノード で使用可能なヒュージページの数を設定するを参照してください。
Cloud-Native Routerコントローラコア数 .5  
Cloud-Native Router vRouterエージェントコア数 .5  

ベア メタルのその他の要件

表5 に、ベアメタルサーバーにCloud-Native Routerをインストールするための追加要件を示します。

表5:ベアメタルのその他の要件

要件

例文

システムのBIOSでSR-IOVとVT-dでホストを有効にします。

BIOSによって異なります。

システム起動時にVLANドライバーを有効にします。

/etc/modules-load.d/vlan.confを次のように設定します。

cat /etc/modules-load.d/vlan.conf
8021q

再起動し、次のコマンドを実行して確認します。

lsmod | grep 8021q

システム起動時にVFIO-PCIドライバーを有効にします。

/etc/modules-load.d/vfio.conf を次のように設定します。

cat /etc/modules-load.d/vfio.conf
vfio
vfio-pci

再起動し、次のコマンドを実行して確認します。

lsmod | grep vfio

GRUBでIOMMUとIOMMU-PTを設定します。

/etc/default/grub に次の行を追加します。
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 
reboot

Cloud-Native Routerに割り当てられたVFのスプーフィングチェックを無効にします。

注:

L2導入にのみ適用できます。

ip link set <interfacename> vf 1 spoofcheck off.

Cloud-Native Routerに割り当てられたVFの信頼を設定します。

注:

L2導入にのみ適用できます。

ip link set <interfacename> vf 1 trust on

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

注:

L3導入にのみ適用可能です。

/etc/modules-load.d/crpd.conf ファイルを作成し、次のカーネルモジュールを追加します。

tun
fou
fou6
ipip
ip_tunnel
ip6_tunnel
mpls_gso
mpls_router
mpls_iptunnel
vrf
vxlan

Linux ホストでカーネルベースの転送を有効にします。

ip fou add port 6635 ipproto 137

Cloud-Native RouterインターフェイスをNetworkManagerの制御から除外します。

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

NetworkManager が Cloud-Native Router のインターフェイス設定に干渉しないようにするには、Cloud-Native Router のインターフェイスを NetworkManager の制御から除外します。一部の Linux ディストリビューションでこれを行う方法の例を次に示します。

  1. /etc/NetworkManager/conf.d/crpd.conf ファイルを作成し、NetworkManager に管理させたくないインターフェイスをリストアップします。

    次に例を示します。

    [keyfile]
     unmanaged-devices+=interface-name:enp*;interface-name:ens*
    ここでenp*ens*はクラウドネイティブルーターのインターフェイスを指します。
    注:enp*enpで始まるすべてのインターフェイスを示します。特定のインターフェイス名については、カンマ区切りのリストを記載しています。
  2. NetworkManager サービスを再起動します。
    sudo systemctl restart NetworkManager
  3. ホスト上の /etc/sysctl.conf ファイルを編集し、その中に以下の内容を貼り付けます。
    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
  4. コマンド sysctl -p /etc/sysctl.conf を実行して、新しい sysctl.conf 値をホストに読み込みます。
  5. ボンディングインターフェイスを手動で作成します。次に例を示します。

    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

Cloud-Native Routerを展開する前に、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

MACAddressPolicyを設定します(Ubuntuのみ)。

Ubuntu OS で DPDK を実行しているすべてのノードで、 MACAddressPolicynone に設定して再起動します。次に例を示します。

sudo sed -i 's/MACAddressPolicy=.*/MACAddressPolicy=none/'  /usr/lib/systemd/network/99-default.link
sudo reboot
適切な送受信バッファサイズを設定します。
sysctl -w net.core.rmem_default=67108864
sysctl -w net.core.rmem_max=67108864
sysctl -w net.core.wmem_default=67108864
sysctl -w net.core.wmem_max=6710886

ポート要件

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

表6:クラウドネイティブルーターのリスニングポート
プロトコル ポート 説明
TCP 8085 vRouter introspect - vRouterに関する内部統計情報を取得するために使用します
TCP 8070 テレメトリ情報 - クラウドネイティブルーターvRouterからのテレメトリデータを表示するために使用します
TCP 8072 テレメトリ情報 - クラウドネイティブルーターコントロールプレーンからのテレメトリデータを表示するために使用
TCP 8075, 8076 テレメトリ情報 - gNMI要求に使用
TCP 9091 vRouterの健全性チェック - クラウドネイティブルーターが、vRouterエージェントが実行されていることを確認します。
TCP 9092 vRouterの健全性チェック - クラウドネイティブルーターが、vRouter DPDKが実行されていることを確認します。
TCP 50052 gRPCポート - クラウドネイティブルーターは、IPv4とIPv6の両方をリッスンします
TCP 8081 クラウドネイティブルーター導入者ポート
TCP 24 cRPD SSH
TCP 830 cRPD NETCONF
TCP 666 rpd
TCP 1883 Mosquito mqtt–パブリッシュ/サブスクライブメッセージングユーティリティ
TCP 9500 cRPDのエージェント
TCP 21883 NA-MQTTD

TCP

50053

クライアントのサブスクリプション要求をリッスンするデフォルトのgNMIポート

TCP 51051 cRPD上のjsd
UDP 50055 Syslog-NG

ダウンロードオプション

クラウドネイティブルーターソフトウェアのダウンロードパッケージを参照してください。

Cloud-Native Routerライセンス

クラウドネイティブルーターライセンスの管理を参照してください。