APM 安装

APM 安装概述

瞻博网络地址池管理器 (APM) 是一款自动化、集中式、基于容器的云原生应用,网络运营商和管理员用它来管理 IP 前缀资源。APM 与托管宽带网络网关 (BNG) 配合使用来监控 BNG 上的地址池。当可用地址数降至设定阈值以下时,BNG 会发出告警。告警会触发 APM 从其全局前缀列表中分配未使用的前缀,并将前缀的子集作为新池配置到 BNG。

APM 可以安装在单个地理位置设置或多个地理位置设置上。这两种设置的安装要求和安装过程不同。有关 APM 设置的要求,请参阅以下部分:

注意:

本文档中的术语 BNG 也适用于 BNG CUPS 控制器。

您可以在任何满足要求的硬件上部署 APM。以下章节将介绍如下内容:

  • APM 安装要求

  • 如何安装 APM

  • 如何调整 APM 设置参数

APM 安装要求

要安装 APM,您需要本节中列出的以下硬件和软件要求。

单个地理位置设置的 APM 要求

APM 安装在单个地理位置设置上。单个地理位置设置由一个多节点 Kubernetes 群集组成。群集节点可以是物理节点,也可以是虚拟机。为了实现可用性,群集必须具有至少三个节点上运行的 Kubernetes 控制平面功能,并且至少在三个节点上运行工作器功能。为了实现节点经济性,Kubernetes 控制平面和工作器功能可以组合在同一节点(组合节点)上运行。

APM 已针对 表 1 中描述的单一地理群集进行了鉴定。

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

Kubernetes 群集

Kubernetes 群集需要以下内容:

  • 节点规格:

    • 对 Kubernetes 分发使用以下一项:

      • Red Hat OpenShift 容器平台。有关版本和配置详细信息,请参阅您要安装的 APM 版本的地址 池管理器发行说明 。(生产群集的选项)。

      • Rancher Kubernetes 引擎 2 (RKE2)。有关版本和配置详细信息,请参阅您要安装的 APM 版本的地址 池管理器发行说明 。(生产群集的选项)。

      • BBE Cloudsetup 实用程序 — 仅用于概念验证 (PoC) 或演示群集。

        BBE Cloudsetup 实用程序使用 Longhorn CSI、MetalLB、Flannel CNI 和 Docker Container Registry 软件版本构建具有 RKE1 发行版的群集。

    • CPU:16 核或 32 核。如果您计划在群集上运行其他应用程序(例如 BNG CUPS 控制器应用程序),请使用 32 核节点。

    • 内存:256 GB (GiB)

    • 存储:480 GiB,分区为 240 GiB 根和 240 GiB /var/lib/longhorn

    • 网络接口:4x10 GE(根据您的拓扑结构,可能需要更多)

  • 集群宽度 — 群集必须至少有 3 个具有控制平面、etcd 和工作器功能的组合 Kubernetes 节点。3 个组合节点支持具有单个控制平面实例的 APM 和 BNG CUPS 控制器。如果要添加 BNG CUPS 控制器控制平面实例,则必须为您添加的每对额外的 BNG CUPS 控制器控制平面实例添加另一个工作节点。

跳转主机

跳转主机需要以下内容:
  • CPU:2核

  • 内存:8 GB (GiB)

  • 存储:128 (GiB)

跳转主机软件

跳转主机需要以下软件:

  • 概念验证体系:

    • Ubuntu 22.04 LTS

    • Python 3.12-venv

    • BBE Cloudsetup 实用程序将安装兼容版本的 Kubernetes CLI、Helm、docker-ce 以及编排应用程序所需的其他组件。

  • 生产系统:

    • Red Hat Enterprise Linux 9 或 Ubuntu 24.04 LTS。

    • 有关所需软件组件的列表,请参阅要安装的 APM 版本的地址 池管理器发行说明 。

存储

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

网络负载均衡器地址

最多 2 个地址,一个用于 APMi(BNG 和 APM 之间的服务接口),一个用于管理(SSH CLI 访问,可选)

注册表存储

每个 APM 版本需要大约 2 GiB 的容器映像。

多地理位置设置的 APM 要求

多地理位置设置由两个独立的多节点 Kubernetes 群集组成。群集节点可以是物理节点,也可以是虚拟机。为了实现可用性,每个群集必须具有至少三个节点上运行的 Kubernetes 控制平面功能,并且至少在三个节点上运行工作器功能。为了实现节点经济性,Kubernetes 控制平面和工作器功能可以组合在同一节点(组合节点)上运行。两个集群中的每一个在地理位置上都是分开的,因此影响一个群集的服务影响事件不会影响另一个集群。

每个群集都是一个工作负载群集。工作负载集群提供了一个冗余平台来运行 APM。

对于 PoC 安装,您不能使用 BBE cloudsetup 实用程序来构建多地理位置设置中使用的集群。要构建 PoC 多地理位置设置,可以通过支持人员使用单独的过程。

APM 已针对 表 2 中描述的多地理群集进行了鉴定。

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

群集

多地理位置群集由 2 个工作负载群集组成,每个群集至少由 3 个组合节点组成。

注意:

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

工作负载群集

每个工作负载群集都需要以下内容:

  • 节点规格:

    • 对 Kubernetes 分发使用以下一项:

      • Red Hat OpenShift 容器平台。有关版本和配置详细信息,请参阅您要安装的 APM 版本的地址 池管理器发行说明 。

      • Rancher Kubernetes 引擎 2 (RKE2)。有关版本和配置详细信息,请参阅您要安装的 APM 版本的地址 池管理器发行说明 。

    • CPU:16 核或 32 核。如果您计划在群集上运行其他应用程序(例如 BNG CUPS 控制器应用程序),请使用 32 核节点。

    • 内存:256 GB (GiB)

    • 存储:480 GiB,分区为 240 GiB 根和 240 GiB /var/lib/longhorn

    • 网络接口:4x10 GE(根据您的拓扑结构,可能需要更多)

  • 集群宽度 — 群集必须至少有 3 个具有控制平面、etcd 和工作器功能的组合节点。3 个组合节点支持具有单个控制平面实例的 APM 和 BNG CUPS 控制器。如果要添加 BNG CUPS 控制器控制平面实例,则必须为您添加的每对额外的 BNG CUPS 控制器控制平面实例添加另一个工作节点。

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

跳转主机

跳转主机需要以下内容:
  • CPU:2核

  • 内存:8 GB (GiB)

  • 存储:128 (GiB)

跳转主机软件

跳转主机需要以下软件:

  • Red Hat Enterprise Linux 9 或 Ubuntu 24.04 LTS。

  • 有关所需软件组件的列表,请参阅要安装的 APM 版本的地址 池管理器发行说明 。

存储

名为 jnpr-bbe-storage 的存储类

网络负载均衡器地址

最多 2 个地址,一个用于 APMi(BNG 和 APM 之间的服务接口),一个用于管理(SSH CLI 访问,可选)

注册表存储

每个 APM 版本需要大约 2 GiB 的容器映像。

注意:

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

其他要求

BNG 是瞻博网络 MX 系列 Junos OS 路由器或瞻博网络 BNG CUPS 控制器(BNG CUPS 控制器)。

我们推荐使用以下版本:
  • Junos OS 23.4R2-S7 或更高版本

  • BNG CUPS 控制器 26.2R2 或更高版本

对于 APM,请确认您拥有有权下载 APM 软件包的 juniper.net 用户帐户。从不属于 Kubernetes 群集的计算机下载并安装 APM 软件。

在单个地理位置设置中准备 APM 安装

首次使用本节中的过程安装单个地理位置 APM。

开始之前,请确认您已满足 APM 安装的要求。

建议在 APM 和 BNG 之间使用安全连接。

在开始安装 APM 之前,请确保您具有以下信息:

必填信息:

  • 容器注册表详细信息:
    • 如果您使用的是 Rancher Kubernetes Engine2 或 BBE Cloudsetup 创建的群集:

      • 外部注册表地址

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

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

      • 外部注册表 (FQDN)

      • 内部 (Docker) 注册表地址

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

可选信息:

  • APM 初始配置文件。如果未提供配置文件,则会自动生成基本配置文件。
  • 用于创建持久卷声明 (PVC) 的存储类名称(默认值为 jnpr-bbe-storage)。
  • PVC 大小(默认为 90 MiB)。
  • 存档配置详细信息。如果您计划将 APM 配置的副本镜像到外部服务器,则需要这样做。
    • SSH 私钥文件的名称或包含 SSH 私钥的 jnpr-apm 命名空间中存在的 Kubernetes 密钥的名称。

    • 将存档配置文件的服务器的 SCP URL。SCP URL 采用 (例如) scp://user@host1.mydomain.com:30443/home/user/configs/apm的形式scp://user-login@server-fqdn:server-port/absolute-file-path。

  • Syslog 服务器详细信息。如果您计划将 APM 日志导出到外部系统日志收集器,则需要这样做。
    注意:

    如果检测到在目标群集上运行 BBE 事件收集和可视化 ,则将建议 ECAV 部署的地址和端口值作为默认值。

    • 系统日志服务器地址。

    • Syslog 服务器端口号。

  • APMi 详细信息 — 您可以选择提供特定 IP 地址,用作工作负载群集上 APMi 的外部负载均衡器 IP 地址。如果未提供特定地址,APM 会尝试从网络负载均衡器的默认池中分配外部地址:

    • 外部 IP 地址 - 输入群集节点和实体连接到的子网中的未使用 IP 地址。

    • 端口(默认值为 20557)
    • TLS 详细信息。您将需要以下其中一项:
      • 无(不安全)

      • 密钥和证书文件,或 jnpr-apm 命名空间中存在的包含密钥和证书信息的 Kubernetes 密钥的名称。

  • 服务帐户名称 — 用于将某些操作权限绑定到 管理 微服务的 Kubernetes 服务帐户的名称。如果未提供服务帐户名称,APM 会在上线时创建一个名为 apm-svca 的服务帐户。

  • SSH 服务类型 — 如果指定了对 管理 微服务的 SSH 访问 (ssh <ip>:<port>),则必须指定应将服务创建为节点端口 (NodePort) 服务还是负载均衡器 (LoadBalancer) 服务。如果选中,将 LoadBalancer 创建一个包含提供的外部 IP 地址的 MetalLB 池。在部署时创建的负载均衡器服务将从新创建的 MetalLB 池中分配外部 IP 地址。

  • DBSync 服务类型 — apm multi-cluster status APM 实用程序命令通过 Kubernetes 服务从 DBSync 微服务收集要显示的状态。默认情况下,为此目的创建了节点端口服务。如果选择 LoadBalancer,系统会提示您输入外部 IP 地址,并创建一个包含提供的外部 IP 地址的 MetalLB 池。 LoadBalancer 系统会为部署时创建的服务分配来自新创建的 MetalLB 池的外部 IP 地址。

  • provman 微服务的工作进程数(默认值为 3)。

安装 APM 应用程序(单个地理位置)

如果要安装单个地理位置 APM,则使用本节中的过程。

  1. 将 APM 软件包从瞻博网络软件下载页面下载到跳转主机。

    APM 可作为压缩的 TAR (.tgz) 文件使用。文件名中包含版本号作为名称的一部分。版本号的格式为:<Major>.<Minor>.<Maintenance>

    • Major 是产品的主要版本号。
    • Minor 是产品的次要版本号。
    • Maintenance 是修订号。
  2. 在跳转主机上解压 APM TAR (.tgz) 文件,方法是输入:
  3. 解压 TAR 文件后运行加载程序脚本。
  4. 使用命令 sudo -E apm link --context context-name --version apm-version 链接到群集。该 link 命令将加载的 APM 软件包关联到群集上下文,以准备设置。
    • context-name 是群集的 Kubernetes 上下文名称。

    • apm-version 是软件版本。

  5. 如果您要在红帽 OpenShift 容器平台群集上安装 APM,请使用 OpenShift CLI 登录,然后继续下一步。
    如果您要在 Rancher Kubernetes Engine2 或 BBE Cloudsetup 创建的群集上安装 APM,请继续下一步。
  6. 您必须使用容器注册表进行身份验证才能推送 APM 容器镜像。向注册表进行身份验证的方式取决于您是在 Rancher Kubernetes Engine2 创建的群集、BBE Cloudsetup 创建的群集还是红帽 OpenShift 容器平台群集上安装 APM。(有关详细信息,请参阅相应的文档)。
  7. 运行 setup 以配置您的安装。该 setup 命令执行以下操作:
    • 收集有关群集环境的信息,例如容器注册表联系信息、保护外部接口所需的密钥和证书、持久存储资源以及与支持 APM 功能相关的其他信息。

    • 建立 Kubernetes 部署的操作参数。

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

      注意:

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

      • 如果您使用 Rancher Kubernetes Engine2 或 BBE Cloudsetup 创建群集:

        • 外部注册表地址。

        • 外部注册表端口号。

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

        • 外部注册表 (FQDN)

        • 内部 (Docker) 注册表地址

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

    注意:

    运行 setup时,您可以通过输入 ^d与设置过程进行交互。

    如果要在输入值后更改值,请输入 ^d。输入 ^d后,将删除您之前输入的值,并将默认值用于问题。您可以将该 ^d 操作用于可选的任何设置问题,或者可以为其提供值列表的任何设置问题。

    以下是带有示例输出的设置命令示例:

    注意:

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

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

    • context context-name- 群集的 Kubernetes 上下文名称。

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

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

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

    • bbecloudsetup—输入与 BBE Cloudsetup 创建的群集一致的操作参数,以便您在设置过程中不必与 APM 交互(有关群集安装说明,请参阅 BBE Cloudsetup 安装指南 )。

      注意:

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

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

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

      注意:

      启用 SSH 访问需要管理微服务在 特权 模式下运行。

    • secrets—更新 APM 使用的密钥、证书和密钥。

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

    • configconfig-file-path-name— 您希望 APM 在启动期间使用的初始配置文件的名称。

      注意:

      您可以使用初始配置文件来启动和推出 APM。您可以通过实用程序脚本命令setup上的交换机使用配置文件--config config-file-path-name。

      当 APM 启动或推出时,您在设置过程中提供的配置文件将用于初始化 APM。如果未提供配置文件,APM 将从出厂默认设置开始。如果 BBE 事件收集和可视化应用程序在群集上运行,那么出厂缺省值包括 bbe-ecav syslog 服务器配置。

      提供的配置文件存储在 jumphost 的上下文存储库中。这允许在 APM 启动和停止事件中保留配置。对初始配置的提交不会自动保存到 jumphost 上的永久位置。要更新永久位置的配置,请使用实用程序脚本的 save-config 命令。

      使用该 save-config 命令可确保下次启动和推出 APM 时使用最新配置。要将初始配置恢复到出厂默认设置,请以交互方式进入setup,然后进入 ^d 启动 配置... 问题。

      括号中的操作将更改为 remove。按下以 Enter 接受已部署配置的移除。APM 在执行 stop then rollout 命令序列后恢复到出厂默认配置。

      使用实用程序脚本的 setup 命令更改初始配置文件时,必须执行 stop then rollout 命令序列才能使更改生效。

    • template file-name- YAML 格式的文件,其中包含在设置过程中创建的操作参数文件的子集。设置过程会自动使用在模板文件中输入的值。使用该 template 选项时,无需在设置过程中手动输入模板文件中包含的信息。 表 3 介绍了可在配置文件中 template 输入的信息。

      注意:

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

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

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

    表 3:安装文件字段说明

    字段

    描述

    (选答) 服务帐户名称

    用于将某些操作权限绑定到 管理 微服务的 Kubernetes 服务帐户的名称。如果未提供服务帐户名称,APM 会在上线时创建一个名为 apm-svca 的服务帐户。

    外部注册表地址

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

    k8s 的注册表

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

    (选答) APMi 机密

    要保护 APMi(推荐),请输入以下一项:

    • APM 命名空间中包含 TLS 密钥数据(根证书颁发机构证书、证书和私钥)的 Kubernetes 密钥的名称

    • 密钥文件(根证书颁发机构证书、证书和私钥)
    注意:

    如果提供了密钥,则在安装过程中系统不会提示您输入密钥文件。

    启动配置要在部署时挂载到管理 pod 中

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

    (选答)运营商备份通信服务地址(仅限 MGeo)

    运营商备份通信服务的 IP 地址。输入每个地理位置的群集节点连接到的备份子网中未使用的 IP 地址。此字段仅用于多个地理位置设置。

    网络负载均衡器 APMi 静态 IP 地址

    APMi 网络负载平衡器的静态 IP 地址。

    (选答) APMi 端口

    APMi 端口号(默认为 20557)。

    (选答) 配置存档服务器

    配置 配置存档服务器 选项时,APM 会在每次成功提交后将更新配置的副本存档到外部服务器。

    要配置存档配置文件更改的服务器信息,必须输入以下信息:

    • SSH 键信息。提供以下其中一项的信息:

      • APM 命名空间中包含 SSH 私钥数据的 Kubernetes Secret 的名称。

      • SSH 私钥文件的名称。

      注意:

      如果提供了密钥名称,系统将不会提示您输入 SSH 私钥文件。

    • 将存档配置文件的服务器的安全复制协议 (SCP) URL。

      注意:

      URL 必须使用以下格式: scp://user-login@server-fqdn:server-port/absolute-file-path (例如 scp://user@host1.mydomain.com:30443/home/user/configs/apm)。

      成功提交后,候选配置的 SCP 传输将作为压缩文件传输到存档 URL,其名称如下:

      apm-identifier_YYYYMMDD_HHMMSS_juniper.conf.n.gz

      • apm-identifier 是 APMi 接口的外部 IP 地址。

      • YYYYMMDD_HHMMSS 是协调世界时 (UTC) 中的时间戳。

      • n 是压缩配置回滚文件的编号指定。

    (选答) DBSync 服务类型

    apm multi-cluster status APM 实用程序命令通过 Kubernetes 服务从 DBSync 微服务收集要显示的状态。默认情况下,NodePort服务是为此目的创建的。如果选择 LoadBalancer,系统会提示您输入外部 IP 地址,并创建一个包含提供的外部 IP 地址的 MetalLB 池。LoadBalancer系统会为部署时创建的服务分配来自新创建的 MetalLB 池的外部 IP 地址。

    注意:此字段仅用于多个地理位置设置。

    首选活动群集

    管理微服务最初应在其上变为活动状态的群集(工作负载上下文)的名称。

    用于 APM 配置的存储类的名称

    要使用的存储类名称(默认为 jnpr-bbe-storage)。

    要为 APM 配置路径预留的存储量

    要保留的存储量。

    (选答) 系统日志详细信息

    如果要将 APM 日志信息导出到外部系统日志收集器,请输入以下系统日志服务器信息:

    • IP 地址或全限定域名

    • 端口号

    系统日志信息包含在生成的出厂默认配置文件中。如果未使用生成的出厂默认配置文件,而是使用了自己的初始配置文件,则必须包含 system syslog host 包含 syslog 服务器连接详细信息的节。

    (选答) 运营商备份通道 TLS 信息(仅限 MGeo)

    操作员备份通道是两个工作负载集群之间的备用子网。该子网用于促进运行状况监控,并在群集间子网(潜航者号隧道穿越)断开连接时协调切换。

    输入运维人员备份通道的以下信息:

    • 要保护运维人员备份通道(推荐),请输入以下内容之一:

      • APM 命名空间中包含 TLS 密钥数据(根证书颁发机构证书、证书和私钥)的 Kubernetes 密钥的名称

      • 密钥文件(根证书颁发机构证书、证书和私钥)
    • 每个工作负载群集上操作员备份通道的 IP 地址。如果未提供地址,则不会建立备用通道。建议为每个工作负载群集提供备份地址。备份通道可确保在群集间子网丢失时,多地理位置部署继续正常运行。

    注意:

    如果提供了密钥,则在安装过程中系统不会提示您输入密钥文件。

    (选答) 初始 APM 配置文件

    APM 启动时使用的配置文件。在命令中使用setup该选项时configconfig-file-path-name,请输入文件名。

    (选答) 集群存储类名称

    用于创建持久卷声明 (PVC) 的 Kubernetes 存储类的名称。管理微服务使用 PVC 来记录配置状态。在设置过程中看到 Name of the storage class to use for APM config 提示时,请输入 Kubernetes 存储类的名称。

    (选答) 群集存储大小

    要为 APM 预留配置路径的存储量,以兆字节 (MiB) 为单位。

    (选答) apm SSH 服务类型

    如果指定了 对管理 微服务的 SSH 访问 (ssh <ip>:<port>),则必须指定该服务是应创建为节点端口 (NodePort) 服务还是负载均衡器 (LoadBalancer) 服务。如果选中,将 LoadBalancer 创建一个包含提供的外部 IP 地址的 MetalLB 池。在部署时创建的负载均衡器服务将从新创建的 MetalLB 池中分配外部 IP 地址。

    对于单个和多个地理位置设置,您输入 SSH 信息的方式会有所不同。有关您的特定设置,请参阅以下内容:

    • 单一地理位置设置 — 您可以使用命令(选项)ssh提供 SSH 地址setup。如果您提供了带有该ssh选项的 SSH 地址,则设置过程将提示您输入服务类型:

      Type of apm SSH service

      -- LoadBalancer

      -- NodePort

    • 多地理位置设置 — 只能通过模板文件提供 SSH 地址。

    内部 (Docker) 注册表传输地址 (fqdn:port)

    内部注册表传输地址是在推出期间从中提取容器映像的地址。此地址通常与外部注册表地址不同。

    (选答) provman 工作进程数

    provman 工作进程的数量决定了 provman 如何部署并发进程来处理实体工作负载。我们建议您为每个流程规划 20 个实体。每个进程都可以在其运行的节点上消耗一个 CPU 核心。因此,群集中的节点必须具有足够的 CPU 核心来支持 provman 进程的数量(以及节点上可能运行的任何其他工作负载)。

    可以配置 1 到 10 个工作进程(默认为 3)。

  8. 通过运行apm version命令验证 APM 安装。
    • context context-name- 群集的 Kubernetes 上下文名称。

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

在单个地理位置设置中启动 APM

使用此过程可在单个地理位置设置中配置和启动 APM。

  1. Enter rollout 开始 APM 安装。您需要将 rollout 命令与 sudo/as root 一起使用。该 rollout 命令验证新版本所需的所有值是否存在,并将新版本容器映像加载到注册表。用于 sudo -E apm rollout --context context-name 启动 APM 服务。例如:
    • context contex-name- 群集的 Kubernetes 上下文名称。

    注意:

    默认情况下,APM 从您在设置过程中提供的值开始。除非已保存配置,否则初始配置即为设置过程中输入的配置。所有其他持久状态(日志、数据库键等)都将被清除。

  2. 输入以 apm status --context context-name [-o|--output json] [--detail] 验证 APM 服务是否已启动并正在运行。例如:
    注意:

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

    • 服务未运行。

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

准备在多地理位置设置中安装 APM

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

开始之前,请确认您满足 APM 安装的要求(请参阅 表 2)。

先决条件

在开始安装 APM 之前,请确保您具有以下信息:

有关以下信息的说明,请参阅 表 3。

必填信息:

  • 工作负载群集的群集上下文名称。

    例如,您的上下文输出可能如下所示:

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

    注意:

    您必须为所有集群收集以下信息。

    • 外部注册表地址

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

可选信息:

  • APM 初始配置文件。如果未提供配置文件,则会自动生成基本配置文件。
  • 用于创建持久卷声明 (PVC) 的存储类名称(默认值为 jnpr-bbe-storage)。
  • PVC 大小(默认为 90 MiB)。
  • 存档配置详细信息。如果您计划将 APM 配置的副本镜像到外部服务器,则需要这样做。
    • SSH 私钥文件的名称或包含 SSH 私钥的 jnpr-apm 命名空间中存在的 Kubernetes 密钥的名称。

    • 将存档配置文件的服务器的安全复制协议 (SCP) URL。SCP URL 采用 (例如) scp://user@host1.mydomain.com:30443/home/user/configs/apm的形式scp://user-login@server-fqdn:server-port/absolute-file-path。

  • Syslog 服务器详细信息。如果您计划将 APM 日志导出到外部系统日志收集器,则需要这样做。
    注意:

    如果检测到在目标群集上运行 BBE 事件收集和可视化 ,则将建议 ECAV 部署的地址和端口值作为默认值。

    • 系统日志服务器地址。

    • Sysylog 服务器端口号。

  • APMi 详细信息 — 您可以提供特定的 IP 地址,用作每个工作负载群集上 APMi 的外部负载均衡器 IP 地址。如果未提供特定地址,APM 会尝试从网络负载均衡器的默认池中分配外部地址:

    • 外部 IP 地址 - 输入群集节点和实体连接到的子网中的未使用 IP 地址。

    • 端口(默认值为 20557)
    • TLS 详细信息。您将需要以下其中一项:
      • 无(不安全)

      • 密钥和证书文件,或 jnpr-apm 命名空间中存在的包含密钥和证书信息的 Kubernetes 密钥的名称。

  • 操作员间备份通道详细信息(仅适用于多个地理位置设置) — 建议您在连接工作负载集群(和 Submariner 隧道连接)的主子网以外的其他子网上设置备份通道。

    • 外部 IP 地址 - 输入每个地理位置的群集节点连接到的备份子网中的未使用 IP 地址。

    • TLS 详细信息。您将需要以下其中一项:
      • 无(不安全)

      • 密钥和证书文件,或 jnpr-apm 命名空间中存在的包含密钥和证书信息的 Kubernetes 密钥的名称。

  • 服务帐户名称 — 用于将某些操作权限绑定到 管理 微服务的 Kubernetes 服务帐户的名称。如果未提供服务帐户名称,APM 会在上线时创建一个名为 apm-svca 的服务帐户。

  • DBSync 服务类型 — apm multi-cluster status APM 实用程序命令通过 Kubernetes 服务从 DBSync 微服务收集要显示的状态。默认情况下,为此目的创建了节点端口服务。如果选择 LoadBalancer,系统会提示您输入外部 IP 地址,并创建一个包含提供的外部 IP 地址的 MetalLB 池。 LoadBalancer 系统会为部署时创建的服务分配来自新创建的 MetalLB 池的外部 IP 地址。

  • provman 微服务的工作进程数(默认值为 3)。

安装 APM 应用程序(多地理位置设置)

  1. 将 APM 软件包从瞻博网络软件下载页面下载到跳转主机。

    APM 可作为压缩的 TAR (.tgz) 文件使用。文件名中包含版本号作为名称的一部分。版本号的格式为:<Major>.<Minor>.<Maintenance>

    • major 是产品的主要版本号。
    • minor 是产品的次要版本号。
    • maintainance 是修订号。
  2. 在跳转主机上解压 APM TAR (.tgz) 文件,方法是输入:
  3. 解压 TAR 文件后运行加载程序脚本。
  4. 使用命令 sudo -E apm link 链接到群集。在准备运行 setup时,该 link 命令获取工作负载群集上下文列表,并将它们关联到加载的APM软件包。
    • context multi-cluster-context-name- 多地理位置设置的上下文名称。是 multi-cluster-context-name 应用于 link 命令的用户定义字符串,用作两个工作负载群集的通用参考。

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

    • version software-release— APM 软件版本,如输出所示 apm_loader 。

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

    图 1:多地理位置集群 Multiple Geography Cluster
  5. 使用 RHOCP 群集时,您可以在使用 OpenShift CLI 对 OpenShift 群集和三个 RHOCP 群集(管理和两个工作负载群集)进行身份验证后与其交互。

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

  6. 为了推送 APM 容器镜像,您必须在多群集设置中向每个群集上的注册表进行身份验证。通过以 系统用户 (在 BBE Cloudsetup 配置文件中输入的 系统用户 )的身份向群集的注册表传输地址(在 BBE Cloudsetup 配置文件中作为系统地址提供的 FQDN)发出 docker 登录名,向注册表进行身份验证。

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

  7. 运行 setup 以配置您的安装。该 setup 命令执行以下操作:
    • 收集有关群集环境的信息,例如容器注册表联系信息、保护外部接口所需的密钥和证书、持久存储资源以及与支持 APM 功能相关的其他信息。

    • 建立 Kubernetes 部署的操作参数。

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

      • 如果您使用 Rancher Kubernetes Engine2 或 BBE Cloudsetup 创建群集:

        • 外部注册表地址。

        • 外部注册表端口号。

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

        • 外部注册表 (FQDN)

        • 内部 (Docker) 注册表地址

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

      • 出现提示时,为每个工作负载群集输入以下内容:

        • 群集的名称

        • 群集注册表地址和端口号

    注意:

    运行 setup时,您可以通过输入 ^d与设置过程进行交互。

    如果要在输入值后更改值,请输入 ^d。输入 ^d后,将删除您之前输入的值,并将默认值用于问题。您可以将该 ^d 操作用于可选的任何设置问题,或者可以为其提供值列表的任何设置问题。

    以下是设置命令示例:

    注意:

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

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

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

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

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

    • available-port-value- 如果在字段中type输入该NodePort选项,则端口值必须是未在任何工作负载群集节点上使用的 TCP 端口。最佳做法是避免使用已在使用的端口(如常用的 SSH 端口 22),但低于临时端口范围(端口 49152 及更高版本)。这可以避免与节点本身可能发生端口争用。

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

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

    • context multi-cluster-context-name- 多地理位置设置的上下文名称。是 multi-cluster-context-name 应用于 link 命令的用户定义字符串,用作两个工作负载群集的通用参考。

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

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

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

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

    • secrets—更新 APM 使用的密钥、证书和密钥。

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

    • configfile-name— 您希望 APM 在启动期间使用的初始配置文件的名称。

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

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

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

  8. 通过运行apm version命令验证 APM 安装。
    • context multi-cluster-context-name- 多地理位置设置的上下文名称。是 multi-cluster-context-name 应用于 link 命令的用户定义字符串,用作两个工作负载群集的通用参考。

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

在多地理位置设置中启动 APM

使用此过程可在多地理位置设置中配置和启动 APM。

  1. Enter rollout 开始 APM 安装。APM 实用程序允许您为 APM 多地理位置设置中的所有微服务推出不同的软件版本。您需要将命令 rollout 与 sudo 作为 root 一起使用。该 rollout 命令还验证新版本所需的所有值是否存在,并将新版本容器映像加载到注册表。例如:
    • context multi-cluster-context-name- 多地理位置设置的上下文名称。是 multi-cluster-context-name 应用于 link 命令的用户定义字符串,用作两个工作负载群集的通用参考。

    • service service-name- 要部署的微服务名称。

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

    注意:

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

    注意:

    默认情况下,APM 从您在设置过程中提供的值开始。除非已保存配置,否则初始配置是设置期间提供的配置。所有其他持久状态(日志、数据库键等)都将被清除。

  2. 输入以 apm status --context multi-cluster-context-name --detail 验证 APM 服务是否已启动并正在运行。例如:
    注意:

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

    • 服务未运行。

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