Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

EKS 部署的系统要求

阅读本部分,了解在 Amazon Elastic Kubernetes Service (EKS) 上安装瞻博网络云原生路由器的系统、资源、端口和许可要求。

最低主机系统要求

本节列出了安装云原生路由器的主机系统要求。

表 1:云原生路由器最低主机系统要求
组件 值/版本
EKS 部署 自管理节点
主机作系统

亚马逊 Linux 2

EKS 版本 1.25.12
EC2 实例类型 带有 ENA 适配器的任何实例类型
注意:瞻博网络云原生路由器没有最低实例类型要求,但典型的部署运行 c5.4xlarge 或 m5.4xlarge 或更大(取决于性能要求)。
内核版本 测试的内核版本为 5.15.0-1040-aws
网卡 弹性网络适配器 (ENA)
Kubernetes (K8s) 1.26.3、1.28.x
AWS CLI 版本 2.11.9
VPC CNI 版本1.14.0-eksbuild.3
Multus 3.7.2

(kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/master/config/multus/v3.7.2-eksbuild.1/aws-k8s-multus.yaml)

掌舵 3.11
容器-RT containterd

资源要求

本节列出了安装云原生路由器的资源要求。

表 2:云原生路由器资源要求
资源 使用说明
数据平面转发核心 2 核 (2P + 2S)  
服务/控制核心 0  
UIO 驱动程序 VFIO-PCI 若要启用,请按照以下步骤作:
cat /etc/modules-load.d/vfio.conf
vfio
vfio-pci

启用不安全 IOMMU 模式

echo Y > /sys/module/vfio_iommu_type1/parameters/allow_unsafe_interrupts
echo Y > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode
巨型页面 (1G) 6 Gi 在主机上的 /etc/default/grub 中添加GRUB_CMDLINE_LINUX_DEFAULT 值。例如:GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 default_hugepagesz=1G hugepagesz=1G hugepages=8 intel_iommu=on iommu=pt"

更新 grub 并重新启动主机。例如:

grub2-mkconfig -o /boot/grub2/grub.cfg

通过执行以下命令验证是否设置了 hugepage:

cat /proc/cmdline

grep -i hugepages /proc/meminfo

云原生路由器控制器核心 .5  
云原生路由器 vRouter 代理核心 .5  

其他要求

本部分列出了安装云原生路由器的其他要求。

表3:杂项所需经费
云原生路由器版本杂项要求
禁用对附加到 JCNR 的 AWS 弹性网络接口 (ENI) 接口的源/目标检查。云原生路由器作为中转路由器,既不是它接收的任何流量的来源,也不是目的地。
将 IAM 策略附加 AmazonEBSCSIDriverPolicy 到分配给 EKS 集群的角色。
/etc/default/grub 文件中设置 IOMMU 和 IOMMU-PT。例如:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 default_hugepagesz=1G hugepagesz=1G hugepages=8 intel_iommu=on iommu=pt"
更新 grub 并重新启动主机。例如:
grub2-mkconfig -o /boot/grub2/grub.cfg 

在 L3 模式下部署云原生路由器之前,需要在主机上加载其他内核模块。这些模块通常以 或 kernel-modules-extra 包的形式linux-modules-extra提供。将以下每个内核模块添加到单独的行/etc/modules-load.d/crpd.conf中以在启动时加载模块:

cat /etc/modules-load.d/crpd.conf
tun
fou
fou6
ipip
ip_tunnel
ip6_tunnel
mpls_gso
mpls_router
mpls_iptunnel
vrf
vxlan
注意:

仅适用于 L3 部署。

在部署 JCNR 之前,请验证主机上是否设置了 core_pattern 值:
sysctl kernel.core_pattern
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e

您可以在 中更新core_pattern /etc/sysctl.conf。例如:

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

用于 VRRP 的云原生路由器 ConfigMap

您可以为云原生路由器群集启用虚拟路由器冗余协议 (VRRP)。

您必须创建云原生路由器 ConfigMap,以定义 EKS 部署中云原生路由器集群的 VRRP 行为。考虑到 AWS VPC 仅支持前缀的一个下一跃点,ConfigMap 定义如何使用 VRRP 主控状态将前缀从云原生路由器中的路由表复制到 AWS 中的特定路由表。 jcnr-aws-config.yaml 提供了示例清单:

下表描述了 ConfigMap 元素:

表 4:云原生路由器 ConfigMap 元素
元素 说明
jcnr-table-name 云原生路由器中应从中复制前缀的路由表。
jcnr-policy-name 云原生路由器中的一种路由策略,用于导入命名路由表中的前缀以复制到 AWS 路由表。
jcnr-nexthop-interface-name 当此云原生路由器实例为 VRRP 主服务器时,AWS 路由表应将其用作下一跃点的云原生路由器接口的名称。
vpc-table-tag 应用于 AWS 中应将前缀复制到的路由表的自由格式标签。

jcnr-aws-config.yaml在安装云原生路由器之前,必须将其应用于 Kubernetes 系统。云原生路由器 CNI 部署程序基于 ConfigMap 渲染 cRPD 配置。

注意:

不使用 VRRP 时,必须提供一个空列表作为 aws-rttable-map.json的数据。

端口要求

瞻博网络云原生路由器侦听特定 TCP 和 UDP 端口。本节列出了云原生路由器的端口要求。

表 5:云原生路由器侦听端口
协议 端口 说明
TCP 8085 vRouter 自省 - 用于获取有关 vRouter 的内部统计信息
TCP 8072 遥测信息 - 用于查看来自云原生路由器控制平面的遥测数据
TCP 9091 虚拟路由器运行状况检查 - 云原生路由器检查,以确保 Contrail-vRouter-DPDK 进程正在运行等。
TCP 50052 gRPC 端口 – 云原生路由器同时侦听 IPv4 和 IPv6
TCP 8081 云原生路由器部署程序端口
TCP 22 cRPD SSH
TCP 830 cRPD NETCONF
TCP 666 RPD
TCP 1883 蚊子 mqtt–发布/订阅消息实用程序
TCP 9500 在 cRPD 上代理
TCP 21883 NA-MQTTD
TCP 50051 cRPD 上的 jsd
TCP 51051 cRPD 上的 jsd
UDP 50055 系统日志-NG

下载选项

要在 EKS 集群上部署云原生路由器,您可以从 瞻博网络支持站点 下载 helm 图表,也可以通过 AWS Marketplace 订阅。

注意:通过从瞻博网络支持站点下载的 helm 图表在 EKS 集群上部署云原生路由器之前,您必须将云原生路由器映像注册表列入白名单 https://enterprise.hub.juniper.net

云原生路由器许可

从瞻博网络云原生路由器 (JCNR) 22.2 版开始,我们启用了瞻博网络敏捷许可 (JAL) 模型。JAL 确保功能的使用符合瞻博网络的最终用户许可协议。您可以通过瞻博网络客户团队购买瞻博网络云原生路由器软件的许可证。您可以使用云原生路由器控制器的 CLI 应用许可证。有关为多个云原生路由器部署管理多个许可证文件的详细信息,请参阅 瞻博网络敏捷许可概述

注意:

从云原生路由器 23.2 版开始,云原生路由器许可证格式已更改。在部署或升级到 23.2 或更高版本之前,请从 JAL 门户申请新的许可证密钥。