Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

安装瞻博网络 BNG CUPS

本节介绍瞻博网络 BNG CUPS 的安装过程和系统要求。

瞻博网络 BNG CUPS 将 Junos OS 中运行的宽带网络网关 (BNG) 功能分解为单独的控制平面和用户平面组件。控制平面是在 Kubernetes 环境中运行的云原生应用。用户平面组件将继续在专用硬件平台上的 Junos OS 上运行。

本指南中的安装说明适用于瞻博网络 BNG CUPS 解决方案的分解式控制平面组件。在瞻博网络 BNG CUPS 解决方案中,控制平面称为瞻博网络 BNG CUPS 控制器(BNG CUPS 控制器)。BNG CUPS 控制器组件需要一个由多个节点组成的 Kubernetes 群集。

BNG CUPS 控制器可以安装在单个 Kubernetes 群集上,也可以安装在多地理、多群集设置上。这两种设置的安装要求和安装过程不同。有关 BNG CUPS 控制器设置,请参阅以下部分:

BNG CUPS 控制器安装要求

要安装 BNG CUPS 控制器,您需要本部分中列出的硬件和软件要求。

BNG CUPS 控制器对单一地理位置设置的要求

BNG CUPS 控制器安装在由物理或虚拟机组成的 Kubernetes 群集上。为了实现可用性,群集中必须至少有三个节点。

BNG CUPS 控制器需要 Kubernetes 群集中表 1 中列出的最少资源。

表 1:单个 Kubernetes 群集设置要求
类别 详情

群集

具有 3 个混合节点的单个群集。

Kubernetes 节点

Kubernetes 节点需要以下内容:

  • 对于作系统,您可以使用以下任一选项:

    • Ubuntu 22.04 LTS(用于 BBE Cloudsetup 群集)

    • Red Hat Enterprise Linux CoreOS (RHCOS) 4.16 或更高版本(适用于 OpenShift Container Platform 群集)

  • CPU:24 至 28 核

  • 内存:256 GB

  • 存储:512 GB 存储,分区为 128 GB 根 (/)、128 GB /var/lib/docker 和 256 GB /mnt/longhorn(应用程序数据)

  • Kubernetes 角色:控制平面 etcd 功能和工作节点

该规范建立了一个可以同时运行 BNG CUPS 控制器及其配套应用程序(例如 BBE 事件收集和可视化以及地址池管理器 (APM))的群集。

跳转主机

跳转主机需要以下内容:
  • 作系统:Ubuntu 版本 22.04 LTS

  • CPU:2核

  • 内存:8 GB (GiB)

  • 存储:128 GB (GiB)

  • 已安装的软件:

    • Python 3.10-venv

    • Helm 实用程序

    • Docker 实用程序

    • OpenShift CLI。如果您使用的是 Red Hat OpenShift Container Platform 群集,则为必填项。

群集软件

该群集需要以下软件:

  • RKE 版本 1.3.15 (Kubernetes 1.24.4) — Kubernetes 发行版

  • MetalLB 版本 0.13.7 — 网络负载平衡器

  • Keepalived 版本 2.2.8 — Kubelet 高可用性 VIP 控制器

  • Longhorn 版本 1.2.6 - CSI

  • 法兰绒版本 0.15.1—CNI

  • 注册表版本 2.8.1 - 容器注册表

  • OpenShift 4.16 或更高版本 - 适用于 RHOCP 的 Kubernetes 发行版。使用兼容版本的 Longhorn (CSI) 以及 MetalLB、OVN (CNI) 和 OpenShift Image Registry

跳转主机软件

跳转主机需要以下软件:

  • Kubectl 版本 1.28.6+rke2r1 - Kubernetes 客户端

  • Helm 版本 3.12.3 — Kubernetes 包管理器

  • Docker-ce 版本 20.10.21 — Docker 引擎

  • Docker-ce-cli 版本 20.10.21 — Docker 引擎 CLI

  • OpenShift 版本 4.16 或更高版本 - RHOCP 集群的 Kubernetes 发行版。

存储

名为 jnpr-bbe-storage 的存储类。

网络负载均衡器地址

两个用于 TCP 和 UDP 负载平衡服务。

注册表存储

每个 BNG CUPS 控制器版本都需要 2 GB 的容器映像。

BNG CUPS 控制器对多地理位置设置的要求

地理上冗余的多群集 BNG CUPS 控制器设置由三个独立的 Kubernetes 群集组成。三个群集中的每个在地理位置上都是分开的,因此影响一个群集的服务影响事件不会影响其他群集。组成多群集设置的群集承担特定角色。

一个群集承担管理群集的角色,另外两个群集承担工作负载群集的角色。工作负载群集提供了一个冗余平台,大部分 BNG CUPS 控制器应用程序都可以在其中运行。管理群集运行的软件可以监控工作负载群集的运行状况,并确定 BNG CUPS 控制器是否应从一个工作负载群集切换到另一个。

多群集中的每个 Kubernetes 群集都由物理或虚拟机 (VM) 组成。

BNG CUPS 控制器需要 Kubernetes 群集中表 2 中列出的最少资源。

表 2:多地理位置 Kubernetes 群集设置要求
类别 详情

群集

多群集由三个群集组成,每个群集由 3 个混合节点组成。

这三个集群必须由一个管理群集和两个工作负载集群组成。

注意:

确保每个工作负载群集的 Pod 和服务 CIDR 不重叠。每个工作负载群集的群集内部网络通过潜航者 IP 隧道连接。内部 CIDRS 必须是不同的。

管理群集、Kubernetes 节点

管理群集 Kubernetes 节点需要以下内容:

  • 对于作系统,您可以使用以下任一选项:

    • Ubuntu 22.04 LTS(用于 BBE Cloudsetup 群集)

    • Red Hat Enterprise Linux CoreOS (RHCOS) 4.16 或更高版本(适用于 OpenShift Container Platform 群集)

  • CPU:8

  • 内存:24 GB

  • 存储:256 GB 的存储,按以下内容进行分区:

    • 在 Rancher Kubernetes 引擎 2 (RKE2) 系统上 - 64 GB 根 (/)、96 GB /var/lib/rancher 和 96 GB /var/lib/longhorn(应用数据)

    • 在 RHOCP 系统上 - 64 GB root (/)、96 GB /var/lib/containers 和 96 GB /var/lib/longhorn

  • Kubernetes 角色:控制平面 etcd 功能和工作节点

该规范建立了一个可以同时运行 Karmada 和 ECAV 的群集。

工作负载群集、Kubernetes 节点

工作负载群集 Kubernetes 节点需要以下内容:

  • 对于作系统,您可以使用以下任一选项:

    • Ubuntu 22.04 LTS(用于 BBE Cloudsetup 群集)

    • Red Hat Enterprise Linux CoreOS (RHCOS) 4.16 或更高版本(适用于 OpenShift Container Platform 群集)

  • CPU:24 至 28 核

  • 内存:256 GB

  • 存储:512 GB 的存储空间,按以下内容进行分区:

    • 在 RKE2 系统上 — 128 GB root (/)、128 GB /var/lib/rancher、256 GB /var/lib/longhorn;

    • 在 RHOCP 系统上 - 128 GB root (/)、128 GB /var/lib/containers 和 256 GB /var/lib/longhorn

  • Kubernetes 角色:控制平面 etcd 功能和工作节点

该规范建立了一个可以同时运行 BNG CUPS 控制器及其配套应用程序(如 BBE 事件收集和可视化以及 APM)的群集。

跳转主机

跳转主机需要以下内容:
  • 作系统:Ubuntu 版本 22.04 LTS

  • CPU:2核

  • 内存:8 GB (GiB)

  • 存储:128 GB (GiB)

  • 已安装的软件:

    • Python 3.10-venv

    • Helm 实用程序

    • Docker 实用程序

    • OpenShift CLI。如果您使用的是 Red Hat OpenShift Container Platform 群集,则为必填项。

群集软件

该群集需要以下软件:

  • RKE2 版本 1.28.6+rke2r1 — Kubernetes 发行版

    • MetalLB 版本 0.14.3 — 网络负载平衡器

    • Kube-vip 0.7.1 版本—Kubelet 高可用性 VIP 控制器

    • Longhorn 版本 1.6.0 — CSI

    • 运河 - CNI(RKE2 分布的一部分)

    • 注册表版本 2.8.1 - 容器注册表

  • OpenShift 4.16 或更高版本 - 适用于 RHOCP 的 Kubernetes 发行版。使用兼容版本的 Longhorn (CSI)、MetalLB、OVN (CNI) 和 OpenShift Image Registry。

  • Karmada 版本 1.13.1 — 多群集编排。管理群集需要。

  • Submariner 0.20.0 版 — 第 3 层隧道。

跳转主机软件

跳转主机需要以下软件:

  • Kubectl 版本 1.28.6+rke2r1 - Kubernetes 客户端。

  • Helm 版本 3.12.3 — Kubernetes 包管理器。

  • Docker-ce 版本 20.10.21 — Docker 引擎。

  • Docker-ce-cli 版本 20.10.21 — Docker 引擎 CLI。

  • OpenShift CLI 工具 (oc) 版本 4.16 或更高版本 — RHOCP 集群的 Kubernetes 发行版。

  • Subctl 版本 0.20.0 — Submariner CLI 实用程序。

  • Kubectl Karmada 版本 1.13.1 — Kubectl karmada 插件。

存储

名为 jnpr-bbe-storage 的存储类

网络负载均衡器地址

两个用于每个工作负载群集的 TCP 和 UDP 负载平衡服务。

一个用于管理群集的 TCP 负载平衡服务

注册表存储

每个 BNG CUPS 控制器版本需要 2.5 GB 的容器映像。每个群集都需要。

注意:

在单个地理 BNG CUPS 控制器设置中,您可以对群集的参数做出一些基本假设。您可以使用 BBE Cloudsetup 等快速入门工具创建单个地理 BNG CUPS 控制器。构建具有多个地理位置和多个群集的生产环境 BNG CUPS 控制器设置需要您提供更多的投入来构建。

其他要求

要使用瞻博网络 BNG CUPS,您必须为与瞻博网络 BNG CUPS 控制器关联的瞻博网络 BNG CUPS 控制器(控制平面)和瞻博网络 BNG 用户平面(瞻博网络 BNG CUPS 控制器)购买许可证。有关如何购买软件许可证的信息,请通过 https://www.juniper.net/in/en/contact-us/ 联系您的瞻博网络销售代表。

您在瞻博网络 BNG CUPS 环境中使用的 MX 系列设备也需要各自单独的许可证。有关如何购买硬件的信息,请通过 https://www.juniper.net/in/en/contact-us/ 联系您的瞻博网络销售代表。

确认您拥有有权下载 BNG CUPS 控制器软件包的 juniper.net 用户帐户。从不属于 Kubernetes 群集的计算机下载并安装 BNG CUPS 控制器软件。

在单一地理环境中安装瞻博网络 BNG CUPS 控制器

首次使用本部分中的过程在单个地理位置设置中安装瞻博网络 BNG CUPS 控制器。

开始之前,请确认您已满足 BNG CUPS 控制器安装要求(请参阅 表 1)。

您可以通过以下两个选项创建可在其上安装 BNG CUPS 控制器的 Kubernetes 群集:

  • BBE Cloudsetup—有关安装说明,请参阅 BBE Cloudsetup 安装指南

    注意:

    BBE Cloudsetup 是一款实用程序,可用于快速开始使用 BNG CUPS 控制器。它不是群集的生命周期工具。您无法扩展群集的宽度、执行节点维护、升级基础设施组件等。用于生产目的的 Kubernetes 群集应根据生产环境的要求进行设计和构建,并提供适当的支持,以维持其生命周期。

  • Red Hat OpenShift Container Platform — 有关安装说明,请参阅 Red Hat OpenShift Container Platform 文档。

开始安装 BNG CUPS 控制器之前,请确保您已获取以下信息:

必填信息:

  • 容器注册表详细信息:

    • 如果您使用的是 BBE Cloudsetup 创建的群集:

      • 外部注册表地址

      • 外部注册表端口号(通常为 5000)

    • 如果您使用的是 Red Hat OpenShift Container Platform 群集:

      • 外部注册表 (FQDN)

      • 内部 (Docker) 注册表地址

      • 内部 (Docker) 注册表端口号

可选信息:

  • 用于创建持久卷声明 (PVC) 的存储类名称(默认值为 jnpr-bbe-storage)。
  • PVC 大小(默认值为 90 MiB)。
  • 系统日志服务器详细信息 — 如果您计划将 BNG CUPS 控制器日志导出到外部系统日志收集器,则需要系统日志服务器信息。

    • 系统日志服务器地址

    • Syslog 服务器端口号

安装 BNG CUPS 控制器应用(单一地理位置)

  1. 软件下载页面下载 瞻博网络 BNG CUPS 软件包瞻博网络并将其保存到跳转主机。

    BNG CUPS 控制器以压缩的 TAR 文件映像 (.tgz) 形式提供。文件名中包含版本号作为名称的一部分。发行号的格式为:m.nZb.s

    例如,软件版本号 23.4R1.5 映射到以下格式:

    • m 是产品的主要版本号(例如,23)。

    • n 是产品的次要版本号(例如,4)。

    • Z 是软件版本的类型(例如,R 表示 FRS 或维护版本)。

    • b 是产品的内部版本号 (例如,1,表示 FRS 版本,而不是维护版本) 。

    • s 是乘积的旋转数(例如,5)。

  2. 跳转主机上解压 BNG CUPS 控制器 TAR 文件 (.tgz),方法是输入:
  3. 解压 TAR 文件后运行加载程序脚本。
  4. 使用命令sudo -E dbng link --context context-name --version software-release链接到群集。该link命令将加载的 BNG CUPS 控制器软件包关联到群集,为设置做准备。
    • context context-name— Kubernetes 上下文名称。

    • version software-release- BNG CUPS 控制器软件版本,如输出显示的 dbng_loader 那样。

  5. 如果要在红帽 OpenShift 容器平台群集上安装 BNG CUPS 控制器,请以具有管理员权限的用户身份使用 OpenShift CLI 登录,然后继续下一步。
    如果要在 BBE Cloudsetup 创建的群集上安装 BNG CUPS 控制器,请继续下一步。
  6. 您必须使用容器注册表进行身份验证,才能推送 BNG CUPS 控制器容器映像。向注册表进行身份验证的方式取决于您是在 BBE Cloudsetup 创建的群集上还是在 Red Hat OpenShift Container Platform 群集上安装 BNG CUPS 控制器(有关详细信息,请参阅相应的文档)。

    如果使用安全注册表(在 BBE Cloudsetup 创建的群集上创建),则通过以系统用户(BBE Cloudsetup 配置文件中提供的系统用户)的身份向群集的注册表传输地址(作为 BBE Cloudsetup 配置文件中作为系统地址提供的 FQDN)发出 docker 登录名来向注册表进行身份验证。

  7. 运行 setup 以配置您的安装。该 setup 命令执行以下作:
    • 建立 Kubernetes 部署的作参数。

      如果未将该选项或template file-name该选项与bbecloudsetup设置命令一起使用,则需要在设置过程中完成以下提示:

      • 如果您使用 BBE Cloudsetup 创建群集:

        • 外部注册表地址。

        • 外部注册表端口号。

      • 如果您使用的是 Red Hat OpenShift Container Platform 群集:

        • 外部注册机构(全限定域名)

        • 内部 (Docker) 注册表地址

        • 内部 (Docker) 注册表端口号

    注意:

    context context-name 是命令的唯一 setup 必需选项。

    下面列出了可与命令 setup 一起使用的选项:

    • context context-name— Kubernetes 上下文名称。

    • h, help- 显示帮助消息并退出。

    • l, log [error, warning, info, debug]- 调整日志级别。

    • no-color- 打印不带颜色的邮件。

    • bbecloudsetup— 填写与 bbecloudsetup 创建的群集一致的作参数,以便在设置过程中不必与 BNG CUPS 控制器交互(有关群集安装说明,请参阅 BBE Cloudsetup 安装指南 )。

      注意:

      仅使用选项 bbecloudsetup 或选项 template file-name 。不要同时使用这两个选项。

    • update- 在设置过程中,系统只会提示您输入缺失值。

    • ssh host:port— 群集的主机名或 IP 地址(群集的任何节点)和用于 SSH 访问 CLI 的开放端口。

    • secrets— 更新 BNG CUPS 控制器使用的密钥、证书和密钥。

    • verbose- 在每个提示问题之前提供详细说明。

    • configfile-name- 您希望 BNG CUPS 控制器在启动期间使用的初始配置文件的名称。

    • template file-name- YAML 格式的文件,其中包含在设置过程中创建的配置文件的子集。设置过程会自动使用在模板文件中输入的值。使用该 template 选项时,无需在设置过程中手动输入模板文件中包含的信息。仅当使用 Red Hat OpenShift Container Platform 创建群集或创建多地理群集时,才应使用该 template 选项。 表 3 介绍了需要在配置文件中 template 输入的信息。

      注意:

      仅使用选项 bbecloudsetup 或选项 template file-name 。不要同时使用这两个选项。

    • mandatory- 仅在设置过程中询问必填问题。

    • optional- 仅询问设置过程中不需要的问题。

    表 3:安装文件字段说明

    字段

    描述

    外部注册表地址

    外部注册表地址是容器映像推送到的 FQDN。

    APM TLS 密钥名称

    地址池管理器 (APM) 的传输层安全性 (TLS) 密钥名称。

    APM 证书

    APM 的证书。

    APM 私钥

    APM 的私钥。

    APM 根证书

    APM 的根证书。

    BBE 观察者连接 TLS 密钥名称

    BBE 观察者连接的 TLS 密钥名称。

    BBE 观察者连接证书

    BBE 观察者连接的证书。

    BBE 观察者连接私钥

    BBE 观察者连接的私钥。

    BBE 观察者连接根证书

    BBE 观察者连接的根证书。

    DTLS 机密名称

    数据报传输级别安全性 (DTLS) 机密名称。

    DTLS 证书

    DTLS 证书。

    DTLS 私钥

    DTLS 私钥。

    DTLS 根证书

    DTLS 根证书。

    k8s 的注册表

    传输地址或 FQDN:port 从中提取容器映像的地址。

    部署时要挂载的启动配置

    用于初始配置的配置文件。如果未提供配置文件,则使用出厂默认配置。

    (选答) CPi 配置存储名称

    配置的 CPi 存储类的名称。

    (选答) CPi 配置存储大小

    配置的 CPi 存储类的大小,以兆字节 (MiB) 为单位。

    (选答) CPi 核心存储名称

    CPi 核心存储类的名称。

    (选答) CPi 核心存储大小

    CPi 核心存储类的大小,以兆字节 (MiB) 为单位。

    (选答) 缓存核心存储名称

    Scache 核心存储类的名称。

    (选答) 缓存核心存储大小

    Scache 核心存储类的大小,以兆字节 (MiB) 为单位。

  8. 通过 运行 dbng-version 命令验证 BNG CUPS 控制器安装。
    • context context-name— Kubernetes 上下文名称。

    • detail- 显示所有可用的软件版本。

在单一地理位置设置中启动 BNG CUPS 控制器

使用此过程可在单个地理位置设置中配置和启动 BNG CUPS 控制器。

  1. 进入 rollout 以开始 BNG CUPS 控制器安装。BNG CUPS 控制器实用程序允许您为属于 BNG CUPS 控制器的所有微服务推出不同的软件版本。您需要将命令rollout与 sudo 作为 root 一起使用。该rollout命令还验证新版本所需的所有值是否存在,并将新版本容器映像加载到注册表。用于sudo -E dbng rollout --context context-name --version software-release --service service-name 启动 BNG CUPS 控制器服务。例如:
    • context-name— Kubernetes 上下文

    • service service-name- 要部署的微服务名称(例如, scachecpi)。

    • version software-release- 要部署的软件版本(默认为链接到群集的版本)。

    注意:

    上,不需要首次部署 -–service。用于-–service–-version推出(升级)特定服务的特定版本。

    注意:

    默认情况下,BNG CUPS 控制器从出厂默认设置开始。配置将重置为其初始状态。清除任何持久状态和任何持久日志。

  2. 输入以dbng status --context context-name --detail验证 BNG CUPS 控制器服务是否已启动并正在运行。例如:
    注意:

    收集服务日志,并在出现以下任一情况时联系瞻博网络技术援助中心 (JTAC):

    • 服务未运行。

    • 与其他服务相比,服务的正常运行时间表明它已重新启动。

  3. 您必须将控制平面实例 (CPi) 添加到 BNG CUPS 控制器。运行CPi add命令。
    • context-name— Kubernetes 上下文名称。

    • version software-release- 新 CPi Pod 的软件版本。输入版本。

    • cpi-label- 标签用于对 CPi 进行唯一命名,以便进行识别。在上面的示例中,输出 是 cpi-label cpi-example-1

  4. 使用dbng status命令验证 CPi 微服务是否正在运行。
    • context-name— Kubernetes 上下文名称。

    • detail- 显示详细信息。

在多地理位置环境中安装瞻博网络 BNG CUPS 控制器

对于由位于不同地理位置的多个 BNG CUPS 控制器组成的 BNG CUPS 控制器设置,请使用本部分中的安装过程。

开始之前,请确认您已满足 BNG CUPS 控制器安装要求(请参阅 表 2)。

开始安装 BNG CUPS 控制器之前,请确保您已获取以下信息:

注意:

您必须为所有三个群集收集下面列出的信息。

  • 工作负载群集的群集上下文名称、管理群集的 karmada 上下文和管理群集的工作上下文

  • Karmada kubeconfig 密钥名称 — 管理群集上 Karmada 上下文的 kubeconfig 文件。您可以从 karmada-system 命名空间中的管理群集上下文中提取 Karmada 上下文的 kubeconfig 文件。

    有关要运行的命令的示例,请参阅以下内容:

  • 每个群集的容器注册表详细信息:

    • 外部注册表地址

    • 外部注册表端口号(通常为 5000)

  • 系统日志服务器详细信息 — 如果您计划将 BNG CUPS 控制器日志导出到外部系统日志收集器,则需要系统日志服务器信息。

    • 系统日志服务器地址

    • Syslog 服务器端口号

  • Kubeconfig 用于管理群集。

安装 BNG CUPS 控制器应用(多地理位置设置)

  1. 在管理上下文中创建 jnpr-bng-controller 命名空间/项目。
    • context management-context-name- 管理群集的上下文名称。请注意,此上下文与与管理群集关联的 Karmada 上下文名称不同。

  2. 创建 karmada-kconf 密钥。使用管理群集的 kubeconfig 在 BNG CUPS 控制器命名空间的管理群集上创建密钥。
    注意:

    karmada-kconf 密钥包含观察者用来监视 CPi 状态的 kubeconfig。如果未创建密钥,观察者(和 BNG CUPS 控制器)将无法正常运行。

    运行以下命令:

    • management-context-name- 管理群集的上下文名称。请注意,此上下文与与管理群集关联的 Karmada 上下文名称不同。

    • karmada-secret-file- 管理群集的 kubeconfig 文件。

  3. 通过 运行以下命令验证是否已创建密钥:
    注意:

    根据您的设置,列出的字节数可能非常多。

  4. 软件下载页面下载 瞻博网络 BNG CUPS 软件包瞻博网络并将其保存到跳转主机。

    BNG CUPS 控制器以压缩的 TAR 文件映像 (.tgz) 形式提供。文件名中包含版本号作为名称的一部分。发行号的格式为:m.nZb.s

    例如,软件版本号 23.4R1.5 映射到以下格式:

    • m 是产品的主要版本号(例如,23)。

    • n 是产品的次要版本号(例如,4)。

    • Z 是软件版本的类型(例如,R 表示 FRS 或维护版本)。

    • b 是产品的内部版本号 (例如,1,表示 FRS 版本,而不是维护版本) 。

    • s 是乘积的旋转数(例如,5)。

  5. 跳转主机上解压 BNG CUPS 控制器 TAR (.tgz) 文件,方法是输入:
  6. 解压 TAR 文件后运行加载程序脚本。
  7. 使用命令sudo -E dbng link链接到群集。在准备运行setup时,该link命令获取工作负载群集上下文列表和观察者上下文,并将它们关联到加载的 BNG CUPS 控制器软件包,
    • context karmada-context-name- 在管理群集上安装 Karmada 时创建的 Karmada 上下文的上下文名称。

    • worload-contexts workload-1-context-name workload-2-context-name- 两个工作负载上下文名称。

    • observer-context management-context-name- 管理群集的上下文名称。请注意,此上下文与与管理群集关联的 Karmada 上下文名称不同。

    • version software-release- BNG CUPS 控制器软件版本,如输出显示的 dbng_loader 那样。

    注意:

    在安装过程中,Karmada 将安装在管理群集上,并且 Karmada 会在管理群集上创建自己的上下文。Karmada 上下文用于定位涉及工作负载集群的任何作。管理群集还具有自己的上下文,用于运行非关键集中式工作负载(例如, BBE 事件收集和可视化)。您可以将此管理群集上下文用于 observer-context.

    图 1 显示了不同上下文在多群集设置中的位置。

    图 1:多个群集上下文 High-level architecture diagram of a distributed system showing Jump Host, Karmada and Management Contexts, and Workload Clusters A and B connected by Secure L3 Tunnel.
  8. 使用 RHOCP 群集时,您可以在使用 OpenShift CLI 对 OpenShift 群集和三个 RHOCP 群集(管理和两个工作负载群集)进行身份验证后与其交互。

    有关要运行的命令的示例,请参阅以下内容:

  9. 为了推送 BNG CUPS 控制器容器映像,您必须在多群集设置中向每个群集上的注册表进行身份验证。通过以系统用户(在 BBE Cloudsetup 配置文件中输入的系统用户)的身份向群集的注册表传输地址(作为 BBE Cloudsetup 配置文件中作为系统地址提供的 FQDN)发出 docker 登录名,向注册表进行身份验证。
  10. 运行 setup 以配置您的安装。该 setup 命令执行以下作:
    • 收集有关群集环境的信息 - 收集的信息包括以下内容:

      • 存储类或持久卷的名称

      • 容器注册表的位置

      • 注册表的容器和 Pod 名称

      • TLS 密钥

      • 有关支持 BNG CUPS 控制器功能的相关信息。

    • 初始化 BNG CUPS 控制器配置。

    在设置过程中,系统将提示您提供信息。为避免在设置过程中输入信息,可以使用模板文件(有关模板文件的说明,请参阅 template)。

    如果未使用模板文件,则在设置过程中可能会出现以下提示:

    • 管理群集上的观察者提供以下信息:

      • 每个群集的外部注册表地址和端口号。输入各群集信息后,单击 Enter 键。

      • 要从中提取的观察者(管理群集)的注册表地址。

      • Karmada kubeconfig 密钥名称

      • 启用 TLS(默认为 False)

      • TLS 密钥名称

    • 主工作负载 (workload-1) 群集的以下信息。输入信息后,单击 Enter 键,输入备份工作负载群集的信息:

      • 每个群集的外部注册表地址和端口号。输入各群集信息后,单击 Enter 键。

      • 观察者 TLS 证书颁发机构密钥名称

    • 备份 (workload-2) 工作负载群集的以下信息:

      • 每个群集的外部注册表地址和端口号。输入各群集信息后,单击 Enter 键。

      • 观察者 TLS 证书颁发机构密钥名称

    • 备份工作负载群集 - 输入备份工作负载群集的名称

    • 备份工作负载注册表地址

    • 主工作负载群集 - 输入主工作负载群集的名称

    • APM TLS 密钥名称

      注意:jnpr-bng-controller 命名空间中包含 TLS 密钥和证书的 Kubernetes 密钥对象的名称。如果密钥不存在,请将此字段留空,并 setup提示您输入包含证书、私钥和根证书的文件。然后将为您创建 Kubernetes 密钥。如果提供了密钥, setup则不会提示您输入证书、私钥或根证书文件。
    • APM 证书

    • APM 私钥

    • APM 根证书

    • BBE 观察者连接 TLS 密钥名称

    • BBE 观察者连接证书

    • BBE 观察者连接私钥

    • BBE 观察者连接根证书

    • DTLS 机密名称

      注意:jnpr-bng-controller 命名空间中包含 TLS 密钥和证书的 Kubernetes 密钥对象的名称。如果密钥不存在,请将此字段留空,并 setup提示您输入包含证书、私钥和根证书的文件。然后将为您创建 Kubernetes 密钥。如果提供了密钥, setup则不会提示您输入证书、私钥或根证书文件。
    • DTLS 证书

    • DTLS 私钥

    • DTLS 根证书

    • k8s 的注册表

    • 部署时要挂载的启动配置

    • CPi Config 存储类名称和大小

    • CPi Core 存储类名称和大小

    • 缓存核心存储名称

    • 缓存核心存储大小

    注意:

    要在多地理位置部署中通过 SSH 设置 CLI 访问,必须使用模板文件(使用 template 命令中的 setup 选项)。这使您能够配置两个工作负载群集地址。

    要配置 SSH,请将每个工作负载群集的以下信息(YAML 格式)添加到您在设置过程中提供的模板文件中:

    有关模板文件中的 SSH 配置的更多信息,请参阅以下内容:

    • cluster-vip-address- 用于从跳转主机管理群集的 IP 地址。

    • cluster-name- 命令输出 kubectl get clusters 中显示的工作负载群集的名称。

    • available-port-value- 必须是未在任何工作负载群集节点上使用的 TCP 端口。例如,不要使用端口 22,而是使用大编号端口,如端口 8200。

    • service-name- 您希望创建的服务使用的名称。最佳做法是在名称中包含应用程序名称、用途和工作负载群集(例如 dbng-ssh-workload1)。

    • type— 确定要为 SSH 访问创建的外部服务类型。可用选项包括 或 NodePort LoadBalancer

    下面列出了可与命令 setup 一起使用的选项:

    • context karmada-context-name- 在管理群集上安装 Karmada 时创建的 Karmada 上下文的上下文名称。

    • h, help- 显示帮助消息并退出。

    • l, log [error, warning, info, debug]- 调整日志级别。

    • no-color- 打印不带颜色的邮件。

    • update- 在设置过程中,系统只会提示您输入缺失值。

    • secrets— 更新 BNG CUPS 控制器使用的密钥、证书和密钥。

    • verbose- 在每个提示问题之前提供详细说明。

    • configfile-name- 您希望 BNG CUPS 控制器在启动期间使用的初始配置文件的名称。

    • template file-name- YAML 格式的文件,其中包含在设置过程中创建的配置文件的子集。设置过程会自动使用在模板文件中输入的值。使用该 template 选项时,无需在设置过程中手动输入模板文件中包含的信息。仅当使用 Red Hat OpenShift Container Platform 创建群集或创建多地理群集时,才应使用该 template 选项。 表 3 介绍了需要在配置文件中 template 输入的信息。

    • mandatory- 仅在设置过程中询问必填问题。

    • optional- 仅询问设置过程中不需要的问题。

  11. 通过 运行 dbng-version 命令验证 BNG CUPS 控制器安装。
    • context context-name— Kubernetes 上下文名称。

    • detail- 显示所有可用的软件版本。

在多地理位置设置中启动 BNG CUPS 控制器

使用此过程可在多地理位置设置中配置和启动 BNG CUPS 控制器。

  1. 进入 rollout 以开始 BNG CUPS 控制器安装。BNG CUPS 控制器实用程序允许您为 BNG CUPS 控制器多地理位置设置中的所有微服务推出不同的软件版本。您需要将命令rollout与 sudo 作为 root 一起使用。该rollout命令还验证新版本所需的所有值是否存在,并将新版本容器映像加载到注册表。用于sudo -E dbng rollout --context karmada-context-name --version software-release --service service-name 启动 BNG CUPS 控制器服务。例如:
    • karmada-context-name- 在管理群集上安装 Karmada 时创建的 Karmada 上下文的上下文名称。

    • service service-name- 要部署的微服务名称(例如, scachecpi)。

    • version software-release- 要部署的软件版本(默认为链接到群集的版本)。

    注意:

    上,不需要首次部署 -–service。用于-–service–-version推出(升级)特定服务的特定版本。

    注意:

    默认情况下,BNG CUPS 控制器从出厂默认设置开始。配置将重置为其初始状态。清除任何持久状态和任何持久日志。

  2. 输入以dbng status --context karmada-context-name验证 BNG CUPS 控制器服务是否已启动并正在运行。例如:
    注意:如需详细输出,可以使用命令 dbng status --context karmada-context-name --detail
    • karmada-context-name- 在管理群集上安装 Karmada 时创建的 Karmada 上下文的上下文名称。

    • detail- 显示详细信息。

    注意:

    收集服务日志,并在出现以下任一情况时联系瞻博网络技术援助中心 (JTAC):

    • 服务未运行。

    • 与其他服务相比,服务的正常运行时间表明它已重新启动。

  3. 您必须将控制平面实例 (CPi) 添加到 BNG CUPS 控制器。运行CPi add命令。
    • context karmada-context-name- 在管理群集上安装 Karmada 时创建的 Karmada 上下文的上下文名称。

    • version software-release- 新 CPi Pod 的软件版本。输入版本。

    • ip-aaa ip-address— 要为 CPi AAA作部署的 IP 地址。您可以使用该 ip-aaa 选项指定要用于 CPi 上的 RADIUS 侦听器端口的单个外部 IP 地址。在多个地理位置切换后,地址保持不变。该 ip-aaa 选项需要启用 L3 的 MetalLB 实例。MetalLB BGP 对等互连用于将流量定向到活动工作负载群集上的 CPi。

    • label- 指定新 CPi 的名称。

  4. 使用dbng status命令验证 CPi 微服务是否正在运行。

安装 BNG 用户平面

作为瞻博网络 BNG CUPS 的一部分使用的 BNG 用户平面是已安装在网络中的 MX 系列路由器。BNG 用户平面(MX 系列路由器)运行 Junos OS,如果需要安装 BNG 用户平面,请参阅 Junos® OS 软件安装和升级指南

注意:您必须使用线卡接口与 BNG CUPS 控制器进行通信。BNG 用户平面上的管理接口 (fxp0) 不是 Sci 和 CPRi 服务支持的接口。