OpenShift導入のシステム要件
Red Hat OpenShift Container Platform (OCP) にジュニパークラウドネイティブルーターをインストールするためのシステム、リソース、ポート、およびライセンス要件については、このセクションをお読みください。
OCPの最小ホストシステム要件
表1 および 表2 に、OCPにCloud-Native Routerをインストールするためのホストシステム要件を示します。
| コンポーネント | 値/バージョン | ノート |
|---|---|---|
| CPU | Intel x86 | テスト対象のCPUはIntel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz 64コア |
| ホストOS | RHCOS 4.13 | |
| カーネルバージョン | RedHat Enterprise Linux(RHEL):4.18.X | RHEL のテスト済みカーネルバージョンは 4.18.0-372.40.1.el8_6.x86_64 です |
| NIC | 表2をご覧ください。 | |
| 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 でのみ使用されます |
| OCPバージョン | 4.13 | |
| OVN-Kubernetes CNI | ||
| マルタス | バージョン3.8 | |
| ヘルム | 3.12.x | |
| コンテナRT | CRIO 1.25倍 | 他のコンテナランタイムは動作する可能性がありますが、JCNR ではテストされていません。 |
|
注:
この表に示したコンポーネントのバージョンは、JCNRで動作することが想定されていますが、すべてのバージョンまたは組み合わせがすべてのリリースでテストされているわけではありません。 |
||
| コントローラファミリ | NIC | ファームウェアド | ライバ | COMMS 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 | |
| Nvidia Mellanox1,2 | 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 文字を超えないようにしてください。 2Nvidia Mellanox NICを使用する場合は、 Mellanox NICのインターフェイス命名規則のインターフェイス命名手順に従ってください。 |
||||
OCPのリソース要件
表3は 、OCPにCloud-Native Routerをインストールするためのリソース要件を示しています。
| リソース | 価値 | 使用上の注意 |
|---|---|---|
| データプレーン転送コア | 1コア(1P + 1S) | |
| サービス/コントロールコア | 0 | |
| UIOドライバー | VFIO-PCI | 有効にするには、以下の手順に従います。
variant: openshift version: 4.8.0 metadata: name: 100-worker-vfiopci labels: machineconfiguration.openshift.io/role: worker storage: files: - path: /etc/modprobe.d/vfio.conf mode: 0644 overwrite: true contents: inline: | options vfio-pci ids=10de:1eb8 - path: /etc/modules-load.d/vfio-pci.conf mode: 0644 overwrite: true contents: inline: vfio-pci マシン設定を作成して適用します。 $ butane 100-worker-vfiopci.bu -o 100-worker-vfiopci.yaml $ oc apply -f 100-worker-vfiopci.yaml |
| Hugepages(1G) | 6ギ | 以下のコマンドを使用して、ワーカーノード上でヒュージページを設定します。oc create -f hugepages-tuned-boottime.yaml # cat hugepages-tuned-boottime.yaml
apiVersion: tuned.openshift.io/v1
kind: Tuned
metadata:
name: hugepages
namespace: openshift-cluster-node-tuning-operator
spec:
profile:
- data: |
[main]
summary=Boot time configuration for hugepages
include=openshift-node
[bootloader]
cmdline_openshift_node_hugepages=hugepagesz=1G hugepages=6
name: openshift-node-hugepages
recommend:
- machineConfigLabels:
machineconfiguration.openshift.io/role: "worker-hp"
priority: 30
profile: openshift-node-hugepages oc create -f hugepages-mcp.yaml # cat hugepages-mcp.yaml
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfigPool
metadata:
name: worker-hp
labels:
worker-hp: ""
spec:
machineConfigSelector:
matchExpressions:
- {key: machineconfiguration.openshift.io/role, operator: In, values: [worker,worker-hp]}
nodeSelector:
matchLabels:
node-role.kubernetes.io/worker-hp: "" |
| Cloud-Native Routerコントローラコア数 | .5 | |
| Cloud-Native Router vRouterエージェントコア数 | .5 |
OCPのその他の要件
表4は 、OCPにCloud-Native Routerをインストールするための追加要件を示しています。
| Cloud-Native Routerリリースに関するその他の要件 | |
|---|---|
| システムの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 |
| IOMMUとIOMMU-PTを設定します。 |
IOMMU と IOMMU-PT を設定する MachineConfig オブジェクトを作成します。apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 100-worker-iommu spec: config: ignition: version: 3.2.0 kernelArguments: - intel_iommu=on iommmu=pt $ oc create -f 100-worker-kernel-arg-iommu.yaml |
| JCNRに割り当てられたVFのスプーフィングチェックを無効にします。
注:
L2導入にのみ適用できます。 |
ip link set <interfacename> vf 1 spoofcheck off. |
| JCNRに割り当てられたVFの信頼を設定します。
注:
L2導入にのみ適用できます。 |
ip link set <interfacename> vf 1 trust on |
| Cloud-Native RouterをL3モードで展開する前に、追加のカーネルモジュールをホストにロードする必要があります。これらのモジュールは通常、
注:
L3導入にのみ適用可能です。 |
conf ファイルを作成し、カーネルモジュールを追加します。 cat /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 ディストリビューションでこれを行う方法の例を次に示します。
|
| JCNRを展開する前に、core_pattern値がホストに設定されていることを確認します。 |
sysctl kernel.core_pattern kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e
kernel.core_pattern=/var/crash/core_%e_%p_%i_%s_%h_%t.gz |
| 適切な送受信バッファサイズを設定します。 | 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ポートをリッスンします。このセクションでは、クラウドネイティブルーターのポート要件を示します。
| プロトコル | ポート | の説明 |
|---|---|---|
| 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 |
Mellanox NICのインターフェイス命名規則
Mellanox NICをOpenShiftクラスターにデプロイする場合、OCPとCloud-Native RouterがそれらのNICのインターフェイス名をどのように使用するかの間に競合が発生する可能性があります。これにより、クラスターが立ち上がらなくなる可能性があります。
JCNRをインストールする前に、予測可能なインターフェイス命名を無効にするか(オプション1:予測可能なインターフェイス命名を無効にする)、クラウドネイティブルーターインターフェイスの名前を変更します(オプション2:クラウドネイティブルーターインターフェイスの名前を変更)。Cloud-Native Routerインターフェイスは、Cloud-Native Routerに制御させるインターフェイスです。
オプション1:予測可能なインターフェイス命名を無効にする
開始する前に、ノードへのコンソールアクセスがあることを確認します。
/etc/default/grub を編集し、
GRUB_CMDLINE_LINUX_DEFAULTにnet.ifnames=0を追加します。GRUB_CMDLINE_LINUX_DEFAULT="<existing_parameter_settings> net.ifnames=0"
grubを更新します。
grub2-mkconfig -o /boot/grub2/grub.cfg
ノードを再起動します。
ノードに再度ログインします。ネットワークインターフェイスが復旧しない場合は、コンソールからこれを行う必要がある場合があります。
インターフェイスを一覧表示し、非クラウドネイティブルーターとクラウドネイティブルーターインターフェイスの名前をメモします。
ip address
クラウドネイティブルーター以外のすべてのインターフェイスについては、新しいインターフェイス名でNetworkManager(またはネットワークレンダラー)を更新し、NetworkManagerを再起動します。
Cloud-Native Router vRouterをインストールするすべてのノードで、この手順を繰り返します。
Cloud-Native Router インストール Helm チャートのファブリック インターフェイスを、Cloud-Native Router インターフェイス (またはサブネットを使用する) の新しい名前で更新することを忘れないでください。
オプション2:Cloud-Native Routerインターフェイスの名前を変更する
ルールを含む /etc/udev/rules.d/00-persistent-net.rules ファイルを作成します。
ファイルに次の行を追加します。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<mac_address>", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="<new_ifname>"ここで、 <mac_address> は名前を変更するインターフェイスのMACアドレスで、 <new_ifname> はインターフェイスに割り当てる新しい名前(例:
jcnr-eth1)です。名前を変更する各インターフェイスに対応する行を追加します。(Cloud-Native Routerが制御するすべてのインターフェイスの名前を変更します。)
ノードを再起動します。
Cloud-Native Router vRouterをインストールするすべてのノードで、この手順を繰り返します。
Cloud-Native Router インストール Helm チャートのファブリック インターフェイスを、Cloud-Native Router インターフェイス (またはサブネットを使用する) の新しい名前で更新することを忘れないでください。
ダウンロードオプション
クラウドネイティブルーターソフトウェアのダウンロードパッケージを参照してください。
Cloud-Native Routerライセンス
クラウドネイティブルーターライセンスの管理を参照してください。