Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在 Ubuntu 上安装先决条件

要成功安装和部署 Paragon Automation 群集,必须具有一个控制主机,可在单个节点或多个群集节点上安装分配软件。您可以下载控制主机上的分发软件,然后创建和配置安装文件,以便从控制主机运行安装。您必须有 互联网访问权限 才能在控制主机上下载软件包。您还必须在群集节点上访问互联网,以下载任何其他软件,如 Docker 和 OS 补丁。 在图 1 中,安装任务的顺序显示在较高级别。

图 1:用于安装 Paragon Automation High-Level Process Flow for Installing Paragon Automation 的高级流程流

下载和安装分发软件之前,必须按照本主题中的说明配置控制主机和群集节点。

准备控制主机

控制主机是用于编排 Paragon Automation 群集的安装和升级的专用机器。它执行 Ansible 操作,运行软件安装器并在集群节点上安装软件,如 控制主机功能所示。

您必须在 Ansible 控制主机上下载安装程序包。作为 Paragon Automation 安装过程的一部分,控制主机会在集群节点上安装所需的任何其他软件包。这些软件包包括可选的 OS 包、Docker 和 Elasticsearch。您的控制节点需要 Internet 访问才能下载软件。所有微服务(包括第三方微服务)均可下载到控制主机上。微服务在安装期间不会访问任何公共注册。

控制主机可以位于不同群集节点的广播域上,不过建议您在同一域中设置节点。无论哪种情况,您都必须确保控制主机可以使用 SSH 连接到所有节点。

图 2:控制主机功能 Control Host Functions

安装完成后,控制主机在集群功能中无作用。但是,您需要控制主机来更新软件或任何组件、更改群集或在节点发生故障时重新安装。您也可使用控制主机存档配置文件。我们建议您在安装后保持控制主机可用,而不是将其用于其他用途。

准备安装过程的控制主机,如下所示:

  1. 安装基本操作系统 — 安装 Ubuntu 版本 18.04.04(或更高版本)。Paragon Automation 版本 21.3 有资格使用 Ubuntu 版本 18.04.05 LTS(仿生海狸)和 20.04.02 LTS(焦点 Fossa)。
  2. 安装 Docker — 在控制主机上安装并配置 Docker 以实施 Linux 容器环境。Paragon Automation 支持 Docker CE 和 Docker EE。您选择在控制主机上安装的 Docker 版本独立于您计划在群集节点中使用的 Docker 版本。

    如果要安装 Docker EE,请确保在安装前已试用或订阅。有关 Docker EE、支持的系统和安装说明的详细信息,请 参阅 https://www.docker.com/blog/docker-enterprise-edition/

    要下载和安装 Docker CE,请执行以下步骤: 要验证 Docker 是否已安装并运行,请使用 命令 # docker run hello-world

    要验证已安装的 Docker 版本,请使用 # docker version# docker --version 命令。

    有关完整说明和更多信息,请 参阅 https://docs.docker.com/engine/install/ubuntu/
  3. 配置 SSH 客户端身份验证 — 在控制主机上运行的安装器使用 SSH 连接到集群节点。用于 SSH 认证的用户帐户必须是具有超级用户 (sudo) 权限的 root 或非根帐户。我们将在后续步骤中将此帐户称为安装用户帐户。您必须确保在集群中的所有节点上配置安装用户帐户。安装程序将使用库存文件来确定要使用的用户名,以及身份验证是使用 ssh-keys 还是密码。请参阅 自定义 Inventory 文件 - 多节点实施自定义库存文件 - 单节点实施

    如果选择 ssh-key 认证(建议)方法,请生成 SSH 密钥。

    如果您想使用直言保护 SSH 密钥,则可以使用 ssh-agent。请 参阅 https://www.ssh.com/academy/ssh/agent

    注意:

    您需要将此密钥复制到节点,作为群集节点准备任务的一部分,如下一节所述。

  4. (可选)安装小部件 —安装wget工具以下载 Paragon Automation 分发软件。

    # apt install wget

    或者,您可以使用 rsync 或任何其他文件下载软件来复制分发软件。

准备群集节点

主节点和工工节点统称为 群集节点。每个群集节点都必须至少有一个静态和唯一的 IP 地址,如 图 3 所示。配置主机名时,仅使用小写字母,不包括“-”或“”之外的任何特殊字符。如果实施具有单独的 IP 网络来提供 Paragon Automation 组件之间的通信,如概述部分所述,则无需在集群之外访问该单独网络中的 IP 地址。但是,您必须分配第二组分配给工人节点的 IP 地址。“ 这些 IP 地址将帮助群集外部的设备到达工人节点,并支持 Paragon Automation 与托管设备之间或 Paragon Automation 与网络管理员之间的通信。

建议将所有节点都放在同一个广播域中。对于不同广播域中的群集节点,请参阅 配置负载平衡 以实现附加负载平衡配置。

图 3:群集节点功能 Cluster Node Functions

Paragon Automation System Requirements 中所述,您可以使用单节点或多节点部署安装 Paragon Automation。除存储要求外,多节点和单节点部署的节点安装先决条件相同。

  1. 配置原始磁盘存储 — 群集节点必须具有带有未分区磁盘或未格式化磁盘分区的原始存储块设备。您还可以对节点进行分区,以便根分区和其他文件系统可以使用可用磁盘空间的一部分。您必须在没有文件系统的情况下将剩余的空间保留给 Ceph 使用。有关更多信息,请参阅 Disk Requirements
    注意:

    您无需安装或配置任何允许 Ceph 存储使用未分区磁盘或未格式化的磁盘分区。这将在安装过程中自动分配。

    对于多节点群集,至少必须有三个附有存储空间的群集节点。

    对于单节点群集,单个节点必须具有存储空间。

    如果 可用的磁盘,安装失败。

    Ceph 需要更新的内核版本。如果您的 Linux 内核非常旧,请考虑升级或重新安装新内核。有关 Ceph 为操作系统支持的最低 Linux 内核版本列表,请 参阅 https://docs.ceph.com/en/latest/start/os-recommendations。要升级 Linux 内核版本,请参阅 升级您的 Ubuntu Linux 内核版本

    注意:

    Ceph 不使用 Linux 内核版本 4.15.0-55.60。

  2. 安装基本操作系统 — 在所有节点上安装 Ubuntu 版本 18.04.04(或更高版本)。Paragon Automation 版本 21.3 有资格使用 Ubuntu 版本 18.04.05 LTS(仿生海狸)和 20.04.02 LTS(焦点 Fossa)。
  3. 创建安装用户帐户 — 安装用户是 Ansible 指南用于登录主节点和工人节点并执行所有安装任务的用户。确保您配置 root 密码或具有超级用户 (sudo) 权限的帐户。您将在安装过程中将此信息添加到库存文件中。
    设置 root 用户密码。
  4. 安装 SSH 身份验证 — 。在控制主机上运行的安装器使用安装用户帐户通过 SSH 连接到集群节点。
    1. 登录集群节点。并在所有节点上安装 Open-ssh 服务器
    2. 编辑 sshd_config 文件。.

      # vi /etc/ssh/sshd_config

    3. 如果您对安装用户帐户使用 root 密码,则允许 root 登录。

      PermitRootLogin yes

      如果您选择使用纯文本密码进行身份验证,则必须启用密码认证。

      PasswordAuthentication yes

      我们不建议使用密码认证。

    4. 如果更改 /等/ssh/sshd_config,请重新启动 SSH 守护程序。

      # systemctl restart sshd

    5. 登录控制主机:
      1. 要允许使用 SSH 密钥进行身份验证,请 将id_rsa.pub 复制到集群节点。

        为集群中 的所有 节点(主要和工人们)重复此步骤。 cluster-node-IP 是节点的独特地址,如 图 3 所示。如果改用主机名,Ansible 控制主机应能够将名称解析至其 IP 地址。

      2. SSH 进入集群节点。您无需密码即可登录。

        验证连接。使用安装用户帐户进行 ssh。

        您应该能够使用 SSH 从控制主机连接到集群中的所有节点(主节点和工作人员)。使用“全用”帐户。如果您无法登录,请查看之前的步骤,并确保您不会错过任何内容。

  5. 安装 Docker — 选择以下 Docker 版本之一进行安装。
    • Docker CE — 如果您想使用 Docker CE,则 无需 将其安装到群集节点上。该 deploy 脚本在 Paragon Automation 安装期间在节点上安装 Docker CE。

    • Docker EE — 如果您想使用 Docker EE,必须在所有集群节点上安装 Docker EE。如果在节点上安装 Docker EE,则deploy脚本将使用已安装的版本,并且不会尝试将 Docker CE 安装到其位置。有关 Docker EE 和支持系统的详细信息,以及下载和安装 Docker EE 的说明,请参阅 https://www.docker.com/blog/docker-enterprise-edition/

    您选择在集群节点中安装的 Docker 版本并不取决于控制主机上安装的 Docker 版本。

  6. 安装 Python —如果 Python 3 未预安装 OS,请安装在群集节点上:

    # apt install python3

    要验证已安装的 Python 版本,请使用 # python3 -V# python3 --version 命令。

  7. 使用 命令# apt list --installed并确保安装以下软件包:

    apt-transport-https, bash-completion, gdisk, iptables, lvm2, openssl

  8. 安装并启用 NTP — 所有节点都必须始终运行网络时间协议 (NTP) 或任何其他时间同步协议。默认情况下,Paragon Automation 会安装 Chrony NTP 客户端。如果您不想使用 Chrony,则可以在所有节点上手动安装 NTP。
    1. 通过查询 NTP 服务器来安装 ntpdate 以同步日期和时间。

      # apt install ntpdate -y

    2. 运行以下命令两次,以减少与 NTP 服务器的偏移。

      # ntpdate ntp-server

    3. 安装 NTP 协议。

      # apt install ntp -y

    4. 配置 NTP 服务器池。

      # vi /etc/ntp.conf

    5. 将默认 Ubuntu 池替换为最靠近文件中 ntp.conf 位置的 NTP 服务器。

      server ntp-server prefer iburst

      保存并退出文件。

    6. 重新启动 NTP 服务。

      # systemctl restart ntp

    7. 确认系统与 NTP 服务器同步。

      # timedatectl

  9. (可选)升级您的 Ubuntu Linux 内核版本要将 Ubuntu 服务器的内核版本升级到最新 LTS 版本,以满足 Paragon Automation 安装的要求:
    1. 以 root 用户身份登录。

    2. 检查现有内核版本:

      root@server# uname -msr

      如果 Linux 内核版本早于 4.15,请升级内核。

    3. 更新附件库:

      root@server# apt update

    4. 升级现有软件包,包括内核升级:

      root@server# apt upgrade -y

      root@server# apt install --install-recommends linux-generic-hwe-xx.xx

      xx.xx这是您的 Ubuntu OS 版本。

    5. 重新启动服务器以加载新内核:

      root@server# reboot
    6. 验证新内核版本:

      root@server# uname -msr

虚拟 IP 地址注意事项

Kubernetes 工务节点托管处理应用程序工作负载的 POD。

Pod 是在 Kubernetes 中创建和管理的最小可部署计算单元。Pod 包含一个或多个容器,包含共享存储和网络资源,以及有关如何运行应用程序的具体说明。容器是最低级别的处理,您可在容器中执行应用程序或微服务。

集群中的主节点确定哪个工人节点将托管特定 Pod 和容器。

您可以使用微服务组合实施 Paragon Automation 的所有功能。在向最终用户(托管设备)和管理员提供服务时,您需要从集群外部访问其中的一些微服务。例如,您必须访问 Pceserver 服务,以便在提供商边缘 (PE) 路由器和 Paragon Automation 之间建立 PCEP 会话。

您需要在 Kubernetes 群集之外公开这些服务,其中包含可从外部设备到达的特定地址。由于服务可以在给定时间在任何工制节点上运行,因此您必须使用虚拟 IP 地址 (VIP) 作为外部地址。您不得将任何给定工人节点的地址用作外部地址。

在此示例中:

请考虑WORKER1_IP = 10.1.x.3 和 WORKER2_IP = 10.1.x.4。

服务 IP = PCEP VIP = 10.1.x.200

PCC_IP = 10.1.x.100

Paragon Automation 使用两种在集群之外公开服务的方法之一:

  • 负载平衡器 — 每个负载平衡器都与特定 IP 地址相关联,并将外部流量路由到集群中的特定服务。这是云中许多 Kubernetes 安装的默认方法。负载平衡器方法支持多个协议和每个服务的多个端口。每个服务都有自己的负载平衡器和 IP 地址。

    Paragon Automation 使用负载平衡器 MetalLB。

  • 入口 — 入口方法用作代理以将流量带入群集,然后使用内部服务路由将流量路由至其目标。在此引擎盖下,此方法还使用负载平衡器服务向世界公开,使其可以作为代理。

    Paragon Automation 使用以下入口代理:

    • 大使
    • Nginx
    • HAProxy

集群外部的设备需要访问以下服务,因此这些服务需要一个 VIP 地址。

所需的 VIP 地址 说明 负载平衡器/代理

入口控制器

用于 Paragon Automation GUI 的 Web 访问。

Paragon Automation 提供了一个通用 Web 服务器,可提供对组件和应用程序的访问。对服务器的访问通过 Kubernetes 入口控制器进行管理。

大使

金属磅

Paragon Insights 服务

用于洞察服务,如 syslog、DHCP 中继和 JTI。

金属磅

Paragon Pathfinder PCE 服务器

用于与网络中的设备建立 PCEP 会话。

金属磅

SNMP 陷阱接收器代理(可选)

只有当需要此功能时,SNMP 陷阱接收器代理的用户。

金属磅

基础架构的 VIP 地址 Nginx 入口控制器

用作 Paragon Pathfinder netflowd 服务器和 Paragon Pathfinder PCE 服务器的代理。

Nginx 入口控制器需要在 MetalLB 负载平衡器池内提供 VIP。这意味着,在安装过程中,您需要将此地址包括在 LoadBalancer IP 地址范围的一部分,您需要在创建配置文件时包括这些地址。

Nginx

金属磅

大使使用的端口:

http 80 (TCP) 重定向到 https

https 443 (TCP)

Paragon Planner 7000 (TCP)

DCS/NETCONF 启动 7804 (TCP)

图 4:大使 Ambassador

Insights Services、PCE 服务器和 SNMP 使用的端口:

  • 洞察服务

    JTI 4000 (UDP)

    DHCP (ZTP) 67 (UDP)

    SYSLOG 514 (UDP)

    SNMP 代理 162 (UDP)

  • PCE 服务器

    PCEP 4189 (TCP)

  • SNMP

    SNMP 陷阱接收器 162 (UDP)

Nginx 控制器使用的端口:

NetFlow 9000 (UDP)

PCEP 4189 (TCP)

在安装过程中,将使用 Nginx 进行 PCEP,您将被问及是否要为 PCEP 启用入口代理。

  • 如果选择“无”或“HAProxy”作为路径计算元素 (PCE) 服务器的代理。

  • 如果选择“Nginx-Ingress”作为 PCE 服务器的代理,则 无需 为表中所述的 PCE 服务器配置 VIP。在这种情况下,基础架构 Nginx 入口控制器的 VIP 地址用于网流和 PCE 服务器。

  • 注意:

    使用 Nginx 的好处是,您可以将单个 IP 地址用于多种服务。

图 5:Nginx 控制器 Nginx Controller

多主节点部署的 VIP 地址

如果您部署带有多个主节点的设置,则需要在与群集节点相同的广播域中增加一个 VIP 地址。此地址将用于当选的主节点和工人节点之间的通信。

在与单个主节点的设置中,工人节点使用分配给该节点的地址作为主节点(节点接口上配置的 IP 地址作为主节点)与主节点通信。

在多主设置中,工人节点使用 VIP 地址与主要功能通信,而不是分配给作为主节点的任何节点的地址。

安装向导将此 IP 地址称为 Kubernetes 主虚拟 IP 地址。MetalLB 负载平衡器的 VIP 地址池 不得 包含此 VIP 地址

注意:

开始 Paragon Automation 安装过程之前,您必须识别出所有必需的 VIP 地址。作为安装过程的一部分,您将被要求输入这些地址。

配置负载平衡

VIP 默认在第 2 层进行管理。当所有群集节点都在同一个广播域中时,每个 VIP 地址将一次分配给一个群集节点。第 2 层模式提供 VIP 故障覆盖,不提供实际负载平衡。要在群集节点之间进行真正的负载平衡,或者如果节点位于不同的广播域中,您必须在第 3 层中配置负载平衡。

您必须配置 BGP 路由器才能将 VIP 地址通告网络。确保 BGP 路由器使用 ECMP 来平衡不同主机之间的 TCP/IP 会话。将 BGP 路由器直接连接到集群节点。

要在群集节点上配置负载平衡,请编辑 config.yml 文件。例如:

在此示例中,192.x.x.1 的 BGP 路由器负责向网络其余部分播发 10.x.x.0/24 前缀的 VIP 地址可达性。群集分配此范围的 VIP 地址,并为可处理该地址的群集节点通告地址。

配置 DNS 服务器(可选)

您可通过入口控制器的 VIP 地址或在网名系统 (DNS) 服务器中配置的主机名访问主 Web 网关,该服务器可解析到入口控制器的 VIP 地址。只有当您想使用主机名访问 Web 网关时,您才需要配置 DNS 服务器。

将主机名添加至 DNS 作为 A、AAAA 或 CNAME 记录。对于实验室和概念验证 (POC) 设置,您可以将主机名添加至群集节点上的 /等/主机 文件。