APM 安装
APM 安装概述
瞻博网络地址池管理器 (APM) 是一个自动化、集中式、基于容器的云原生应用,网络运营商和管理员可使用它来管理 IP 前缀资源。APM 与托管宽带网络网关 (BNG) 合作,以监控 BNG 上的地址池。当可用地址数量降至设定的阈值以下时,BNG 会发出警报。该警报会触发 APM 从其全局前缀列表中分配未使用的前缀,并将前缀的子集作为新池配置到 BNG。
APM 可以安装在单个 Kubernetes 集群上,也可以安装在多地理位置、多集群设置上。这两种设置的安装要求和安装过程是不同的。有关 APM 设置的要求,请参阅以下部分:
本文档中的术语 BNG 也适用于 BNG CUPS 控制器。
您可以在任何满足要求的硬件上部署 APM。以下各节将介绍如下内容:
-
APM 安装要求
-
如何安装APM
-
如何调整 APM 设置参数
APM 安装要求
要安装 APM,您需要满足本节中列出的以下硬件和软件要求。
单一地理位置设置的 APM 要求
APM 安装在由物理或虚拟机 (VM) 组成的 Kubernetes 群集上。为了提高可用性,群集中必须至少有三个节点来托管控制平面的 etcd 函数,并且有三个节点来托管辅助角色函数。
APM 已针对 表 1 中描述的单个地理集群进行了限定。
| 类别 | 详细信息 |
|---|---|
| 簇 |
具有 3 个混合节点的单个群集。 |
| Kubernetes 节点 | Kubernetes 节点需要满足以下条件:
该规范建立了一个可以同时运行 APM 及其配套应用程序(如 BBE 事件收集和可视化以及 BNG CUPS 控制器)的集群。 |
| 跳转主机 |
跳转主机需要满足以下条件:
|
| 群集软件 |
该群集需要以下软件:
|
| 跳转主机软件 |
跳转主机需要以下软件:
|
| 存储 |
名为 jnpr-bbe-storage 的存储类。 |
| 网络负载均衡器地址 |
一个用于 APMi。 |
| 注册表存储 |
每个 APM 版本大约需要 3 GB (GiB) 的容器映像。 |
多地理位置设置的 APM 要求
地理上冗余的多群集 APM 设置由三个独立的 Kubernetes 群集组成。这三个群集中的每一个在地理上都是分开的,因此影响一个群集的服务影响事件不会影响其他群集。组成多群集设置的群集承担特定角色。
一个群集充当管理群集,另外两个群集担任工作负载群集的角色。工作负载群集提供了一个冗余平台,大多数 APM 应用程序都在这里运行。管理集群托管 Karmada 多集群编排软件的执行。Karmada 管理 APM 工作负载在工作负载群集之间的传播。
多群集中的每个 Kubernetes 群集节点都可以从物理或虚拟机 (VM) 构建。
APM 已针对 表 2 中描述的多地理集群进行了限定。
| 类别 | 详细信息 |
|---|---|
| 簇 |
多集群由三个集群组成,每个集群由 3 个混合节点组成。 这三个群集必须由一个管理群集和两个工作负载群集组成。
注意:
请确保每个工作负载群集的群集和服务 CIDR 不重叠。每个工作负载集群的集群内部网络通过 Submariner IP 隧道连接。内部 CIDRS 必须不同。 |
| 管理群集 Kubernetes 节点 |
管理群集 Kubernetes 节点需要满足以下条件:
该规范建立了一个可以同时运行 Karmada 和 ECAV 的集群。 |
| 工作负载群集 Kubernetes 节点 | 工作负载群集 Kubernetes 节点需要满足以下条件:
该规范建立了一个可以同时运行 APM 及其配套应用程序(如 BBE 事件收集和可视化以及 BNG CUPS 控制器)的集群。 |
| 跳转主机 |
跳转主机需要满足以下条件:
|
| 群集软件 |
该群集需要以下软件:
|
| 跳转主机软件 |
跳转主机需要以下软件:
|
| 存储 |
名为 jnpr-bbe-storage 的存储类 |
| 网络负载均衡器地址 |
APMi 的每个工作负载集群上一个,bbe-observer 的管理集群上一个。 |
| 注册表存储 |
每个 APM 版本大约需要 3 GB (GiB) 的容器映像。每个群集是必需的。 |
在单个地理位置 APM 设置中,您可以对群集的参数做出一些基本假设。您可以使用 BBE Cloudsetup 等快速入门工具创建单个地理位置 APM。构建具有多个地理位置和多个群集的生产环境 APM 设置需要您进行更多投入才能构建。
其他要求
BNG 是运行 Junos OS 或瞻博网络 BNG CUPS 控制器(BNG CUPS 控制器)的瞻博网络 MX 系列路由器。
我们推荐以下版本:-
Junos OS 23.4R2-S5 或更高版本
-
BNG CUPS 控制器 24.4R2 或更高版本
对于 APM,请确认您拥有有权下载 APM 软件包的 juniper.net 用户帐户。从不属于 Kubernetes 群集的计算机下载并安装 APM 软件。
安装单个地理位置 APM
使用本节中的过程首次安装单个地理位置 APM。
开始之前,请确认您已满足 APM 安装的要求。
我们建议您在 APM 和 BNG 之间使用安全连接。
您有以下两个安装 APM 的选项:
-
使用 APM 安装实用程序安装单个 Geography APM - 您可以使用 APM 实用程序安装 APM,这简化了安装过程。
注意:BBE Cloudsetup 是一个实用程序,您可以使用它来快速开始使用 APM。它不是群集的生命周期工具。您无法扩展集群的宽度、执行节点维护、升级基础架构组件等。用于生产目的的 Kubernetes 集群的设计和构建应符合生产环境的要求,并有适当的支持以维持其生命周期。(有关 BBE Cloudsetup 的信息,请参阅 BBE Cloudsetup 安装指南。
-
在不使用 APM 实用程序的情况下安装单个 Geography APM - 您可以在您选择的预先存在的 Kubernetes 集群上安装 APM。此过程是一个手动过程,不使用 APM 安装包附带的 APM 实用程序。
在开始 APM 安装之前,请确保您具有以下信息:
必填资料:
- 容器注册表详细信息:
-
如果您使用的是 BBE Cloudsetup 创建的群集。
-
外部注册表地址。
-
外部注册表端口号(通常为 5000)。
-
-
如果您使用的是 Red Hat OpenShift Container Platform 集群:
-
外部注册管理机构(全限定域名)
-
内部 (Docker) 注册表地址
-
内部 (Docker) 注册表端口号
-
-
可选信息:
- APM 初始配置文件。如果未提供配置文件,则会自动生成基本配置文件。
- 用于创建持久性卷声明 (PVC) 的存储类名称(缺省值为 jnpr-bbe-storage)。
- PVC 大小(默认为 90 MiB)。
- 存档配置详细信息。如果计划将 APM 配置的副本镜像到外部服务器,则这是必需的。
-
SSH 私有密钥文件的名称,或包含 SSH 私有密钥的 jnpr-apm 命名空间中存在的 Kubernetes 密钥的名称。
-
将存档配置文件的服务器的安全复制协议 (SCP) URL。SCP URL 的格式
scp://user-login@server-fqdn:server-port/absolute-file-path为(例如,scp://user@host1.mydomain.com:30443/home/user/configs/apm)。
-
- Syslog 服务器详细信息。如果您计划将 APM 日志导出到外部系统日志收集器,这是必需的。
注意:
如果检测到在目标群集上运行 BBE 事件收集和可视化 ,则将建议将 ECAV 部署的地址和端口值作为默认值。
-
Syslog 服务器地址。
-
Sysylog 服务器端口号。
-
- 网络负载均衡器详细信息。如果您计划为 APMi 使用特定的网络负载平衡器池和地址,则这是必需的。
-
网络负载均衡器池名称。
-
网络负载均衡器池地址。
-
- APMi 详细信息:
- 端口(默认为 20557)
- TLS 详细信息。您将需要以下其中一项:
-
无(不安全)
-
密钥和证书文件,或者包含密钥和证书信息的 jnpr-apm 命名空间中存在的 Kubernetes 密钥的名称。
-
-
服务账号名称 - 用于将特定作权限绑定到 管理 微服务的 Kubernetes 服务账号名称。如果未提供服务帐户名称,APM 将在部署期间创建名为 apm-svca 的服务帐户。
-
SSH 服务类型 — 如果指定了 对管理 微服务的 SSH 访问 (
--ssh <ip>:<port>),则必须指定是将服务创建为节点端口 (NodePort) 服务还是负载均衡器 (LoadBalancer) 服务。如果 LoadBalancer 选择此选项,则会创建一个包含提供的外部 IP 地址的 MetalLB 池。在推出时创建的负载均衡器服务将从新创建的 MetalLB 池中分配外部 IP 地址。 -
DBSync 服务类型 - APM
apm multicluster status实用程序命令通过 Kubernetes 服务从 DBSync 微服务收集要显示的状态。默认情况下,会为此目的创建节点端口服务。如果选择LoadBalancer,系统会提示您输入外部 IP 地址,并创建一个包含提供的外部 IP 地址的 MetalLB 池。LoadBalancer在推出时创建的服务将从新创建的 MetalLB 池中分配外部 IP 地址。 - provman 微服务的工作进程数(默认为 3)。
使用 APM 安装实用程序安装单个 Geography APM
如果要安装单个地理位置的 APM,则使用本节中的过程。
在单一地理位置设置中启动 APM
使用此过程可在单个地理设置中配置和启动 APM。
在不使用 APM 实用程序的情况下安装单个 Geography APM
本部分中的说明介绍了在所选的预先存在的 Kubernetes 群集上安装单个地理位置 APM 的安装步骤。此过程是一个手动过程,不使用 APM 安装包附带的 APM 实用程序。
在多地理位置设置中安装 APM
对于由位于不同地理位置的多个 APM 组成的 APM 设置,请使用本节中的安装过程。
开始之前,请确认您满足 APM 安装的要求(请参阅 表 2)。
先决条件
在开始 APM 安装之前,请确保您具有以下信息:
有关以下信息的说明,请参见 表 3。
必填资料:
-
工作负载群集的群集上下文名称、管理群集的 karmada 上下文和管理群集的工作上下文。
例如,您的上下文输出可能如下所示:
kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * karmada-apiserver karmada-apiserver karmada-admin mgmt mgmt mgmt-admin workload-a workload-a workload-a-admin workload-b workload-b workload-b-admin -
Karmada kubeconfig - 管理集群上 Karmada 上下文的 kubeconfig 文件。您可以从 karmada-system 命名空间中的管理集群上下文中提取 Karmada 上下文的 kubeconfig 文件。
有关要运行的命令的示例,请参阅以下内容:
kubectl get secrets -n karmada-system --context management-context-name -o jsonpath='{.data.karmada\.config}' | base64 -d > karmada-secret-file -
每个集群的容器注册表详细信息:
注意:您必须为所有三个群集收集以下信息。
-
外部注册表地址
-
外部注册表端口号(通常为 5000)
-
可选信息:
-
控制器管理器的服务帐户。如果选择
True此提示,系统会提示你输入服务帐户名称。如果未选择True,则会创建名为的服务bbe-observer-controller-manager帐户。 -
gRPC 服务器的服务帐户。如果选择
True此提示,系统会提示你输入服务帐户名称。如果未选择True,则会创建名为的服务bbe-observer-grpc-server帐户。 - APM 初始配置文件。如果未提供配置文件,则会自动生成基本配置文件。
- 用于创建持久性卷声明 (PVC) 的存储类名称(缺省值为 jnpr-bbe-storage)。
- PVC 大小(默认为 90 MiB)。
- 存档配置详细信息。如果计划将 APM 配置的副本镜像到外部服务器,则这是必需的。
-
SSH 私有密钥文件的名称,或包含 SSH 私有密钥的 jnpr-apm 命名空间中存在的 Kubernetes 密钥的名称。
-
将存档配置文件的服务器的安全复制协议 (SCP) URL。SCP URL 的格式
scp://user-login@server-fqdn:server-port/absolute-file-path为(例如,scp://user@host1.mydomain.com:30443/home/user/configs/apm)。
-
- Syslog 服务器详细信息。如果您计划将 APM 日志导出到外部系统日志收集器,这是必需的。
注意:
如果检测到在目标群集上运行 BBE 事件收集和可视化 ,则将建议将 ECAV 部署的地址和端口值作为默认值。
-
Syslog 服务器地址。
-
Sysylog 服务器端口号。
-
- 网络负载均衡器详细信息。如果您计划为 APMi 使用特定的网络负载平衡器池和地址,则这是必需的。
-
网络负载均衡器池名称。
-
网络负载均衡器池地址。
-
- APMi 详细信息:
- 端口(默认为 20557)
- TLS 详细信息。您将需要以下其中一项:
-
无(不安全)
-
密钥和证书文件,或者包含密钥和证书信息的 jnpr-apm 命名空间中存在的 Kubernetes 密钥的名称。
-
-
服务帐户名称 - 用于将某些作权限绑定到 管理 微服务的 Kubernetes 服务帐户的名称。如果未提供服务帐户名称,APM 将在部署期间创建名为 apm-svca 的服务帐户。
-
DBSync 服务类型 - APM
apm multicluster status实用程序命令通过 Kubernetes 服务从 DBSync 微服务收集要显示的状态。默认情况下,会为此目的创建节点端口服务。如果选择LoadBalancer,系统会提示您输入外部 IP 地址,并创建一个包含提供的外部 IP 地址的 MetalLB 池。LoadBalancer在推出时创建的服务将从新创建的 MetalLB 池中分配外部 IP 地址。 - provman 微服务的工作进程数(默认为 3)。
安装 APM 应用程序(多地理位置设置)
在多地理位置设置中启动 APM
使用此过程可在多地理位置设置中配置和启动 APM。
