第 4 章 多机器集群安装

您可以使用外部管理的数据库使用自动化中心将 Ansible Automation Platform 安装为集群自动化控制器。在这个模式中,安装并激活多个自动化控制器节点。任何节点都可以接收 HTTP 请求,所有节点都可以执行作业。这会在集群中安装 Ansible Automation Platform 服务器,并将它配置为与 PostgreSQL 的远程实例通信作为其数据库。此远程 PostgreSQL 可以是您管理的服务器,也可以由 Amazon RDS 等云服务提供。

重要

Ansible Automation Platform 安装程序允许您为每个清单仅部署一个自动化中心。您可以将 Ansible Automation Platform 安装程序用于独立的自动化中心实例,并多次使用任何不同的清单运行安装程序来部署多个自动化中心节点。

4.1. 使用外部管理数据库安装多节点 Red Hat Ansible Automation Platform

您可以按照以下说明将 Red Hat Ansible Automation Platform 安装为多个自动化控制器节点和带有外部管理数据库的自动化中心。

4.1.1. 先决条件

警告

如果您在 Ansible Automation Platform 安装前没有完全升级 RHEL 节点,您可能会遇到错误。

4.1.2. 编辑 Red Hat Ansible Automation Platform 安装程序清单文件

您可以使用 Red Hat Ansible Automation Platform 安装程序清单文件指定您的安装场景。

流程

  1. 进入安装程序

    1. [Bundled installer]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [Online installer]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. 使用文本编辑器打开清单文件。
  3. 编辑清单文件参数,以指定您的安装场景。请按照以下示例操作。

4.1.3. Red Hat Ansible Automation Platform 多节点清单文件示例

本例描述了如何为自动化控制器的多节点集群安装填充清单文件。

重要
  • 您不能在同一节点上安装自动化控制器和自动化 hub。
  • [automationhub] 主机提供一个可访问的 IP 地址,以确保用户可以从不同节点的 Private Automation Hub 同步内容。
  • 对于 forpg_password,不要使用特殊字符。可能会导致设置失败。
  • registry_usernameregistry_password 中输入 Red Hat Registry Service account 凭证以链接到 Red Hat 容器 registry。
[automationcontroller]
host1
host11
host12


[automationhub]
host2

[database]
1

[all:vars]
ansible_become=true

admin_password='<password>'

pg_host='dbnode.example.com'
pg_port='5432'

pg_database='tower'
pg_username='tower'
pg_password='<password>'

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'
1
字段应为空。

4.1.4. 设置脚本标志和额外变量

在运行设置脚本以安装自动化控制器时,您还可以传递标志和额外变量:

表 4.1. 标记

参数描述

-h

显示帮助信息并退出

-i INVENTORY_FILE

到 Ansible 清单文件的路径(默认:inventory

-e EXTRA_VARS

将额外的 Ansible 变量设置为 key=value 或 YAML/JSON

-b

在安装时执行数据库备份

-r

在安装时执行数据库恢复

-k

生成 并分发 SECRET_KEY。

当使用此参数执行 setup.sh 脚本时,默认会为自动化控制器生成并分发一个新的 secret 密钥,但不用于自动化服务目录。

要为自动化控制器和自动服务目录生成并分发新的 secret 密钥,请指定变量 rekey_catalog: true

使用 -- 分隔符添加您希望应用的任何 Ansible 参数。例如:./setup.sh -i my_awesome_inventory.yml -e matburt_is_country_gold=True — -K

注意
  • 在进行数据库恢复时使用了 -r,则会使用默认的恢复目录,除非使用 EXTRA_VARS 提供了一个非默认路径。请参阅以下通过 EXTRA_VAR 指定恢复路径的示例:

    ./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
  • 您可以通过使用 -e bundle_install=false 来强制在线安装:

    $ ./setup.sh -e bundle_install=false

表 4.2. 额外变量

变量Descriptiondefault

upgrade_ansible_with_tower

安装自动化控制器时,请确保 Ansible 也为最新版本

False

create_preload_data

安装 Tower 时还创建 Demo Org 、项目 、凭证 、作业模板等。

True

bundle_install_folder

在进行捆绑安装时获得捆绑软件仓库的目录

var/lib/tower-bundle

nginx_disable_https

禁用使用 nginx 的 HTTPS 数据,这在将 HTTPS 数据卸载到负载均衡器时非常有用

False

nginx_disable_hsts

禁用 HSTS web-security policy 机制

False

nginx_http_port

nginx 为 HTTP 侦听的端口

80

nginx_https_port

nginx 为 HTTPS 侦听的端口

443

backup_dir

备份时要使用的临时位置

/var/backups/tower/

restore_backup_file

指定要从中恢复的备用文件

None

required_ram

安装 Tower 所需的最小 RAM(应只在测试安装时修改)

3750

min_open_fds

最小打开文件描述(应只在测试安装时修改)

None

ignore_preflight_errors

忽略 preflight 检查,在安装到一个模板或其他非系统镜像时很有用(覆盖 required_rammin_open_fds

False

rekey_catalog

当使用此变量设置为 true 来执行 setup.sh 脚本时,默认会生成一个新的 secret 密钥,并为自动化控制器和自动服务目录发布。

False

例子

  • 要升级内核:
./setup.sh -e upgrade_ansible_with_tower=1
  • 在 nginx 中禁用 https 处理:
./setup.sh -e nginx_disable_https=true
  • 在从备份文件中恢复时指定非默认路径:
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r

4.1.5. 运行 Red Hat Ansible Automation Platform 安装程序设置脚本

在完成使用安装私有 Automation Hub 所需的参数更新清单文件后,您可以运行设置脚本。

流程

  1. 运行 setup.sh 脚本

    $ ./setup.sh

安装将开始。

4.1.6. 验证自动化控制器安装

安装完成后,您可以通过使用插入到清单文件中的 admin 凭据登录来验证自动化控制器是否已成功安装。

流程

  1. 进入清单文件中为自动化控制器节点指定的 IP 地址。
  2. 使用您在清单文件中设置的 Admin 凭据登录。
注意

自动化控制器服务器可从端口 80(https://<TOWER_SERVER_NAME>/)访问,但会被重定向到端口 443,因此端口 443 需要可以被使用。

重要

如果安装失败,且您购买了 Red Hat Ansible Automation Platform 的有效许可证,请通过红帽客户门户网站 https://access.redhat.com/ 联络 Ansible。

当可以成功登录到自动化控制器后,则代表您的 Red Hat Ansible Automation Platform 2.2 安装已完成。

4.1.6.1. 其他自动化控制器配置和资源

请参阅以下资源来探索其他自动化控制器配置。

表 4.3. 配置自动化控制器的资源

Link描述

自动化控制器快速设置指南

设置自动化控制器并运行第一个 playbook

自动化控制器管理指南

通过客户脚本、管理作业等配置自动化控制器管理。

配置 Red Hat Ansible Automation Platform 的代理支持

使用代理服务器设置自动化控制器

从自动化控制器管理可用性分析和数据收集

管理您与红帽共享的自动化控制器信息

自动化控制器用户指南

更详细地查看自动化控制器功能

4.1.7. 验证自动化中心安装

安装完成后,您可以通过使用插入到清单文件中的 admin 凭据登录来验证自动化中心是否已成功安装。

流程

  1. 进入清单文件中为自动化中心节点指定的 IP 地址。
  2. 使用您在清单文件中设置的 Admin 凭据登录。
重要

如果安装失败,且您购买了 Red Hat Ansible Automation Platform 的有效许可证,请通过红帽客户门户网站 https://access.redhat.com/ 联络 Ansible。

当可以成功登录到自动化 hub 后,则代表您的 Red Hat Ansible Automation Platform 2.2 安装已完成。

4.1.7.1. 其他自动化中心配置和资源

请参阅以下资源来探索额外的自动化中心配置。

表 4.4. 配置自动化控制器的资源

Link描述

在私有自动化 hub 中管理用户访问权限

为自动化 hub 配置用户访问

在自动 Hub 中管理红帽认证的集合和 Ansible Galaxy 集合

在自动化 hub 中添加内容

在自动化 hub 中发布专有内容集合

在自动化 hub 中发布内部开发的集合

4.1.8. Ansible Automation Platform 2.2 的下一步是什么

无论您是希望开始使用自动化的新 Ansible Automation Platform 用户,还是希望将旧的 Ansible 内容迁移到最新版本的 Red Hat Ansible Automation Platform,充分利用 Ansible Automation Platform 2.2 的新功能:

4.1.8.1. 将数据迁移到 Ansible Automation Platform 2.2

对于希望完成升级到 Ansible Automation Platform 2.2 的平台管理员,可能需要额外步骤将数据迁移到新实例:

4.1.8.1.1. 从旧的虚拟环境 (venvs) 迁移到自动化执行环境

通过 Ansible Automation Platform 2.2,您可以从自定义 Python 虚拟环境 (venvs) 转换为使用自动化执行环境 - 它是容器化镜像,包括了执行和扩展 Ansible 自动化所需的组件。这包括 Ansible Core、Ansible 内容集合、Python 依赖项、Red Hat Enterprise Linux UBI 8 以及任何其他软件包依赖项。

如果您希望将 venvs 迁移到执行环境,则需要(1)使用 awx-manage 命令列出并从原始实例中导出 venvs 列表,然后(2)使用 ansible-builder 创建执行环境。如需更多信息,请参阅 升级到自动化执行环境指南 和 创建和恢复执行环境

4.1.8.1.2. 使用 Ansible Builder 迁移至 Ansible Engine 2.9 镜像

要迁移 Ansible Engine 2.9 镜像以用于 Ansible Automation Platform 2.2,ansible-builder 工具会自动重建镜像(包括其自定义插件和依赖项)的过程,供自动化执行环境使用。有关使用 Ansible Builder 构建执行环境的更多信息,请参阅 创建和恢复执行环境

4.1.8.1.3. 迁移到 Ansible Core 2.13

升级到 Ansible Core 2.13 时,您需要更新您的 playbook、插件或其他 Ansible 基础架构的一部分,以便由最新版本的 Ansible Core 支持。有关更新 Ansible Core 2.13 兼容性的步骤,请参阅 Ansible 内核 2.13 端口指南

4.1.8.2. 使用自动化网格扩展自动化

Red Hat Ansible Automation Platform 的自动化网格组件简化了在多站点部署之间分布自动化的过程。对于具有多个隔离的 IT 环境的企业,自动化网格提供了一个一致且可靠的方法,使用对等对网格通信网络在执行节点上部署和扩展自动化。

当从版本 1.x 升级到最新版本的 Ansible Automation Platform 时,您需要将旧隔离节点中的数据迁移到自动化网格所需的执行节点。您可以通过规划混合和控制节点网络来实施自动化中心,然后编辑 Ansible Automation Platform 安装程序中找到的清单文件,为每个执行节点分配与网格相关的值。

有关如何从隔离节点迁移到执行节点的步骤,请参阅升级和迁移指南

有关自动化网格以及为您的环境设计自动化网格的各种方法的信息,请参阅 Red Hat Ansible Automation Platform Automation mesh