第 2 章 安装 Red Hat Ansible Automation Platform

Red Hat Ansible Automation Platform 安装涉及部署自动化控制器和自动化中心。

重要

安装程序不需要用户以 root 身份登录来运行 ./setup.sh。用户需要正确配置环境变量 ANSIBLE_BECOME_METHOD 以使用首选的特权升级方法升级到 root。默认方法是 sudo

这个安装选项包括两个支持的情况:

2.1. 使用自动化控制器节点或非安装程序管理的数据库安装 Red Hat Ansible Automation Platform

您可以使用以下说明在自动化控制器节点或非安装程序管理的数据库上安装带有数据库的 Red Hat Ansible Automation Platform(自动化控制器和自动化中心)。

2.1.1. 先决条件

警告

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

  • 您已创建了 Red Hat Registry Service Account,按照创建 Registry 服务账户指南中的说明进行操作。
  • 安装 Ansible Automation Platform 需要容器 registry 服务。通过访问容器 registry,您可以将自动化执行环境加载到 Ansible 自动化平台上,为您提供一致、容器化的环境,用于执行 Ansible playbook 和角色。默认情况下,Ansible Automation Platform 使用 registry.redhat.io,它需要 Red Hat registry 服务帐户。请参阅创建 Registry 服务账户指南来创建 registry 服务帐户。
  • 您必须在所有节点上配置 NTP 客户端。如需更多信息,请参阅使用 Chrony 配置 NTP 服务器

2.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. 编辑清单文件参数,以指定您的安装场景。请按照以下示例操作。

2.1.3. 自动化控制器节点或非安装程序管理的数据库的清单文件示例

本例描述了如何填充清单文件以安装 Red Hat Ansible Automation Platform。此安装清单文件包含自动化控制器和自动化中心,以及自动化控制器节点或非安装程序管理的数据库上的数据库。

重要
  • 您不能在同一节点上安装自动化控制器和自动化 hub。
  • [automationhub] 主机提供一个可访问的 IP 地址,以确保用户可以从不同节点的 Private Automation Hub 同步内容。
  • registry_usernameregistry_password 中输入 Red Hat Registry Service account 凭证以链接到 Red Hat 容器 registry。
[automationcontroller]
controller.acme.org

[automationhub]
automationhub.acme.org

[all:vars]
admin_password='<password>'
pg_host=''
pg_port=''
pg_database='awx'
pg_username='awx'
pg_password='<password>'
pg_sslmode='prefer'  # set to 'verify-full' for client-side enforced SSL

registry_url='registry.redhat.io'
registry_username='<registry username>'
registry_password='<registry password>'

# Automation Hub Configuration
#
automationhub_admin_password='<password>'
automationhub_pg_host='controller.acme.org'
automationhub_pg_port='5432'
automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password='<password>'
automationhub_pg_sslmode='prefer'

# The default install will deploy a TLS enabled Automation Hub.
# If for some reason this is not the behavior wanted one can
# disable TLS enabled deployment.
#
# automationhub_disable_https = False
# The default install will generate self-signed certificates for the Automation
# Hub service. If you are providing valid certificate via automationhub_ssl_cert
# and automationhub_ssl_key, one should toggle that value to True.
#
# automationhub_ssl_validate_certs = False
# SSL-related variables
# If set, this will install a custom CA certificate to the system trust store.
# custom_ca_cert=/path/to/ca.crt
# Certificate and key to install in nginx for the web UI and API
# web_server_ssl_cert=/path/to/tower.cert
# web_server_ssl_key=/path/to/tower.key
# Certificate and key to install in Automation Hub node
# automationhub_ssl_cert=/path/to/automationhub.cert
# automationhub_ssl_key=/path/to/automationhub.key
# Server-side SSL settings for PostgreSQL (when we are installing it).
# postgres_use_ssl=False
# postgres_ssl_cert=/path/to/pgsql.crt
# postgres_ssl_key=/path/to/pgsql.key

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

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

表 2.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

表 2.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

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

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

流程

  1. 运行 setup.sh 脚本

    $ ./setup.sh

安装将开始。

2.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 安装已完成。

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

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

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

Link描述

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

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

自动化控制器管理指南

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

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

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

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

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

自动化控制器用户指南

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

2.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 安装已完成。

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

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

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

Link描述

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

为自动化 hub 配置用户访问

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

在自动化 hub 中添加内容

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

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

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

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

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

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

2.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 创建执行环境。如需更多信息,请参阅 升级到自动化执行环境指南 和 创建和恢复执行环境

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

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

2.1.8.1.3. 迁移到 Ansible Core 2.13

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

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

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

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

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

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