Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

自定义裸机服务器的 JCNR 掌舵图

摘要 阅读本主题,了解裸机服务器上瞻博网络云原生路由器可用的部署配置。

您可以在裸机服务器上以 L2、L3 或 L2-L3 模式部署和操作瞻博网络云原生路由器。您可以通过在部署之前编辑文件中的 values.yaml 相应属性来配置部署模式。

注意:
  • fabricInterface 文件的密钥 values.yaml 中:

    • 当所有接口都配置了一个 interface_mode 密钥时,部署模式将为 L2。

    • 如果一个或多个接口配置了 interface_mode 密钥,而其余接口没有 interface_mode 密钥,则部署模式将为 L2-L3。

    • 如果所有接口 interface_mode 均未配置密钥,则部署模式将为 L3。

掌舵图属性和说明

使用 Juniper_Cloud_Native_Router_release-number/helmchart/values.yaml 该文件自定义掌舵图。舵图的配置键如下表所示。
表 1:Helm 图表属性和说明
关键 附加密钥配置 说明
注册 表   为 vRouter、cRPD 和 jcnr-cni 容器映像定义 docker 注册表。默认值为 enterprise-hub.juniper.net。压缩包中提供的映像使用默认注册表名称进行标记。如果选择将容器映像托管到专用注册表,请将默认值替换为注册表 URL。
存储 库   (可选)定义 vRouter、cRPD 和 jcnr-cni 容器映像的存储库路径。这是一个全局键,优先于“通用”部分下的“存储库”路径。默认值为 jcnr-container-prod/
imagePullSecret   (可选)定义注册表身份验证凭据。您可以将凭据配置为瞻博网络存储库或私有注册表。
  注册表凭据 Docker 注册表凭据的 Base64 表示形式。有关更多信息,请查看 配置存储库凭据 主题。
  机密名称 将创建的机密对象的名称。
常见   定义 vRouter、cRPD 和 jcnr-cni 容器映像的重复路径和标记。除非使用专用注册表,否则使用默认值。
  存储 库 定义存储库路径。默认值为 atom-docker/cn2/bazel-build/dev/。如果已定义,则全局存储库密钥优先。
  标记 定义图像标记。默认值配置为 JCNR 发行版的相应标记号。
副本 (可选)指示 cRPD 的副本数。如果未指定该值,则考虑默认值 1。必须为多节点群集指定此键的值。该值必须等于必须将 JCNR 部署到的节点数。
存储类 不适用于非云部署。
awsregion   不适用于非 EKS 部署。
无本地交换 (可选)防止桥接域中的接口传输和接收以太网帧副本。输入一个或多个逗号分隔的 VLAN ID,以确保属于这些 VLAN ID 的接口不会相互传输帧。此密钥特定于 L2 和 L2-L3 部署。启用此密钥可在所有接入接口上提供功能。要在中继接口上启用该功能,请在结构接口密钥中配置无本地交换密钥。
结构接口  

提供要绑定到 DPDK 的接口列表。您还可以提供子网而不是接口名称。如果同时指定了接口名称和子网,则接口名称优先于子网/网关组合。当多节点群集中的接口名称不同时,子网/网关组合非常有用。

注意:
  • 当所有接口都配置了一个 interface_mode 密钥时,部署模式将为 L2。

  • 如果一个或多个接口配置了 interface_mode 密钥,而其余接口没有 interface_mode 密钥,则部署模式将为 L2-L3。

  • 如果所有接口 interface_mode 均未配置密钥,则部署模式将为 L3。

例如:

  # L2 only
  - eth1:
      ddp: "auto"                
      interface_mode: trunk
      vlan-id-list: [100, 200, 300, 700-705]
      storm-control-profile: rate_limit_pf1
      native-vlan-id: 100
      no-local-switching: true
  # L3  only
  - eth1:
      ddp: "off"                                 
 # L2L3
  - eth1:
      ddp: "auto"                
  - eth2:
      ddp: "auto"                
      interface_mode: trunk
      vlan-id-list: [100, 200, 300, 700-705]
      storm-control-profile: rate_limit_pf1
      native-vlan-id: 100
      no-local-switching: true
  接口名称的另一种输入模式。例如:
- subnet: 10.40.1.0/24 
  gateway: 10.40.1.1 
  ddp: "off"    

subnet 选项仅适用于 L3 接口。使用 subnet 输入模式时,会自动检测每个子网中的接口。指定子网/网关或接口名称。请勿同时配置两者。子网/网关形式的输入在多节点 K8s 群集的接口名称不同的环境中特别有用。

  Ddp

(可选)指示接口级动态设备个性化 (DDP) 配置。DDP 在网卡上为 GTPU、SCTP 等流量提供数据路径优化。对于绑定接口,所有从属接口网卡都必须支持 DDP 才能启用 DDP 配置。

设置选项包括自动、开或关。默认设置为关闭。

注意:

接口级别 ddp 优先于全局 ddp 配置。

  interface_mode

设置为 L2 trunk 接口, 为 L3 接口配置。例如,

interface_mode: trunk
  VLAN-id-list

提供与接口关联的 VLAN ID 列表。

  风暴控制配置文件

用于 storm-control-profile 为接口关联相应的风暴控制配置文件。配置文件在 下 jcnr-vrouter.stormControlProfiles定义。

  本机 VLAN ID

使用 vlan-id 列表中的任一 VLAN ID 进行配置 native-vlan-id ,以将其与在交换矩阵中继模式接口的物理接口上接收的未标记数据包相关联。例如:

fabricInterface: 
  - bond0: 
      interface_mode: trunk 
      vlan-id-list: [100, 200, 300] 
      storm-control-profile: rate_limit_pf1 
      native-vlan-id: 100  
  无本地交换 如果配置了无本地交换语句,则防止接口直接相互通信。允许的值为真或假。
交换矩阵工作负载接口 (可选)定义不同工作负载连接到的接口。它们可以是基于软件或基于硬件的接口。
log_level 定义日志严重性。可用的值选项包括:“调试”、“信息”、“警告”和“错误”。
注意:

将log_level设置为默认 INFO,除非瞻博网络支持人员指示更改它。

log_path

定义的目录存储各种与 JCNR 相关的描述性日志,例如contrail-vrouter-agent.log、contrail-vrouter-dpdk.log等。默认值为 /var/log/jcnr/。

syslog_notifications

指示以 JSON 格式存储 syslog-ng 生成的通知的文件的绝对路径。默认值为 /var/log/jcnr/jcnr_notifications.json。

节点亲和力

(可选)在节点上定义标签以确定放置 vRouter Pod 的位置。

默认情况下,vRouter Pod 部署到群集的所有工作器节点。

在下面的示例中,节点关联性标签定义为“key1=jcnr”。您必须将此标签应用于必须部署 JCNR 的每个节点:

nodeAffinity:
- key: key1
operator: In
values:
- jcnr
注意:

此项是全局设置。

关键 键值对,表示必须匹配才能应用节点相关性的节点标签。
算子 定义节点标签与 Pod 规范中 matchExpression 参数中的值集之间的关系。此值可以是 In、NotIn、Exist、DoesNotExist、Lt 或 Gt。
cni_bin_dir (可选)默认路径为 /opt/cni/bin。您可以使用发行版中的路径覆盖默认的 cni 路径,例如 /var/opt/cni/bin。
grpc遥测端口

(可选)输入此参数的值以覆盖 cRPD 遥测 gRPC 服务器默认端口 50051。

grpcVrouterPort (可选)输入此参数的值以覆盖 vRouter gRPC 服务器默认端口 50052。
虚拟路由器部署程序端口   (可选)默认值为 8081。配置为在默认端口不可用时覆盖。
恢复接口 将此注册表项的值设置为 true 可在 vRouter Pod 崩溃或重新启动时将接口恢复到其原始状态。
bondInterfaceConfigs (可选)仅为 L2 或 L2-L3 部署启用绑定接口配置。
名字 绑定接口的名称。
模式 默认值为 1 (Active_Backup)
从属接口 要聚合的交换矩阵接口。
Mtu 所有物理接口(VF 和 PF)的最大传输单元 (MTU) 值。默认值为 9000。
cpu_core_mask

指示虚拟路由器转发核心掩码。如果启用了 qos,则需要分配 4 个 CPU 核心(主核和同级)。

storm 控制配置文件 为结构接口上的 BUM 流量配置速率限制配置文件(以字节/秒为单位)。
Ddp

(可选)指示全局动态设备个性化 (DDP) 配置。DDP 在网卡上为 GTPU、SCTP 等流量提供数据路径优化。对于绑定接口,所有从属接口网卡都必须支持 DDP 才能启用 DDP 配置。

设置选项包括自动、开或关。默认设置为关闭。

注意:

接口级别 ddp 优先于全局 ddp 配置。

QoSEnable

设置为 true 或 false 以启用或禁用 QoS。

注意:

QoS 在英特尔 X710 网卡上不受支持。

核心模式

指示核心模式以指示如何生成核心文件。如果将此配置留空,则 JCNR Pod 将不会覆盖默认模式。

注意:

在部署 JCNR 之前在主机上设置核心模式值。您可以更改 中的 /etc/sysctl.conf值。例如, kernel.core_pattern=/var/crash/core_%e_%p_%i_%s_%h_%t.gz

核心文件路径 指示核心文件的路径。如果该值留空,则 vRouter 会将 /var/crashes 视为默认值。
vrouter_dpdk_uio_driver uio 驱动程序是 vfio-pci

掌舵图示例

仅 L2 部署的 Helm 图表

下面显示了仅工作 L2 的掌舵图示例。配置的部分以 粗体突出显示:

仅 L3 部署的掌舵图

仅工作 L3 掌舵图示例如下所示。配置的部分以 粗体突出显示:

L2-L3 部署的掌舵图

工作 L2-L3 掌舵图示例如下所示。配置的部分以 粗体突出显示: