第 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. 先决条件
- 您已经从 Red Hat Ansible Automation Platform 产品软件中选择并获取了平台安装程序。
- 您需要在满足基本系统要求的机器上安装。
- 您已将所有软件包更新至 RHEL 节点的当前版本。
如果您在 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 安装程序清单文件指定您的安装场景。
流程
进入安装程序
[Bundled installer]
$ cd ansible-automation-platform-setup-bundle-<latest-version>
[Online installer]
$ cd ansible-automation-platform-setup-<latest-version>
-
使用文本编辑器打开
清单
文件。 -
编辑
清单
文件参数,以指定您的安装场景。请按照以下示例操作。
2.1.3. 自动化控制器节点或非安装程序管理的数据库的清单文件示例
本例描述了如何填充清单文件以安装 Red Hat Ansible Automation Platform。此安装清单文件包含自动化控制器和自动化中心,以及自动化控制器节点或非安装程序管理的数据库上的数据库。
- 您不能在同一节点上安装自动化控制器和自动化 hub。
-
为
[automationhub]
主机提供一个可访问的 IP 地址,以确保用户可以从不同节点的 Private Automation Hub 同步内容。 -
在
registry_username
和registry_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. 设置脚本标志和额外变量
在运行设置脚本以安装自动化控制器时,您还可以传递标志和额外变量:
参数 | 描述 |
---|---|
| 显示帮助信息并退出 |
|
到 Ansible 清单文件的路径(默认: |
| 将额外的 Ansible 变量设置为 key=value 或 YAML/JSON |
| 在安装时执行数据库备份 |
| 在安装时执行数据库恢复 |
| 生成 并分发 SECRET_KEY。 当使用此参数执行 setup.sh 脚本时,默认会为自动化控制器生成并分发一个新的 secret 密钥,但不用于自动化服务目录。
要为自动化控制器和自动服务目录生成并分发新的 secret 密钥,请指定变量 |
使用 --
分隔符添加您希望应用的任何 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
变量 | Description | default |
---|---|---|
| 安装自动化控制器时,请确保 Ansible 也为最新版本 |
|
| 安装 Tower 时还创建 Demo Org 、项目 、凭证 、作业模板等。 |
|
| 在进行捆绑安装时获得捆绑软件仓库的目录 |
|
| 禁用使用 nginx 的 HTTPS 数据,这在将 HTTPS 数据卸载到负载均衡器时非常有用 |
|
| 禁用 HSTS web-security policy 机制 |
|
| nginx 为 HTTP 侦听的端口 |
|
| nginx 为 HTTPS 侦听的端口 |
|
| 备份时要使用的临时位置 |
|
| 指定要从中恢复的备用文件 | None |
| 安装 Tower 所需的最小 RAM(应只在测试安装时修改) |
|
| 最小打开文件描述(应只在测试安装时修改) | None |
|
忽略 preflight 检查,在安装到一个模板或其他非系统镜像时很有用(覆盖 |
|
|
当使用此变量设置为 |
|
例子
- 要升级内核:
./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 所需的参数更新清单
文件后,您可以运行设置脚本。
流程
运行
setup.sh
脚本$ ./setup.sh
安装将开始。
2.1.6. 验证自动化控制器安装
安装完成后,您可以通过使用插入到清单
文件中的 admin 凭据登录来验证自动化控制器是否已成功安装。
流程
-
进入
清单
文件中为自动化控制器节点指定的 IP 地址。 -
使用您在
清单
文件中设置的 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. 其他自动化控制器配置和资源
请参阅以下资源来探索其他自动化控制器配置。
Link | 描述 |
---|---|
设置自动化控制器并运行第一个 playbook | |
通过客户脚本、管理作业等配置自动化控制器管理。 | |
使用代理服务器设置自动化控制器 | |
管理您与红帽共享的自动化控制器信息 | |
更详细地查看自动化控制器功能 |
2.1.7. 验证自动化中心安装
安装完成后,您可以通过使用插入到清单
文件中的 admin 凭据登录来验证自动化中心是否已成功安装。
流程
-
进入
清单
文件中为自动化中心节点指定的 IP 地址。 -
使用您在
清单
文件中设置的 Admin 凭据登录。
如果安装失败,且您购买了 Red Hat Ansible Automation Platform 的有效许可证,请通过红帽客户门户网站 https://access.redhat.com/ 联络 Ansible。
当可以成功登录到自动化 hub 后,则代表您的 Red Hat Ansible Automation Platform 2.2 安装已完成。
2.1.7.1. 其他自动化中心配置和资源
请参阅以下资源来探索额外的自动化中心配置。
Link | 描述 |
---|---|
为自动化 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。