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 部署 自我管理节点
主机操作系统

Amazon Linux 2

EKS 版本 1.25.12
实例类型 任何带有 ena 适配器的实例类型
内核版本 测试的内核版本是 5.15.0-1040-aws
网卡 弹性网络适配器 (ENA)
Kubernetes (K8s) 1.26.3、1.28.x
AWS CLI 版本 2.11.9
专有网络 CNI v1.14.0-eksbuild.3
穆尔图斯 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 遏制

资源要求

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

表 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 吉 GRUB_CMDLINE_LINUX_DEFAULT 在主机上的 /etc/default/grub 中添加值。例如: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

JCNR 控制器内核 .5  
JCNR 虚拟路由器代理核心 .5  

杂项要求

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

表 3:杂项要求
云原生路由器发布其他要求
禁用连接到 JCNR 的 AWS 弹性网络接口 (ENI) 接口上的源/目标检查。作为中转路由器的 JCNR 既不是它接收的任何流量的来源,也不是其目标。
AmazonEBSCSIDriverPolicy IAM 策略附加到分配给 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 模式下部署 JCNR 之前,需要在主机上加载其他内核模块。这些模块通常以 OR 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

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

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

用于 VRRP 的 JCNR 配置映射

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

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

下表描述了配置映射元素:

表 4:JCNR 配置映射元素
元素 描述
jcnr-table-name JCNR 中的路由表,前缀应从中复制。
jcnr-policy-name JCNR 中的路由策略,用于导入指定路由表中的前缀以复制到 AWS 路由表。
jcnr-nexthop-interface-name JCNR 接口的名称,当此 JCNR 实例是 VRRP 主实例时,AWS 路由表应将其用作下一跃点。
vpc-table-tag 应用于 AWS 中的路由表的自由格式标签,前缀应复制到该标签。

jcnr-aws-config.yaml在安装 JCNR 之前,必须将其应用于 Kubernetes 系统。JCNR CNI 部署程序基于 ConfigMap 呈现 cRPD 配置。

注意:

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

端口要求

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

表 5:云原生路由器侦听端口
协议 端口 说明
Tcp 8085 vRouter 自省 – 用于获取有关 vRouter 的内部统计信息
Tcp 8072 遥测信息 - 用于查看来自 JCNR 控制平面的遥测数据
Tcp 9091 vRouter 运行状况检查 – 云原生路由器检查以确保 contrail-vrouter-dpdk 进程正在运行等。
Tcp 50052 gRPC 端口 – JCNR 同时侦听 IPv4 和 IPv6
Tcp 8081 JCNR 部署程序端口
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 Syslog-NG

下载选项

要在 EKS 集群上部署 JCNR,您可以从 瞻博网络支持网站 下载掌舵图,也可以通过 AWS 市场订阅。

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

JCNR 许可

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

注意:

从 JCNR 23.2 版开始,JCNR 许可证格式已更改。在部署或升级到 23.2 或更高版本之前,请从 JAL 门户请求新的许可证密钥。