EKS 部署的系统要求
最低主机系统要求
本节列出了安装云原生路由器的主机系统要求。
| 组件 | 值/版本 |
|---|---|
| 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 ( |
| 掌舵 | 3.11 |
| 容器-RT | containterd |
资源要求
本节列出了安装云原生路由器的资源要求。
| 资源 | 值 | 使用说明 |
|---|---|---|
| 数据平面转发核心 | 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 并重新启动主机。例如:
通过执行以下命令验证是否设置了 hugepage:
|
| 云原生路由器控制器核心 | .5 | |
| 云原生路由器 vRouter 代理核心 | .5 |
其他要求
本部分列出了安装云原生路由器的其他要求。
| 云原生路由器版本杂项要求 |
|---|
| 禁用对附加到 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 模式下部署云原生路由器之前,需要在主机上加载其他内核模块。这些模块通常以 或 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 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 提供了示例清单:
apiVersion: v1
kind: ConfigMap
metadata:
name: jcnr-aws-config
namespace: jcnr
data:
aws-rttable-map.json: |
[
{
"jcnr-table-name":"default-rt.inet.0",
"jcnr-policy-name": "default-rt-to-aws-export",
"jcnr-nexthop-interface-name":"eth4",
"vpc-table-tag":"jcnr-aws-vpc-internal-table"
},
{
"jcnr-table-name":"default-rt.inet6.0",
"jcnr-policy-name":"default-rt-to-aws-export",
"jcnr-nexthop-interface-name":"eth4",
"vpc-table-tag":"jcnr-aws-vpc-internal-table"
}
]
下表描述了 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 端口。本节列出了云原生路由器的端口要求。
| 协议 | 端口 | 说明 |
|---|---|---|
| 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 订阅。
https://enterprise.hub.juniper.net。
云原生路由器许可
从瞻博网络云原生路由器 (JCNR) 22.2 版开始,我们启用了瞻博网络敏捷许可 (JAL) 模型。JAL 确保功能的使用符合瞻博网络的最终用户许可协议。您可以通过瞻博网络客户团队购买瞻博网络云原生路由器软件的许可证。您可以使用云原生路由器控制器的 CLI 应用许可证。有关为多个云原生路由器部署管理多个许可证文件的详细信息,请参阅 瞻博网络敏捷许可概述。
从云原生路由器 23.2 版开始,云原生路由器许可证格式已更改。在部署或升级到 23.2 或更高版本之前,请从 JAL 门户申请新的许可证密钥。