部署群集
本主题介绍在虚拟机上部署 Paragon Automation 群集的过程。
创建并准备好节点虚拟机后,在虚拟机上配置群集参数并部署 Paragon Automation 群集。无论部署群集的虚拟机管理程序如何,配置和部署群集的步骤都是相同的。
执行以下步骤以配置和部署 Paragon Automation 群集:
配置节点虚拟机
创建所有节点虚拟机后,请执行以下步骤来配置虚拟机。
连接到第一个 VM 的节点 VM Web 控制台。您将自动以 root 身份登录。
系统会提示您立即更改密码。输入并再次输入新密码。你将自动注销 VM。
注意:建议为所有虚拟机输入相同的密码。如果为虚拟机配置不同的密码,请在部署群集时为群集节点 生成 SSH 密钥 的请求时正确输入不同的密码。
出现提示时,使用新配置的密码以 root 用户身份再次登录。
出现提示时,配置以下信息。
表 1:虚拟机配置向导 提示
行动
您要设置主机名吗?(是/否)
输入 y 配置主机名。
请指定主机名
输入虚拟机的标识主机名。例如:Primary1。主机名应少于 64 个字符,可以包含字母数字和一些特殊字符。
如果未输入主机名,则默认主机名的格式为
controller-<VM-IP-address-4th-octet> is assigned.注意:由于您从一个节点部署群集,并在群集配置过程中输入其他群集的 IP 地址,因此会自动分配角色。要配置的前三个节点是主节点和工作节点,最后一个节点是仅限工作节点。
主机名(以及它们是否与节点的角色匹配)不会影响群集的操作。但是,出于管理目的,我们建议您注意节点的命名方式以及在群集创建步骤中输入节点地址的顺序。
我们不支持在安装群集后更改主机名。
是否要设置静态IP(首选)?(是/否)
输入 y 为虚拟机配置 IP 地址。
请以 CIDR 符号指定 IP 地址
输入 CIDR 表示法中的 IP 地址。例如,10.1.2.3/24。
节点 VM 可以位于同一子网中,也可以位于不同的子网中。
注意:如果输入 10.1.2.3 而不是 10.1.2.3/24,您将看到 IP 地址无效错误消息。
请注明网关 IP
输入网关 IP 地址。
确保输入与节点 VM 的网络对应的网关 IP 地址。
请指定主 DNS IP
输入主 DNS IP 地址。
请指定备用 DNS IP
输入辅助 DNS IP 地址。
是否要设置 IPv6?(是/否)
输入以
y配置 IPv6 地址。如果不想配置 IPv6 地址,请输入
n并继续执行步骤 5。请以 CIDR 表示法指定 IPv6 地址
输入 CIDR 表示法中的 IPv6 地址。例如,2001:db8:1:2::3/64。
节点 VM 可以位于同一子网中,也可以位于不同的子网中。
注意:如果输入 2001:db8:1:2::3 而不是 2001:db8:1:2::3/64,您将看到 IP 地址无效错误消息。
请指定网关 IPv6
输入网关 IPv6 地址。
确保输入与节点 VM 的网络对应的网关 IP 地址。
请指定主 DNS IPv6
输入主 DNS IPv6 地址。
请指定备用 DNS IPv6
输入辅助 DNS IPv6 地址。
当系统提示您确定是否继续时,请查看显示的信息,键入 y 并按 Enter。
您已登录 Paragon Shell。
(选答)验证节点之间的连接。再次登录到所有节点虚拟机。如果您已注销,请使用之前配置的 密码以 root 身份重新登录。您将进入 Paragon Shell 操作模式。键入
exit以进入节点的 Linux 根 shell。使用命令ping static-ipv4-address从每个节点对其他三个节点执行 Ping 命令,以验证节点是否可以相互连接。(选答)在继续部署群集之前,请验证 NTP 服务器是否可访问。在任何一个群集节点上,键入
start shell。出现提示时#,使用命令ping ntp-servers-name-or-address对服务器执行 Ping 命令。如果 ping 不成功,请使用备用 NTP 服务器。
您已完成节点准备步骤,可以部署群集了。
部署群集
执行以下步骤,使用 Paragon Shell CLI 配置和部署 Paragon Automation 群集。
返回到第一个节点 VM (Primary1)。如果您已注销,请使用之前配置的 密码以 root 身份重新登录。您将进入 Paragon Shell 操作模式。
********************************************************************* WELCOME TO PARAGON SHELL! You will now be able to execute Paragon CLI commands! ********************************************************************* root@eop>要配置群集,请在 Paragon Shell 中进入配置模式。
root@eop> configure Entering configuration mode [edit]
配置以下群集参数。
root@eop# set paragon cluster nodes kubernetes 1 address node1-IP [edit] root@eop# set paragon cluster nodes kubernetes 2 address node2-IP [edit] root@eop# set paragon cluster nodes kubernetes 3 address node3-IP [edit] root@eop# set paragon cluster nodes kubernetes 4 address node4-IP [edit] root@eop# set paragon cluster ntp ntp-servers pool.ntp.org [edit] root@eop# set paragon cluster common-services ingress ingress-vip generic-ingress-vIP [edit] root@eop# set paragon cluster applications active-assurance test-agent-gateway-vip TAGW-vIP [edit] root@eop# set paragon cluster applications web-ui web-admin-user "user-admin@juniper.net" [edit] root@eop# set paragon cluster applications web-ui web-admin-password Userpasswd [edit]
地点:
索引 1 到 4 的节点的
kubernetesIP 地址必须与节点虚拟机上配置的 静态 IP 地址 匹配。索引为 1、2 和 3 的 Kubernetes 节点是主节点和工作节点,索引为 4 的节点是仅工作节点。节点 IP 地址可以位于同一子网中,也可以位于不同的子网上。ntp-servers是要同步到的 NTP 服务器。web-admin-userweb-admin-password是第一个用户可用于登录 Web GUI 的电子邮件地址和密码。ingress-vip是通用通用入口的 VIP 地址,用于连接到 Web GUI。test-agent-gateway-vip是 Paragon Active Assurance 测试代理网关 (TAGW) 的 VIP 地址。VIP 地址将添加到设备与 Paragon Automation 建立连接所需的出站 SSH 配置中。
注意:在多子网群集安装中,VIP 地址 不得 与群集节点位于同一子网中。
配置 PCE 服务器 VIP 地址。
root@eop# set paragon cluster applications pathfinder pce-server pce-server-vip PCE-vIP [edit]
地点:
pce-server-vip是 PCE 服务器用于在 Paragon Automation 和设备之间建立路径计算元素协议 (PCEP) 会话的 VIP 地址。VIP 地址可以与群集节点位于同一子网中,也可以位于不同的子网中。VIP adddress 可以位于与其他 VIP 地址不同的子网上。配置路由可观察性和 VIP 地址。
root@eop# set paragon cluster applications routingbot routingbot-crpd-vip v4-crpd-address [edit]
地点:
routingbot-crpd-vip是外部网络设备用作 BMP 站点 IP 地址以建立 BMP 会话的 VIP 地址。警告: 硬件要求中列出了配置路由可观察性功能所需的最低资源。不过,如需估算在生产部署上配置路由可观察性功能所需的资源,请联系您的瞻博网络合作伙伴或瞻博网络销售代表。(选答)启用 AI/ML(人工智能 [AI] 和机器学习 [ML])功能,自动监控与设备运行状况相关的关键性能指标 (KPI)。
root@eop# set paragon cluster applications aiops install-aiml true [edit] root@eop# set paragon cluster applications aiops enable-device-health true [edit]
地点:
install-aiml实现 AI/ML 功能。默认情况下,此功能处于禁用状态。enable-device-health使用 AI/ML 功能配置设备运行状况监视。警告:使用 AI/ML 监视设备运行状况是此版本的 Beta 功能。 硬件要求中列出了配置 AI/ML 功能所需的最低资源。不过,如需了解在生产部署中配置 AI/ML 功能所需的资源,请联系您的瞻博网络合作伙伴或瞻博网络销售代表。(选答)配置 IPv6 地址。
root@eop# set paragon cluster kubernetes address-family cluster-ipv6-enabled true [edit] root@eop# set paragon cluster common-services ingress ingress-vip-ipv6 generic-ingress-IPv6 [edit] root@eop# set paragon cluster applications active-assurance test-agent-gateway-vip-ipv6 TAGW-IPv6 [edit] root@eop# set paragon cluster install prefer-ipv6 true [edit]
地点:
cluster-ipv6-enabled允许对群集使用 IPv6 地址,使群集成为双堆栈。ingress-vip-ipv6是通用通用入口的 IPv6 VIP 地址,用于连接到 Web GUI。test-agent-gateway-vip-ipv6是 Active Assurance TAGW 的 IPv6 VIP 地址。prefer-ipv6配置 IPv6 地址优先于 IPv4 地址的首选项。当设置为true时,如果未配置主机名,则会将 IPv6 VIP 地址添加到出站 SSH 配置中。VIP 地址可以与群集节点位于同一子网中,也可以位于不同的子网中。VIP adddresses 也可以彼此位于不同的子网上。
(选答)如果希望将多个 VIP 地址用于通用入口,请为 NETCONF 和 gNMI 配置其他 VIP 地址。
root@eop# set paragon cluster common-services ingress ingress-vip octerm-gnmi-vIP [edit] root@eop# set paragon cluster applications oc-term oc-term-host address octerm-gnmi-vIP [edit] root@eop# set paragon cluster applications gnmi-term gnmi-term-host address octerm-gnmi-vIP [edit]
地点:
ingress-vip是用于 NETCONF 和 gNMI 的附加 VIP 地址。oc-term-host是要用于 NETCONF 的 VIP 地址。gnmi-term-host是要用于 gNMI 的 VIP 地址。为 NETCONF 和 gNMI 配置的地址将添加到用于采用设备的出站 SSH 配置中。
(选答)如果您的群集节点位于不同的子网中,请使用在每个群集节点中运行的 metalLB 代理在 ToR 路由器和群集节点之间配置 BGP 对等。在此示例中,如 图 2 所示,群集节点 1 和 2 由 ToR1 提供服务,群集节点 3 和 4 由 ToR2 提供服务。
root@eop# set paragon cluster install enable-l3-vip true [edit] root@eop# set paragon cluster common-services metallb metallb-bgp-peer peer-ip ToR1-IP peer-asn ToR1-asn local-asn node-asn local-nodes node1_IP [edit] root@eop# set paragon cluster common-services metallb metallb-bgp-peer peer-ip ToR1-IP peer-asn ToR1-asn local-asn node-asn local-nodes node2_IP [edit] root@eop# set paragon cluster common-services metallb metallb-bgp-peer peer-ip ToR2-IP peer-asn ToR2-asn local-asn node-asn local-nodes [node3_IP node4_IP] [edit] root@eop# set paragon cluster common-services metallb metallb-bgp-peer-ipv6 peer-ip ToR1-IPv6 peer-asn ToR1-asn local-asn node-asn local-nodes [node1_IP node2_IP] [edit] root@eop# set paragon cluster common-services metallb metallb-bgp-peer-ipv6 peer-ip ToR2-IPv6 peer-asn ToR2-asn local-asn node-asn local-nodes [node3_IP node4_IP] [edit]
地点:
enable-l3-vip为群集节点启用 L3 VIP 地址和不同子网中的 VIP 地址。metallb-bgp-peer和metallb-bgp-peer-ipv6分别是 ToR 路由器的 IP 地址和 IPv6 地址。peer-asn是 ToR AS 编号。local-asn是群集节点的 AS 编号。所有群集节点的 AS 编号保持不变。local-nodes是在步骤 3 中配置的群集节点 IP 地址。(选答)如果要为通用入口和 Paragon Active Assurance TAGW 配置主机名,请进行以下配置:
root@eop# set paragon cluster common-services ingress system-hostname ingress-vip-dns-hostname [edit] root@eop# set paragon cluster applications active-assurance test-agent-gateway-hostname nginx-ingress-controller-hostname [edit]
地点:
system-hostname是通用入口虚拟 IP (VIP) 地址的主机名。test-agent-gateway-hostname是 Paragon Active Assurance TAGW VIP 地址的主机名。配置主机名时,主机名优先于 VIP 地址,并会添加到出站 SSH 配置中。主机名可以解析为 IPv4 或 IPv6 VIP 地址,或同时解析为两者。
(选答)为基于 SMTP 的用户管理配置以下设置。
root@eop# set paragon cluster mail-server smtp-relayhost smtp.relayhost.com [edit] root@eop# set paragon cluster mail-server smtp-relayhost-username relayuser [edit] root@eop# set paragon cluster mail-server smtp-relayhost-password relaypassword [edit] root@eop# set paragon cluster mail-server smtp-allowed-sender-domains paragonautomation.net [edit] root@eop# set paragon cluster mail-server smtp-sender-email no-reply@paragonautomation.net [edit] root@eop# set paragon cluster mail-server smtp-sender-name Juniper Paragon Automation [edit] root@eop# set paragon cluster papi papi-local-user-management false [edit] root@eop# set paragon cluster mail-server smtp-enabled true [edit]
地点:
smtp-allowed-sender-domains是 Paragon Automation 向用户发送电子邮件的电子邮件域。smtp-relayhost是中继消息的 SMTP 服务器的名称。smtp-relayhost-username(可选)是访问 SMTP(中继)服务器的用户名。smtp-relayhost-password(可选)是 SMTP(中继)服务器的密码。smtp-allowed-sender-domains是 Paragon Automation 向用户发送电子邮件的电子邮件域。smtp-sender-email是作为发件人的电子邮件地址显示给电子邮件收件人的电子邮件地址。smtp-sender-name是从 Paragon Automation 发送给用户的电子邮件中显示为发件人姓名的名称。papi-local-user-management启用或禁用本地用户管理。mail-server smtp-enabled启用或禁用 SMTP。注意:此时,SMTP 配置是可选的。也可以在部署群集后配置 SMTP 设置。有关如何在群集部署后配置 SMTP 的信息,请参阅 在 Paragon Shell 中配置 SMTP 设置。
(选答)安装自定义用户证书。请注意,在安装用户证书之前,必须将自定义证书文件和证书密钥文件复制到要从中部署群集的节点的 Linux 根 shell 中。将文件复制到 /root/epic/config 文件夹。
root@eop# set paragon cluster common-services ingress user-certificate use-user-certificate true [edit] root@eop# set paragon cluster common-services ingress user-certificate user-certificate-filename "certificate.cert.pem" [edit] root@eop# set paragon cluster common-services ingress user-certificate user-certificate-key-filename "certificate.key.pem" [edit]
地点:
user-certificate-filename是用户证书文件名。user-certificate-key-filename是用户证书密钥文件名。注意:此时,安装证书是可选的。您还可以将 Paragon Automation 配置为在群集部署后使用自定义用户证书。有关如何在群集部署后安装用户证书的信息,请参阅 安装用户证书。
提交配置并退出配置模式。
root@eop# commit commit complete [edit] root@eop# exit Exiting configuration mode root@eop>
生成配置文件。
root@eop> request paragon config Paragon inventory file saved at /epic/config/inventory Paragon config file saved at /epic/config/config.yml
清单文件包含虚拟机的 IP 地址。
config.yml 文件包含部署群集所需的最低Paragon Automation群集配置参数。
该
request paragon config命令还会在 config 目录中生成一个 config.cmgd 文件。config.cmgd 文件包含已执行的所有set命令。如果config.yml文件被无意中编辑或损坏,您可以在配置模式下使用命令load set config/config.cmgd重新部署群集。在群集节点上生成 SSH 密钥。
出现提示时,输入虚拟机的 SSH 密码。输入为登录虚拟机而配置的 相同密码 。
root@eop> request paragon ssh-key Setting up public key authentication for ['node1-IP','node2-IP','node3-IP','node4-IP'] Please enter SSH username for the node(s): root Please enter SSH password for the node(s): password checking server reachability and ssh connectivity ... Connectivity ok for node1-IP Connectivity ok for node2-IP Connectivity ok for node3-IP Connectivity ok for node4-IP SSH key pair generated in node1-IP SSH key pair generated in node2-IP SSH key pair generated in node3-IP SSH key pair generated in node4-IP copied from node1-IP to node1-IP copied from node1-IP to node2-IP copied from node1-IP to node3-IP copied from node1-IP to node4-IP copied from node2-IP to node1-IP copied from node2-IP to node2-IP copied from node2-IP to node3-IP copied from node2-IP to node4-IP copied from node3-IP to node1-IP copied from node3-IP to node2-IP copied from node3-IP to node3-IP copied from node3-IP to node4-IP copied from node4-IP to node1-IP copied from node4-IP to node2-IP copied from node4-IP to node3-IP copied from node4-IP to node4-IP
注意:如果为虚拟机配置了不同的密码,请确保在出现提示时输入相应的密码。
部署群集。
root@eop> request paragon deploy cluster Process running with PID: 231xx03 To track progress, run 'monitor start /epic/config/log' After successful deployment, please exit Paragon-shell and then re-login to the host to finalize the setup
群集部署开始,需要一个多小时才能完成。
注意:运行命令
request paragon deploy cluster时,有时命令可能会失败,因为config.yml为空。使用命令验证file show /epic/config/config.ymlconfig.yml是否为空。执行发行说明:安装和升级部分中详细介绍的步骤,重新填充config.yml文件并重新尝试部署群集。(选答)在屏幕上监控部署的进度。
root@eop> monitor start /epic/config/log
将显示部署的进度。当您在屏幕上看到类似于此内容的输出时,部署完成。
<output snipped> PLAY RECAP ********************************************************************* node1-IP : ok=2397 changed=1015 unreachable=0 failed=0 rescued=0 ignored=15 node2-IP : ok=192 changed=96 unreachable=0 failed=0 rescued=0 ignored=0 node3-IP : ok=192 changed=96 unreachable=0 failed=0 rescued=0 ignored=0 node4-IP : ok=186 changed=95 unreachable=0 failed=0 rescued=0 ignored=0 Thursday 27 February 2025 22:00:57 +0000 (0:00:00.183) 1:01:53.469 ***** =============================================================================== user-registry : Push Docker Images from local registry to paragon registry - 335.76s kubernetes/addons/rook : Wait for Object-Store ------------------------ 213.36s kubernetes/multi-master-rke2 : start rke2 server on 1st master -------- 212.18s jcloud/papi : wait for papi rest api ---------------------------------- 122.19s jcloud/airflow2 : Install Helm Chart ---------------------------------- 117.00s Check if kafka container is up ---------------------------------------- 108.86s Install Helm Chart ---------------------------------------------------- 106.30s kubernetes/addons/postgres-operator : Make sure postgres is fully up and accepting request using regular user -- 73.73s systemd ---------------------------------------------------------------- 62.14s kubernetes/addons/postgres-operator-rb : RB >>> Make sure postgres is fully up and accepting request using regular user -- 52.96s kubernetes/multi-master-rke2 : start rke2 server on other master ------- 51.71s Create Kafka Topics ---------------------------------------------------- 51.48s systemcheck : Get Disk IOPS -------------------------------------------- 49.09s delete existing install config-map - if any ---------------------------- 43.10s paa/timescaledb : Make sure postgres is fully up and accepting request using regular user -- 41.96s kubernetes/multi-master-rke2 : start rke2 server on other master ------- 41.90s Save installer config to configmap ------------------------------------- 41.47s Install Helm Chart ----------------------------------------------------- 35.92s Verify healthbot victoriametrics --------------------------------------- 35.17s kubernetes/addons/vm-operator-rb : Wait for vm storage statefulset and pods -- 31.15s Playbook run took 0 days, 1 hours, 1 minutes, 53 seconds root@eop>
或者,如果您未选择使用命令
monitor在屏幕上监控部署进度,则可以使用命令file show /epic/config/log查看日志文件的内容。日志文件的最后几行必须与 示例输出相似。建议您定期检查日志文件,以监控部署的进度。成功完成部署后,将创建应用程序群集。注销虚拟机,然后再次登录到 Paragon Shell。
控制台输出显示 Paragon Shell 欢迎消息和四个节点(称为控制器 1 到控制器 4)的 IP 地址、Paragon Active Assurance TAGW VIP 地址、Web 管理员用户电子邮件地址和 Web GUI IP 地址。如果配置了 IPv6 地址,则欢迎消息还会显示 IPv6 VIP 地址。
Welcome to Juniper Paragon Automation OVA This Controller IP: node1-IP, node1-IPv6 This VM node1-IP, node1-IPv6 is part of an EPIC on-prem system with IPv6 enabled. ======================================================================================= Controller IP : node1-IP, node2-IP, node3-IP, node4-IP PAA Virtual IP : TAGW-vIP, TAGW-vIPv6 UI : https://generic-ingress-vIP, https://[generic-ingress-vIPv6] Web Admin User : admin-user@juniper.net ======================================================================================= ova: 20250526_1117 build: eop-2.4.X.8952.gbef82aec6b *************************************************************** WELCOME TO PARAGON SHELL! You will now be able to execute Paragon CLI commands! *************************************************************** root@Primary1>CLI 命令提示符将显示您的登录用户名和之前配置的节点主机名。例如,如果输入 Primary1 作为主节点的主机名,则命令提示符为
root@Primary1 >。
您现在可以验证群集部署并登录到 Web GUI。如果从 Paragon Automation 网络外部的外部 IP 地址访问 Web GUI,则必须使用 NAT 将外部 IP 地址映射到 Web GUI IP 地址。转到登录 Web GUI。