Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

安装瞻博网络云原生路由器

总结 瞻博网络云原生路由器(云原生路由器)使用 JCNR-Controller(基于 cRPD 的控制平面)和 JCNR-CNI 提供控制平面功能和容器网络接口。瞻博网络云原生路由器使用支持 DPDK 的 vRouter 提供高性能数据平面功能,使用 Syslog-NG 提供通知功能。本节介绍如何安装云原生路由器的这些组件。

JCNR 控制器 (cRPD) 是一个初始化容器,可为云原生路由器提供控制平面功能。控制平面负责调配瞻博网络云原生路由器中使用的工作负载和交换矩阵接口。它还通过 gRPC 连接管理与 vRouter 代理和 vRouter 本身的通信。

JCNR-CNI 是瞻博网络云原生路由器用于与服务器上的物理接口以及安装中的 Pod 和容器网络接口进行通信的容器网络接口。

瞻博网络云原生路由器虚拟路由器 (vRouter) 是提供高级转发平面功能的容器应用程序集。它将网络从物理路由器和交换机扩展到虚拟服务器上托管的虚拟叠加网络。数据平面开发套件 (DPDK) 使 vRouter 能够每秒处理比 vRouter 作为内核模块运行的数据包更多的数据包。

Syslog-NG 是一个容器应用程序,允许瞻博网络云原生路由器向用户提供有关云原生路由器部署中发生的事件的通知。

使用 Helm 图表安装瞻博网络云原生路由器

阅读此部分,了解如何使用 Helm 图表将云原生路由器映像组件加载到 docker 中并安装云原生路由器组件所需的步骤。

注意:

在本指南的安装部分中,当引用文件和目录名称时,通常不会指定版本信息。当我们在文件或目录名称中指定版本号时,我们指的是当前(最新)版本。

注意:

如果 Kubernetes 群集中启用了 Kubernetes cpumanager,则不建议部署 22.4 版的瞻博网络云原生路由器。

系统资源要求所述,在安装瞻博网络云原生路由器组件之前,必须安装 Kubernetes 的 Helm 软件包管理器。

注意:

我们不会提供您必须下载软件包并安装软件的特定路径。因此,您可以复制本文档中显示的命令,并将其粘贴到服务器的 CLI 中。

瞻博网络云原生路由器安装的高级概述是:

  1. 下载软件安装包(tarball)
  2. 扩展 tarball

  3. 将目录更改为 Juniper_Cloud_Native_Router_<发布编号>

  4. 将映像文件加载到 Docker 中

  5. 输入主机服务器和瞻博网络云原生路由器的 root 密码

  6. secrets/jcnr-secrets.yaml 应用于 Kubernetes 系统

    注意:

    对于 L2 部署:执行下方步骤 7 并跳过步骤 8。

    对于 L3 部署:跳过步骤 7,执行步骤 8。

    仅执行第 7 步或第 8 步中的一步。

  7. 编辑 values.yaml 文件,以满足安装需求
  8. 编辑 values_L3.yaml

  9. 安装瞻博网络云原生路由器

以上列出的每个高级过程都详述如下

  1. 将 tarball Juniper_Cloud_Native_Router_<发布编号>.tgz 下载到您选择的目录中。
    如何将 tarball 放入服务器上可写的目录中,这一点由您决定。您必须在二进制模式下执行文件传输,以便压缩的 tar 文件能够正常扩展。
  2. 展开文件Juniper_Cloud_Native_Router_<release-number>.tgz
  3. 将目录更改为Juniper_Cloud_Native_Router_<版本编号>
    注意:

    安装中的所有剩余步骤均假定您当前的工作目录现在 为 Juniper_Cloud_Native_Router_22.4

  4. 根据在上一步中扩展 tarball 的位置,从位于 Juniper_Cloud_Native_Router_22.4/images 目录中的文件 jcnr-images.tar.gz 将图像文件加载到 docker 中。
  5. 将主机服务器的 root 密码和瞻博网络云原生路由器许可证文件输入 secrets/jcnr-secrets.yaml 文件中。
    您必须以 base64 编码格式输入密码和许可证。
    要对密码进行编码,请创建一个在单行上仅包含纯文本密码的文件。然后发出命令:
    输出为一行随机文本,类似于:
    UGFzc3cwcmQhCg==
    要对许可证文件进行编码,请将该文件复制到主机服务器上,然后发出命令:
    输出为一长行随机文本,类似于:
    VGhpcyBpcyBhIHJlYWxseSBtdWNoIGxvbmdlciB0ZXh0IGZpbGUgdGhhdCBpbmNsdWRlcyBsaWNlbnNlIGluZm9ybWF0aW9uCkFTREZERktERktIQUxHS0hiYW9qa2hkZmFzZGZOS0FTREdOR0FKYWRzZmxodmFibmRzZmdramh2Ym5ramFzZnVxYmF1amgyMDEwdGIydDQweGtqYjR3eTB1dmRxd3J2MGl3aGV0Ymd1YnMwcWRqZmhkc2tqdmJkc2ZramhkdmFkZnNiO2d2a2pzZGI7aWRzamc7ZmFzZGhma2pkc2J2YWlzdWRmZ3dFWUlUR1ZCMzlWRVlCVjM0OVVHQlZHQlFVOUFXR1ZJQkVSV0c5VUJWV0U5Rwo=
    注意:

    您必须从帐户团队获取许可证文件,并按照上述说明将其安装到 secrets.yaml 文件中。 在 secrets.yaml 文件中没有正确的 base64 编码许可证文件和 root 密码,cRPD Pod 不会进入“运行”状态,但会保持“CrashLoopBackOff”状态。

    您必须复制 base64 输出并将其粘贴到相应位置的 secrets/jcnr-secrets.yaml 文件中。
  6. secrets/jcnr-secrets.yaml 应用于 Kubernetes 系统
    注意:

    对于 L2 部署:执行下方步骤 7 并跳过步骤 8。

    对于 L3 部署:跳过下面的步骤 7,然后执行步骤 8。

    仅执行第 7 步或第 8 步中的一步,而不是两者同时执行。

  7. 对于 L2 部署,请编辑 helmchart/values.yaml 文件。

    您必须在 L2 模式下自定义瞻博网络云原生路由器的 Helm 图表:

    • 选择交换矩阵接口 – 使用主机系统中的接口名称

    • 创建中继接口的 VLAN ID 列表 – 使用适合您网络的 VLAN ID

    • 选择交换矩阵工作负载接口 - 使用主机系统中的接口名称

    • 设置工作负载接口上的流量的 VLAN ID

    • 设置 JCNR-vRouter 日志记录的严重性级别

      注意:

      将log_level设置为 INFO,除非 JTAC 指示进行更改。

    • 确保模式选项设置为“l2”

    • 设置 CPU 核心掩码 - 物理核心、逻辑核心

    • 选择交换矩阵接口 – 使用主机系统中的接口名称

    • 选择工作负载接口 – 使用主机系统中的接口名称

    • (可选)通过分配风暴控制配置文件,为广播、组播和未知单播流量设置每秒字节的速率限制

    • (可选)设置核心模式以确定为核心文件生成的名称。如果留白,则云原生路由器 Pod 不会覆盖现有核心模式

    • (仅限 Intel 810 NIC)通过设置 true 或 false(默认为 false)在 NIC 上启用 QoS

    • 为 syslog-ng 设置一个可写目录位置以存储通知

    • (可选)如果指定一个绑定接口,fabricInterface:请在该bondInterfaceConfigs:部分下提供slaveInterface系统的名称。

    • 默认情况下 restoreInterface ,设置为 false。使用此设置时 vrouter Pod 崩溃或删除,接口不会还原到主机。

    注意:

    如果您使用 Intel XL710 NIC,则必须 ddp=false

    values.yaml 文件。

    有关默认 helmchart/values.yaml 文件的注释示例,请参阅示例配置文件

  8. 对于 L3 部署,请编辑 helmchart/values_L3.yaml 文件。

    您必须自定义在第 3 层模式下安装瞻博网络云原生路由器的 Helm 图表:

    • 将 IP 地址分配给您在 values_L3.yaml

    • 设置 JCNR-vRouter 日志记录的严重性级别

      注意:

      将log_level设置为 INFO,除非 JTAC 指示进行更改。

    • 确保模式选项设置为“l3”

    • 设置 CPU 核心掩码 - 物理核心、逻辑核心

    • (可选)设置核心模式以确定为核心文件生成的名称。如果留白,则云原生路由器 Pod 不会覆盖现有核心模式

    • 为 syslog-ng 设置一个可写目录位置以存储通知

    有关默认 helmcharts/values_L3.yaml 文件的注释示例,请参阅示例配置文件

  9. 使用 Helm 部署瞻博网络云原生路由器
    注意:

    从瞻博网络云原生路由器 22.4 版开始,在部署云原生路由器时,必须指定 values.yamlvalues_L3.yaml 文件。您可以在命令中 helm install 指定 YAML 文件,如以下示例所示。

    对于 L2 安装,发出命令:
    对于 L3 安装,发出命令:
  10. 确认瞻博网络云原生路由器部署

验证容器的操作

摘要 此任务允许您确认瞻博网络云原生路由器 Pod 正在运行。
  1. kubectl get pods -A
    命令输出 kubectl 显示 Kubernetes 群集中所有命名空间中的所有 Pod。成功部署意味着所有 Pod 都显示它们处于运行状态。在此示例中,我们用 黑体标记了瞻博网络云原生路由器 Pod。例如:
  2. kubectl get ds -A
    使用 kubectl get ds -A 命令获取守护程序集容器列表。