Red Hat Ansible Automation Platform 安装指南
安装 Ansible Automation Platform
摘要
前言
感谢您对 Red Hat Ansible Automation Platform 的关注。Ansible Automation Platform 是一个商业产品,它可以帮助团队通过增加控制、知识、协调基于 Ansible 的环境来更好地管理多阶的复杂部署环境。
本指南帮助您了解安装 Ansible Automation Platform 后的安装要求和流程。本文档已更新,以包含 Ansible Automation Platform 最新版本的信息。
对红帽文档提供反馈
如果您对本文档有任何改进建议,或发现错误,请通过 https://access.redhat.com 联系技术支持来创建一个请求。
第 1 章 Red Hat Ansible Automation Platform 安装概述
Red Hat Ansible Automation Platform 安装程序为您提供了灵活性,允许您使用多个支持的安装场景安装 Ansible Automation Platform。从 Ansible Automation Platform 2.4 开始,安装场景包括了可选的 Event-Driven Ansible 控制器部署,它引进了对 IT 请求的自动解析。
无论您选择什么安装方式,安装 Ansible Automation Platform 都涉及以下步骤:
- 编辑 Red Hat Ansible Automation Platform 安装程序清单文件
- Ansible Automation Platform 安装程序清单文件允许您指定安装方式,并描述 Ansible 的主机部署。本文档中提供的示例显示了为您的部署安装该场景所需的参数规格。
- 运行 Red Hat Ansible Automation Platform 安装程序设置脚本
- 设置脚本使用清单文件中定义的所需参数安装您的私有自动化中心。
- 验证自动化控制器安装
- 安装 Ansible Automation Platform 后,您可以通过登录到自动化控制器来验证安装是否成功。
- 验证自动化中心安装
- 安装 Ansible Automation Platform 后,您可以通过登录到自动化中心来验证安装是否成功。
- 验证 Event-Driven Ansible 控制器安装
- 安装 Ansible Automation Platform 后,您可以通过登录到 Event-Driven Ansible 控制器来验证安装是否成功。
其他资源
有关支持的安装场景的更多信息,请参阅 Red Hat Ansible Automation Platform 规划指南。
1.1. 先决条件
- 从 Red Hat Ansible Automation Platform 产品软件中选择并获取了平台安装程序。
- 您需要在满足基本系统要求的机器上安装。
- 您已将所有软件包更新至 RHEL 节点的当前版本。
要防止错误,请在安装 Ansible Automation Platform 前完全升级 RHEL 节点。
- 已使用创建 Registry 服务帐户 中的说明创建了 Red Hat Registry Service Account。
其他资源
有关获取平台安装程序或系统要求的更多信息,请参阅 Red Hat Ansible Automation Platform 规划指南中的 Red Hat Ansible Automation Platform 系统要求。
第 2 章 系统要求
在规划 Red Hat Ansible Automation Platform 安装并设计适合您的用例的自动化网格拓扑时,请使用此信息。
先决条件
-
您可以通过
sudo
命令或特权升级来获取 root 访问权限。如需有关特权升级的更多信息,请参阅了解特权升级。 - 您可以将特权从 root 降级到用户,例如: AWX、PostgreSQL、Event-Driven Ansible 或 Pulp。
- 您已在所有节点上配置了 NTP 客户端。如需更多信息,请参阅使用 Chrony 配置 NTP 服务器。
2.1. Red Hat Ansible Automation Platform 系统要求
您的系统必须满足以下最低系统要求才能安装和运行 Red Hat Ansible Automation Platform。
要求 | 必填 | 备注 |
---|---|---|
Subscription | 有效的 Red Hat Ansible Automation Platform | |
OS | Red Hat Enterprise Linux 8.8 或更高版本 64 位或更高的 64 位版本(x86, ppc64le, s390x, aarch64), Red Hat Enterprise Linux 9.0 or later 64-bit (x86, ppc64le, s390x, aarch64) | OpenShift 也支持 Red Hat Ansible Automation Platform,请参阅在 OpenShift Container Platform 上部署 Red Hat Ansible Automation Platform Operator。 |
ansible-core | ansible-core 版本 2.14 或更高版本 | Ansible Automation Platform 包括包含 ansible-core 2.15 的执行环境。 |
Python | 3.9 或更高版本 | |
浏览器 | 当前支持的 Mozilla FireFox 或 Google Chrome 版本 | |
数据库 | PostgreSQL 版本 13 |
在使用项目更新和集合时,需要满足以下条件:
- 确保 Table 5.3 中列出的 网络端口和协议。Automation Hub 可用于成功连接并从自动化中心或 Ansible Galaxy 服务器下载集合。
- 在使用自签名证书或红帽域时禁用 SSL 检查。
由 Ansible Automation Platform 管理的系统的要求与 Ansible 相同。请参阅 Ansible 社区文档中的安装 Ansible。
有关 Red Hat Ansible Automation Platform 要求的额外备注
- Red Hat Ansible Automation Platform 依赖于 Ansible Playbook,并且需要安装最新版本的 ansible-core。您可以手动下载 ansible-core,也可以作为 Red Hat Ansible Automation Platform 安装的一部分自动下载它。
- 对于新安装,自动化控制器会安装最新版本的 ansible-core。
- 如果执行捆绑的 Ansible Automation Platform 安装,安装 setup.sh 脚本会尝试从捆绑包中安装 ansible-core (及其依赖项)。
- 如果您手动安装 Ansible,Ansible Automation Platform 安装 setup.sh 脚本将检测到已安装了 Ansible,且不会尝试重新安装它。
您必须使用软件包管理器(如 dnf
)安装 Ansible,必须安装软件包管理器的最新稳定版本,以便 Red Hat Ansible Automation Platform 正常工作。版本 2.4 及更新的版本需要 Ansible 2.14 版本。
2.2. 自动化控制器系统要求
自动化控制器是一种分布式系统,不同的软件组件可以并置或部署到多个不同计算节点上。在安装程序中,提供四个节点类型作为抽象层,可帮助您设计适合您的用例的拓扑:控制、混合、执行和跃点节点。
对节点大小使用以下建议:
在控制和混合节点上,为执行环境存储分配至少 20 GB 的 /var/lib/awx
。
执行节点
执行节点运行自动化。增加内存和 CPU 以增加容量来运行更多分叉。
- 执行节点上安装的软件包可能不需要 RAM 和 CPU 资源,但最低建议处理节点的作业负载,以便同时运行平均作业数量。
- 不提供推荐的 RAM 和 CPU 节点大小。所需的 RAM 或 CPU 取决于您在该环境中运行的作业数量。
有关所需 RAM 和 CPU 级别的更多信息,请参阅自动化控制器的性能调整。
要求 | 最低要求 |
---|---|
RAM | 16 GB |
CPU | 4 |
本地磁盘 | 最小 40GB |
控制节点
控制节点处理事件并运行集群作业,包括项目更新和清理作业。增加 CPU 和内存有助于处理作业事件。
要求 | 最低要求 |
---|---|
RAM | 16 GB |
CPU | 4 |
本地磁盘 |
|
hop 节点
hop 节点用于将流量从自动化网格的一个部分路由到另一个网络(例如,hop 节点可以是堡垒主机到另一网络)。RAM 可能会影响吞吐量,CPU 活动较低。网络带宽和延迟通常比 RAM 或 CPU 更重要。
要求 | 最低要求 |
---|---|
RAM | 16 GB |
CPU | 4 |
本地磁盘 | 40 GB |
-
实际 RAM 的要求取决于同时管理的主机自动化控制器数量(这由作业模板或系统
ansible.cfg
文件中的forks
参数控制)。为避免可能的资源冲突,Ansible 建议每 10 个 fork 和 2 GB 保留内存用于自动化控制器。如需更多信息,请参阅自动控制器容量确定和作业影响。如果fork
设为 400,则建议使用 42 GB 内存。 -
自动化控制器主机检查
umask
是否已设置为 0022。如果没有,则设置会失败。设置umask=0022
以避免出现这个错误。 可以处理更多主机,但如果 fork 数量小于主机总数,则需要在主机间通过更多。您可以使用以下方法之一避免这些 RAM 限制:
- 使用滚动更新。
- 使用内置在自动化控制器中的置备回调系统,其中每个请求配置的系统都会进入队列,并尽快处理。
- 如果自动化控制器正在生成或部署镜像,如 AMI。
2.3. Automation hub 系统要求
通过自动化中心,您可以从 Red Hat Ansible 和认证合作伙伴发现并使用新的认证自动化内容。在 Ansible Automation Hub 上,您可以发现和管理由红帽及其合作伙伴开发的自动化内容的 Ansible 集合,用于云自动化、网络自动化和安全自动化等用例。
自动化中心有以下系统要求:
要求 | 必填 | 备注 |
---|---|---|
RAM | 最小 8 GB |
|
CPU | 最少 2 个 | 有关配置中基于 fork 的容量,请参阅 自动化控制器容量确定和作业影响。 |
本地磁盘 | 60 GB 磁盘 |
至少指定 40GB 到 |
Ansible 自动化执行节点和自动化中心系统要求不同,可能无法满足您的网络需求。用于确定您需要多少内存的一般公式为:总控制容量 = 以 MB 为单位的总内存 = 总内存(以 MB 为单位)。
私有自动化中心
如果您从内部地址安装私有自动化中心,并且具有仅包含外部地址的证书,这可能会导致安装无法用作容器 registry,且没有证书问题。
要避免这种情况,请使用 automationhub_main_url
清单变量和值,如 https://pah.example.com 链接到安装清单文件中的私有自动化中心节点。
这会将外部地址添加到 /etc/pulp/settings.py
。这代表,您只使用外部地址。
有关清单文件变量的详情,请参考 Red Hat Ansible Automation Platform 安装指南中的清单文件变量。https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.4/html/red_hat_ansible_automation_platform_installation_guide/appendix-inventory-files-vars
2.3.1. 高可用性自动化中心要求
在部署高可用性 (HA) 自动化中心前,请确保在您的环境中安装了共享文件系统,并配置了网络存储系统(如果适用)。
2.3.1.2. 为网络存储安装 firewalld
如果要使用自动化 hub 节点本身的网络存储安装 HA 自动化中心,您必须首先安装和使用 firewalld
,以根据共享存储系统的要求打开共享存储系统所需的端口,然后才能运行 Ansible Automation Platform 安装程序。
执行以下命令安装和配置 firewalld
:
安装
firewalld
守护进程:$ dnf install firewalld
使用以下命令在 <service> 下添加网络存储:
$ firewall-cmd --permanent --add-service=<service>
注意如需支持的服务列表,请使用
$ firewall-cmd --get-services
命令重新载入以应用配置:
$ firewall-cmd --reload
2.4. 事件驱动 Ansible 控制器系统要求
Event-Driven Ansible 控制器是一个可以处理长时间运行的进程数(如规则手册激活)的单节点系统,具体取决于 CPU 内核数。默认情况下,使用以下最低要求来运行,最多 12 个并发激活:
要求 | 必填 |
---|---|
RAM | 16 GB |
CPU | 4 |
本地磁盘 | 最小 40 GB |
- 如果您正在运行 Red Hat Enterprise Linux 8 并希望设置内存限值,则必须在安装 Event-Driven Ansible 前启用 cgroup v2。具体步骤请查看 知识库支持(KCS)文章,Red Hat Enterprise Linux 8 的 Ansible Automation Platform Event-Driven Ansible 控制器需要 cgroupv2。
- 当您在标准条件下激活 Event-Driven Ansible 规则手册时,它使用大约 250 MB 内存。但是,根据规则的复杂性以及处理事件的卷和大小,实际内存消耗可能会很大不同。在预计大量事件或规则手册复杂性很高的情况下,对暂存环境中的资源使用情况进行初步评估。这样可确保您的激活的最大数量取决于您的资源容量。如需设置 Event-Driven Ansible 控制器最大运行激活的示例,请参阅单一自动化控制器、单一自动化中心和带有外部(安装程序管理的)数据库 的单个 Event-Driven Ansible 控制器节点。
2.5. PostgreSQL 要求
Red Hat Ansible Automation Platform 使用 PostgreSQL 13。在将 PostgreSQL 用户密码保存到数据库前,会使用 SCRAM-SHA-256 安全散列算法对其进行处理。
要确定您的自动化控制器实例是否可以访问数据库,您可以使用 awx-manage check_db
命令。
Service | 必填 | 备注 |
---|---|---|
数据库 |
|
|
PostgreSQL 配置
另外,您可以将 PostgreSQL 数据库配置为不由 Red Hat Ansible Automation Platform 安装程序管理的独立节点。当 Ansible Automation Platform 安装程序管理数据库服务器时,它会使用通常为大多数工作负载推荐的默认值配置服务器。有关可以用来提高数据库性能的设置的更多信息,请参阅 数据库设置。
其他资源
有关调整 PostgreSQL 服务器的更多信息,请参阅 PostgreSQL 文档。
2.5.1. 设置外部(客户支持)数据库
红帽不支持使用外部(客户支持)数据库,但客户使用它。以下有关 inital 配置的指导只从产品安装角度提供,以避免相关的支持请求。
要在外部 PostgreSQL 兼容数据库中创建用于自动化控制器的数据库、用户和密码,请使用以下步骤。
流程
安装,然后连接到具有超级用户权限的 PostgreSQL 兼容数据库服务器。
# psql -h <db.example.com> -U superuser -p 5432 -d postgres <Password for user superuser>:
其中:
-h hostname --host=hostname
指定运行服务器的机器的主机名。如果该值以斜杠开头,它将用作 Unix-domain 套接字的目录。
-d dbname --dbname=dbname
指定要连接到的数据库的名称。这等同于将
dbname
指定为命令行中的第一个非选项参数。dbname
可以是连接字符串。如果是,则连接字符串参数会覆盖任何冲突的命令行选项。-U username --username=username
以用户
用户名
而非默认值连接到数据库。(您必须有权限才能这样做。)-
使用分配给用户的
createDB
或管理员角色,创建用户、数据库和密码。如需更多信息,请参阅 数据库角色。 将数据库凭据和主机详情作为外部数据库添加到自动化控制器清单文件。
以下示例中使用了默认值。
[database] pg_host='db.example.com' pg_port=5432 pg_database='awx' pg_username='awx' pg_password='redhat'
运行安装程序。
如果您将 PostgreSQL 数据库与自动化控制器搭配使用,则数据库由 connect 用户所有,且必须为其分配
createDB
或管理员角色。- 检查您是否能够使用用户、密码和数据库名称连接到创建的数据库。
-
检查用户的权限,该用户应具有
createDB
或 administrator 角色。
在此过程中,您必须检查外部数据库覆盖。如需更多信息,请参阅 https://access.redhat.com/articles/4010491
2.5.2. 为自动化中心 PostgreSQL 数据库启用 hstore 扩展
在 Ansible Automation Platform 2.4 中,数据库迁移脚本使用 hstore
字段来存储信息,因此必须启用对自动化中心 PostgreSQL 数据库的 hstore
扩展。
使用 Ansible Automation Platform 安装程序和受管 PostgreSQL 服务器时,此过程是自动的。
如果 PostgreSQL 数据库是外部的,则必须在自动化中心安装前手动为自动化中心 PostreSQL 数据库启用 hstore
扩展。
如果在自动化中心安装前没有启用 hstore
扩展,在数据库迁移过程中会引发故障。
流程
检查 PostgreSQL 服务器上是否有扩展(自动化 hub 数据库)。
$ psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
其中
<automation hub database>
的默认值为automationhub
。带有
hstore
可用的输出示例 :name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)
带有
hstore
不可用的输出示例 :name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)
在基于 RHEL 的服务器上,
hstore
扩展包含在postgresql-contrib
RPM 软件包中,该软件包在安装 PostgreSQL 服务器 RPM 软件包时不会自动安装。要安装 RPM 软件包,请使用以下命令:
dnf install postgresql-contrib
使用以下命令,在自动化中心数据库上创建
hstore
PostgreSQL 扩展:$ psql -d <automation hub database> -c "CREATE EXTENSION hstore;"
输出:
CREATE EXTENSION
在以下输出中,
installed_version
字段包含使用的hstore
扩展,表示启用了hstore
。name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)
2.5.3. Ansible Automation Platform PostgreSQL 数据库的基准测试存储性能
使用 Flexible I/O Tester (FIO)工具检查是否满足最低 Ansible Automation Platform PostgreSQL 数据库要求。FIO 是一个用于对存储系统的读取和写入 IOPS 性能进行基准测试的工具。
先决条件
您已安装了 Flexible I/O Tester (
fio
)存储性能基准工具。要安装
fio
,请以 root 用户身份运行以下命令:# yum -y install fio
您有足够的磁盘空间来存储
fio
测试数据日志文件。该流程中显示的示例至少需要 60GB 磁盘空间在
/tmp
目录中:-
numjobs
设置由 命令运行的作业数量。 -
size=10G
设置每个作业生成的文件大小。
-
-
您已调整了
size
参数的值。调整此值可减少测试数据量。
流程
运行随机写入测试:
$ fio --name=write_iops --directory=/tmp --numjobs=3 --size=10G \ --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 \ --verify=0 --bs=4K --iodepth=64 --rw=randwrite \ --group_reporting=1 > /tmp/fio_benchmark_write_iops.log \ 2>> /tmp/fio_write_iops_error.log
运行随机读测试:
$ fio --name=read_iops --directory=/tmp \ --numjobs=3 --size=10G --time_based --runtime=60s --ramp_time=2s \ --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randread \ --group_reporting=1 > /tmp/fio_benchmark_read_iops.log \ 2>> /tmp/fio_read_iops_error.log
查看结果:
在基准命令编写的日志文件中,搜索以
iops
开头的行。此行显示测试的最小、最大值和平均值。以下示例显示了日志文件中随机读取测试的行:
$ cat /tmp/fio_benchmark_read_iops.log read_iops: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 […] iops : min=50879, max=61603, avg=56221.33, stdev=679.97, samples=360 […]
您必须根据您自己的业务需求、应用程序工作负载和新需求审核、监控和重新查看日志文件。
第 3 章 安装 Red Hat Ansible Automation Platform
Ansible Automation Platform 是一个模块化平台。您可以使用其他自动化平台组件部署自动化控制器,如自动化中心和 Event-Driven Ansible 控制器。如需有关 Ansible Automation Platform 提供的组件的更多信息,请参阅 Red Hat Ansible Automation Platform 计划指南中的 Red Hat Ansible Automation Platform 组件。
Red Hat Ansible Automation Platform 有几个支持的安装场景。要安装 Red Hat Ansible Automation Platform,您必须编辑 inventory 文件参数来指定您的安装场景。您可以将以下之一用作您自己的清单文件的基础:
3.1. 编辑 Red Hat Ansible Automation Platform 安装程序清单文件
您可以使用 Red Hat Ansible Automation Platform 安装程序清单文件指定您的安装场景。
流程
进入安装程序:
[RPM 安装的软件包]
$ cd /opt/ansible-automation-platform/installer/
[Bundled installer]
$ cd ansible-automation-platform-setup-bundle-<latest-version>
[Online installer]
$ cd ansible-automation-platform-setup-<latest-version>
-
使用文本编辑器打开
清单
文件。 -
编辑
清单
文件参数,以指定您的安装场景。您可以使用其中一个支持的安装场景 示例 作为清单文件
的基础。
其他资源
- 如需 Ansible 安装清单文件中使用的预定义变量的完整列表,请参阅清单文件变量。
3.2. 基于安装场景的清单文件示例
红帽支持多种 Ansible Automation Platform 安装场景。您可以使用示例文件作为基础开发自己的清单文件,也可以使用最接近您首选安装场景的示例。
3.2.1. 基于安装场景的清单文件建议
在为 Ansible Automation Platform 选择安装方法前,请查看以下建议。熟悉这些建议可简化安装过程。
-
Red Hat Ansible Automation Platform 或 Automation hub:在
[automationhub]
组中添加一个 Automation hub 主机。 - 对于生产环境或客户环境中的 Ansible Automation Platform 版本,不要在同一节点上安装自动化控制器和自动化中心。这可能导致争用问题和大量资源的使用。
为
[automationhub]
和[automationcontroller]
主机提供可访问 IP 地址或完全限定域名(FQDN),以确保用户可以从不同节点从自动化中心同步和安装内容。FQDN 不得包含
-
或_
符号,因为它无法正确处理。不要使用
localhost
。-
admin
是初始登录到 Ansible Automation Platform 的默认用户 ID,不能在清单文件中更改。 -
在
pg_password
中使用特殊字符是有限的。支持!
,#
,0
和@
字符。使用其他特殊字符可能会导致设置失败。 -
在
registry_username
和registry_password
中输入 Red Hat Registry Service account 凭证以链接到 Red Hat 容器 registry。 -
只有在使用非捆绑包安装程序时,才需要清单文件变量
registry_username
和registry_password
。
3.2.1.1. 带有外部(安装程序管理的)数据库的单一自动化控制器
使用本示例填充清单文件来安装 Red Hat Ansible Automation Platform。此安装清单文件包含单一自动化控制器节点,单独节点上具有外部数据库。
[automationcontroller] controller.example.com [database] data.example.com [all:vars] admin_password='<password>' pg_host='data.example.com' pg_port=5432 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>' # 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 # 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
3.2.1.2. 单个自动化控制器和带有外部(安装程序管理的)数据库的单一自动化中心
使用本示例填充清单文件,以使用外部(安装程序管理)数据库部署单一自动化控制器和自动化中心实例。
[automationcontroller] controller.example.com [automationhub] automationhub.example.com [database] data.example.com [all:vars] admin_password='<password>' pg_host='data.example.com' pg_port='5432' 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>' automationhub_admin_password= <PASSWORD> automationhub_pg_host='data.example.com' 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 Automation Hub node # automationhub_ssl_cert=/path/to/automationhub.cert # automationhub_ssl_key=/path/to/automationhub.key # 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 # 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
3.2.1.2.1. 将自动化中心连接到 Red Hat Single Sign-On 环境
您可以进一步配置清单文件,将自动化中心连接到 Red Hat Single Sign-On 安装。
在连接到由 Ansible Automation Platform 管理的 Red Hat Single Sign-On 安装时,您必须配置不同的变量集合,而不是连接到外部 Red Hat Single Sign-On 安装。
如需有关这些清单变量的更多信息,请参阅为 Ansible Automation Platform 安装和配置中央身份验证。
3.2.1.2.2. 高可用性自动化中心
使用以下示例填充清单文件来安装高度可用的自动化中心。此清单文件包含一个具有集群设置的高可用性自动化中心。
您可以进一步配置 HA 部署来实现 Red Hat Single Sign-On,并在 SELinux 中启用自动化中心的高可用性部署。
指定数据库主机 IP
-
使用
automation_pg_host
和automation_pg_port
清单变量指定数据库主机的 IP 地址。例如:
automationhub_pg_host='192.0.2.10' automationhub_pg_port=5432
-
另外,使用
automationhub_pg_host
清单变量中的值,在 [database] 部分中指定数据库主机的 IP 地址:
[database] 192.0.2.10
列出集群设置中的所有实例
-
如果安装集群设置,请将 [automationhub] 部分中的
localhost ansible_connection=local
替换为所有实例的主机名或 IP。例如:
[automationhub] automationhub1.testing.ansible.com ansible_user=cloud-user ansible_host=192.0.2.18 automationhub2.testing.ansible.com ansible_user=cloud-user ansible_host=192.0.2.20 automationhub3.testing.ansible.com ansible_user=cloud-user ansible_host=192.0.2.22
后续步骤
检查每个私有自动化中心服务器的 /etc/pulp/settings.py
中是否存在以下指令:
USE_X_FORWARDED_PORT = True USE_X_FORWARDED_HOST = True
如果没有指定 Automationhub_main_url
,则默认使用 [automationhub] 组中的第一个节点。
3.2.1.2.3. 在 SELinux 中启用自动化中心的高可用性(HA)部署
您可以配置清单文件,以便在 SELinux 中启用自动化中心的高可用性部署。您必须为 /var/lib/pulp
和 /var/lib/pulp/pulpcore_static
创建两个挂载点,然后为每个上下文分配适当的 SELinux 上下文。
您需要为 /var/lib/pulp
添加上下文,并在为 /var/lib/pulp
添加上下文前运行 Ansible Automation Platform 安装程序。
先决条件
- 您已在服务器上配置了 NFS 导出。
流程
在
/var/lib/pulp
中创建挂载点:$ mkdir /var/lib/pulp/
使用文本编辑器打开
/etc/fstab
,然后添加以下值:srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache 0 0 srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0
运行 reload systemd manager configuration 命令:
$ systemctl daemon-reload
为
/var/lib/pulp
运行 mount 命令:$ mount /var/lib/pulp
在
/var/lib/pulp/pulpcore_static
处创建一个挂载点:$ mkdir /var/lib/pulp/pulpcore_static
运行 mount 命令:
$ mount -a
设置挂载点后,运行 Ansible Automation Platform 安装程序:
$ setup.sh -- -b --become-user root
-
安装完成后,卸载
/var/lib/pulp/
挂载点。
其它资源
- 如需 SELinux 上下文列表,请参阅 Pulp 项目文档的 SELinux 要求。
- 有关 Pulp 文件夹的完整描述,请参阅 Filesystem Layout。
3.2.1.2.4. 配置 pulpcore.service
配置清单文件并应用 SELinux 上下文后,您需要配置 pulp 服务。
流程
设置了两个挂载点,关闭 Pulp 服务以配置
pulpcore.service
:$ systemctl stop pulpcore.service
使用
systemctl
编辑pulpcore.service
:$ systemctl edit pulpcore.service
将以下条目添加到
pulpcore.service
中,以确保自动化中心服务仅在启动网络并挂载远程挂载点后启动:[Unit] After=network.target var-lib-pulp.mount
启用
remote-fs.target
:$ systemctl enable remote-fs.target
重启系统:
$ systemctl reboot
故障排除
pulpcore SELinux 策略中存在一个错误,可能会导致 etc/pulp/certs/
中的令牌身份验证的公钥/私钥没有正确的 SELinux 标签,从而导致 pulp 进程失败。当发生这种情况时,运行以下命令临时附加正确的标签:
$ chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem
重复此命令,以便在重新标记系统时重新附加正确的 SELinux 标签。
3.2.1.2.5. 应用 SELinux 上下文
配置清单文件后,您必须应用上下文以便在 SELinux 上启用自动化中心的高可用性(HA)部署。
流程
关闭 Pulp 服务:
$ systemctl stop pulpcore.service
卸载
/var/lib/pulp/pulpcore_static
:$ umount /var/lib/pulp/pulpcore_static
卸载
/var/lib/pulp/
:$ umount /var/lib/pulp/
使用文本编辑器打开
/etc/fstab
,然后使用以下内容替换/var/lib/pulp
的现有值:srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0
运行 mount 命令:
$ mount -a
3.2.1.3. 在私有自动化 hub 中配置内容签名
要成功签名并发布 Ansible 认证的内容集合,您必须配置私有自动化中心进行签名。
前提条件
- 您的 TIPC 密钥对已安全设置并管理您的机构。
- 您的公钥-私钥对有权在私有自动化中心上配置内容签名。
流程
创建只接受文件名的签名脚本。
注意此脚本充当签名服务,必须使用通过
PULP_SIGNING_KEY_FINGERPRINT
环境变量指定的密钥为该文件生成 ascii-armored 分离gpg
签名。该脚本打印一个 JSON 结构,其格式如下:
{"file": "filename", "signature": "filename.asc"}
所有文件名都是当前工作目录中的相对路径。对于分离的签名,文件名必须保持相同。
Example:
以下脚本为内容生成签名:
#!/usr/bin/env bash FILE_PATH=$1 SIGNATURE_PATH="$1.asc" ADMIN_ID="$PULP_SIGNING_KEY_FINGERPRINT" PASSWORD="password" # Create a detached signature gpg --quiet --batch --pinentry-mode loopback --yes --passphrase \ $PASSWORD --homedir ~/.gnupg/ --detach-sign --default-key $ADMIN_ID \ --armor --output $SIGNATURE_PATH $FILE_PATH # Check the exit status STATUS=$? if [ $STATUS -eq 0 ]; then echo {\"file\": \"$FILE_PATH\", \"signature\": \"$SIGNATURE_PATH\"} else exit $STATUS fi
部署私有自动化中心后,为 Ansible Automation Platform 集群启用了签名后,会在集合中会显示新的 UI。
查看 Ansible Automation Platform 安装程序清单文件中的以
automationhub_*
开头的选项。[all:vars] . . . automationhub_create_default_collection_signing_service = True automationhub_auto_sign_collections = True automationhub_require_content_approval = True automationhub_collection_signing_service_key = /abs/path/to/galaxy_signing_service.gpg automationhub_collection_signing_service_script = /abs/path/to/collection_signing.sh
两个新密钥(automationhub_auto_sign_collections 和 automationhub_require_content_approval)表示必须签名集合,并在上传到私有自动化中心后需要批准。
3.2.1.4. 私有自动化中心上的 LDAP 配置
您必须在 Red Hat Ansible Automation Platform 安装程序清单文件中设置以下六个变量,以配置用于 LDAP 身份验证的私有自动化中心:
-
automationhub_authentication_backend
-
automationhub_ldap_server_uri
-
automationhub_ldap_bind_dn
-
automationhub_ldap_bind_password
-
automationhub_ldap_user_search_base_dn
-
automationhub_ldap_group_search_base_dn
如果缺少其中任何这些变量,Ansible Automation 安装程序将无法完成安装。
3.2.1.4.1. 设置清单文件变量
当使用 LDAP 身份验证配置私有自动化中心时,您必须在安装过程中在清单文件中设置正确的变量。
流程
- 根据 编辑 Red Hat Ansible Automation Platform 安装程序清单文件 中的步骤访问您的清单文件。
使用以下示例来设置 Ansible Automation Platform 清单文件:
automationhub_authentication_backend = "ldap" automationhub_ldap_server_uri = "ldap://ldap:389" (for LDAPs use automationhub_ldap_server_uri = "ldaps://ldap-server-fqdn") automationhub_ldap_bind_dn = "cn=admin,dc=ansible,dc=com" automationhub_ldap_bind_password = "GoodNewsEveryone" automationhub_ldap_user_search_base_dn = "ou=people,dc=ansible,dc=com" automationhub_ldap_group_search_base_dn = "ou=people,dc=ansible,dc=com"
注意以下变量将使用默认值设置,除非您使用其他选项进行了设置。
auth_ldap_user_search_scope= 'SUBTREE' auth_ldap_user_search_filter= '(uid=%(user)s)' auth_ldap_group_search_scope= 'SUBTREE' auth_ldap_group_search_filter= '(objectClass=Group)' auth_ldap_group_type_class= 'django_auth_ldap.config:GroupOfNamesType'
- 可选:在私有自动化中心中设置额外的参数,如用户组、超级用户访问或镜像。前往 配置额外的 LDAP 参数 以完成此可选步骤。
3.2.1.4.2. 配置额外的 LDAP 参数
如果您计划设置超级用户访问权限、用户组、镜像或其他额外参数,您可以创建一个在 ldap_extra_settings
字典中组成它们的 YAML 文件。
流程
创建一个包含
ldap_extra_settings
的 YAML 文件。Example:
#ldapextras.yml --- ldap_extra_settings: <LDAP_parameter>: <Values> ...
添加设置所需的任何参数。以下示例描述了您可以在
ldap_extra_settings
中设置的 LDAP 参数:使用本示例根据 LDAP 组中的成员资格设置超级用户标志。
#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_USER_FLAGS_BY_GROUP: {"is_superuser": "cn=pah-admins,ou=groups,dc=example,dc=com",} ...
使用本示例设置超级用户访问权限。
#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_USER_FLAGS_BY_GROUP: {"is_superuser": "cn=pah-admins,ou=groups,dc=example,dc=com",} ...
使用本示例来镜像(mirror)您属于的所有 LDAP 组。
#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_MIRROR_GROUPS: True ...
使用本示例映射 LDAP 用户属性(如用户名、姓氏和电子邮件地址)。
#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_USER_ATTR_MAP: {"first_name": "givenName", "last_name": "sn", "email": "mail",} ...
使用以下示例根据 LDAP 组成员资格授予或拒绝访问权限:
要授予私有自动化中心访问权限(例如,
cn=pah-nosoupforyou,ou=groups,dc=example,dc=com
组的成员):#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_REQUIRE_GROUP: 'cn=pah-nosoupforyou,ou=groups,dc=example,dc=com' ...
拒绝私有自动化中心访问(例如,
cn=pah-nosoupforyou,ou=groups,dc=example,dc=com
组的成员):#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_DENY_GROUP: 'cn=pah-nosoupforyou,ou=groups,dc=example,dc=com' ...
使用本示例启用 LDAP 调试日志记录。
#ldapextras.yml --- ldap_extra_settings: GALAXY_LDAP_LOGGING: True ...
注意如果重新运行
setup.sh
或在短时间内启用了调试日志,则可以将包含GALAXY_LDAP_LOGGING: True
的行手动添加到私有自动化中心上的/etc/pulp/settings.py
文件。重启pulpcore-api.service
和nginx.service
以使更改生效。为了避免因为人为错误而失败,请仅在需要时使用此方法。通过设置变量
AUTH_LDAP_CACHE_TIMEOUT
,使用本示例配置 LDAP 缓存。#ldapextras.yml --- ldap_extra_settings: AUTH_LDAP_CACHE_TIMEOUT: 3600 ...
-
在私有自动化中心安装过程中运行
setup.sh -e @ldapextras.yml
。验证您已正确设置,请确认您可以在私有自动化中心上的/etc/pulp/settings.py
文件中查看所有设置。
3.2.1.4.3. LDAP 引用
如果您的 LDAP 服务器返回引用,您可能需要禁用引用才能在私有自动化中心中使用 LDAP 成功进行身份验证。
如果没有,则返回以下信息:
Operation unavailable without authentication
要禁用 LDAP REFERRALS 查找,请设置:
GALAXY_LDAP_DISABLE_REFERRALS = true
这会将 AUTH_LDAP_CONNECTIONS_OPTIONS
设置为正确的选项。
3.2.1.5. 带有外部(安装程序管理的)数据库的单一自动化控制器、单一自动化中心和单个 Event-Driven Ansible 控制器节点
使用本示例填充清单文件,以使用外部(安装程序管理)数据库部署单一自动化控制器、自动化中心和 Event-Driven Ansible 控制器实例。
- 此场景至少需要自动化控制器 2.4 才能成功部署 Event-Driven Ansible 控制器。
- event-Driven Ansible 控制器必须安装在单独的服务器上,且不能安装到与自动化中心和自动化控制器相同的主机上。
-
当您在标准条件下激活 Event-Driven Ansible rulebook 时,它使用大约 250 MB 内存。但是,根据规则的复杂性以及处理事件的卷和大小,实际内存消耗可能会很大不同。在预计大量事件或规则手册复杂性很高的情况下,对暂存环境中的资源使用情况进行初步评估。这样可确保您的激活的最大数量取决于您的资源容量。在以下示例中,默认的
automationedacontroller_max_running_activations
设置为 12,但您可以根据您的容量进行调整。
[automationcontroller] controller.example.com [automationhub] automationhub.example.com [automationedacontroller] automationedacontroller.example.com [database] data.example.com [all:vars] admin_password='<password>' pg_host='data.example.com' pg_port='5432' 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>' # {HubNameStart} configuration automationhub_admin_password= <PASSWORD> automationhub_pg_host='data.example.com' automationhub_pg_port=5432 automationhub_pg_database='automationhub' automationhub_pg_username='automationhub' automationhub_pg_password=<PASSWORD> automationhub_pg_sslmode='prefer' # Automation {EDAController} configuration automationedacontroller_admin_password='<eda-password>' automationedacontroller_pg_host='data.example.com' automationedacontroller_pg_port=5432 automationedacontroller_pg_database='automationedacontroller' automationedacontroller_pg_username='automationedacontroller' automationedacontroller_pg_password='<password>' # Keystore file to install in SSO node # sso_custom_keystore_file='/path/to/sso.jks' # This install will deploy SSO with sso_use_https=True # Keystore password is required for https enabled SSO sso_keystore_password='' # This 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 Automation Hub node # automationhub_ssl_cert=/path/to/automationhub.cert # automationhub_ssl_key=/path/to/automationhub.key # 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 # 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 # Boolean flag used to verify Automation Controller's # web certificates when making calls from Automation {EDAcontroller}. # automationedacontroller_controller_verify_ssl = true # # Certificate and key to install in Automation {EDAcontroller} node # automationedacontroller_ssl_cert=/path/to/automationeda.crt # automationedacontroller_ssl_key=/path/to/automationeda.key
3.3. 运行 Red Hat Ansible Automation Platform 安装程序设置脚本
在您使用用于安装您的私有自动化中心所需的参数更新了清单文档后,运行安装程序设置脚本。
流程
运行
setup.sh
脚本$ sudo ./setup.sh
安装 Red Hat Ansible Automation Platform 将开始。
3.4. 验证自动化控制器的安装
使用您插入到清单
文件中的 admin 凭据登录来验证您是否已成功安装自动化控制器。
前提条件
- 端口 443 可用
流程
-
进入清单文件中为自动化控制器节点指定的 IP
地址
。 -
输入您的 Red Hat Satellite 凭证。如果这是您在安装后第一次登录,请上传
清单文件
。 -
使用您在清单文件中设置的用户 ID
admin
和密码凭证登录。
自动化控制器服务器可从端口 80 (https://<CONTROLLER_SERVER_NAME>/)访问,但重定向到端口 443。
如果安装失败,且您购买了 Red Hat Ansible Automation Platform 的有效许可证,请通过红帽客户门户网站联络 Ansible。
当成功登录到自动化控制器后,则代表您的 Red Hat Ansible Automation Platform 2.4 安装已完成。
3.4.1. 其他自动化控制器配置和资源
请参阅以下资源来探索其他自动化控制器配置。
资源链接 | 描述 |
---|---|
设置自动化控制器并运行第一个 playbook。 | |
通过客户脚本、管理作业等配置自动化控制器管理。 | |
使用代理服务器设置自动化控制器。 | |
管理您与红帽共享的自动化控制器信息。 | |
更详细地查看自动化控制器功能。 |
3.5. 验证自动化中心安装
使用您插入到清单
文件中的 admin 凭证登录来验证您是否已成功安装了自动化中心。
流程
-
进入
清单
文件中为自动化中心节点指定的 IP 地址。 -
输入您的 Red Hat Satellite 凭证。如果这是您在安装后第一次登录,请上传
清单文件
。 -
使用您在清单文件中设置的用户 ID
admin
和密码凭证登录。
如果安装失败,且您购买了 Red Hat Ansible Automation Platform 的有效许可证,请通过红帽客户门户网站联络 Ansible。
当可以成功登录到自动化中心后,则代表您的 Red Hat Ansible Automation Platform 2.4 安装已完成。
3.5.1. 其他自动化中心配置和资源
请参阅以下资源来探索额外的自动化中心配置。
资源链接 | 描述 |
---|---|
为自动化中心配置用户访问。 | |
在自动化中心中添加内容。 | |
在您的自动化 hub 上发布内部开发的集合。 |
3.6. 验证 Event-Driven Ansible 控制器安装
使用您插入到清单文件中的 admin 凭据登录,验证您是否已成功安装了 Event-Driven Ansible 控制器。
流程
-
进入到
inventory
文件中为 Event-Driven Ansible 控制器节点指定的 IP 地址。 -
输入您的 Red Hat Satellite 凭证。如果这是您在安装后第一次登录,请上传
清单文件
。 -
使用您在清单文件中设置的用户 ID
admin
和密码凭证登录。
如果安装失败,且您购买了 Red Hat Ansible Automation Platform 的有效许可证,请通过红帽客户门户网站联络 Ansible。
当成功登录到 Event-Driven Ansible 控制器后,则代表您的 Red Hat Ansible Automation Platform 2.4 安装已完成。
第 4 章 断开连接的安装
如果您没有连接到互联网,或者无法访问在线存储库,您可以在没有活跃互联网连接的情况下安装 Red Hat Ansible Automation Platform。
4.1. 先决条件
在断开连接的网络中安装 Ansible Automation Platform 前,您必须满足以下先决条件:
- 创建的订阅清单。如需更多信息 ,请参阅获取清单文件。
- 客户门户网站中的 Ansible Automation Platform 安装捆绑包已下载。
- 创建自动化控制器和私有自动化中心服务器的 DNS 记录。
4.2. 在断开连接的 RHEL 上安装 Ansible Automation Platform
您可以使用自动化控制器中的安装程序管理的数据库安装 Ansible Automation Platform 自动化控制器和私有自动化中心,而无需互联网连接。使用安装捆绑包进行断开连接的安装,因为它包括可在断开连接的环境中安装 Ansible Automation Platform 的其他组件。这包括 Ansible Automation Platform 红帽软件包管理器(RPMs)和默认执行环境(EE)镜像。
4.2.1. 断开连接的安装的系统要求
在执行断开连接的安装 Ansible Automation Platform 前,请确定您的系统具有所有硬件要求。有关硬件要求的更多信息,请参阅 第 2 章。系统要求。
4.2.2. RPM 源
来自 BaseOS 和 AppStream 存储库的 Ansible Automation Platform 的 RPM 依赖项没有包括在安装捆绑包中。要添加这些依赖项,您必须首先获取 BaseOS 和 AppStream 软件仓库的访问权限。使用 Satellite 同步存储库并添加依赖项。如果您希望选择其他工具,您可以在以下选项之间进行选择:
- reposync
- RHEL Binary DVD
RHEL Binary DVD 方法需要支持的 RHEL 版本的 DVD,包括 8.6 或更高版本。有关当前支持哪些 RHEL 版本的详情,请查看 Red Hat Enterprise Linux 生命周期。
其它资源
4.3. 使用 reposync 同步 RPM 存储库
要执行 reposync,您需要一个可以访问互联网的 RHEL 主机。同步仓库后,您可以将仓库移到从 Web 服务器托管的断开连接的网络中。
流程
附加 BaseOS 和 AppStream 所需的软件仓库:
# subscription-manager repos \ --enable rhel-8-for-x86_64-baseos-rpms \ --enable rhel-8-for-x86_64-appstream-rpms
执行 reposync :
# dnf install yum-utils # reposync -m --download-metadata --gpgcheck \ -p /path/to/download
使用带有
--download-metadata
且不带--newest-only
的 reposync。请参阅 RHEL 8 Reposync。-
如果您不使用
--newest-only,
则下载的仓库为 ~90GB。 -
如果您只使用
--newest-only,
则下载的仓库为 ~14GB。
-
如果您不使用
如果您计划使用 Red Hat Single Sign-On,请同步这些软件仓库:
- jb-eap-7.3-for-rhel-8-x86_64-rpms
- rh-sso-7.4-for-rhel-8-x86_64-rpms
完成 reposync 后,您的仓库就可以与 web 服务器一起使用。
- 将仓库移到断开连接的网络中。
4.4. 创建新的 Web 服务器以托管仓库
如果您没有现有的 Web 服务器来托管您的存储库,您可以使用同步的存储库创建一个。
流程
安装先决条件:
$ sudo dnf install httpd
将 httpd 配置为提供 repo 目录:
/etc/httpd/conf.d/repository.conf DocumentRoot '/path/to/repos' <LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch> <Directory '/path/to/repos'> Options All Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
确保 apache 用户可读该目录:
$ sudo chown -R apache /path/to/repos
配置 SELinux:
$ sudo semanage fcontext -a -t httpd_sys_content_t "/path/to/repos(/.*)?" $ sudo restorecon -ir /path/to/repos
启用 httpd :
$ sudo systemctl enable --now httpd.service
打开防火墙:
$ sudo firewall-cmd --zone=public --add-service=http –add-service=https --permanent $ sudo firewall-cmd --reload
在自动化控制器和自动化中心中,在 /etc/yum.repos.d/local.repo 中添加一个仓库文件,并在需要时添加可选的仓库:
[Local-BaseOS] name=Local BaseOS baseurl=http://<webserver_fqdn>/rhel-8-for-x86_64-baseos-rpms enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [Local-AppStream] name=Local AppStream baseurl=http://<webserver_fqdn>/rhel-8-for-x86_64-appstream-rpms enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
4.5. 从本地挂载的 DVD 访问 RPM 存储库
如果您计划从 RHEL 二进制 DVD 访问存储库,您必须首先设置本地存储库。
流程
挂载 DVD 或者 ISO:
DVD
# mkdir /media/rheldvd && mount /dev/sr0 /media/rheldvd
ISO
# mkdir /media/rheldvd && mount -o loop rhrhel-8.6-x86_64-dvd.iso /media/rheldvd
在
/etc/yum.repos.d/dvd.repo
中创建 yum repo 文件[dvd-BaseOS] name=DVD for RHEL - BaseOS baseurl=file:///media/rheldvd/BaseOS enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [dvd-AppStream] name=DVD for RHEL - AppStream baseurl=file:///media/rheldvd/AppStream enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
导入 gpg 密钥:
# rpm --import /media/rheldvd/RPM-GPG-KEY-redhat-release
如果没有导入密钥,您将看到类似如下的错误
# Curl error (6): Couldn't resolve host name for https://www.redhat.com/security/data/fd431d51.txt [Could not resolve host: www.redhat.com]
其它资源
有关设置软件仓库的详情,请参考需要在 Red Hat Enterprise Linux 8 中为本地挂载的 DVD 设置 yum 软件仓库。
4.6. 在没有互联网连接的 Ansible Automation Platform 中添加订阅清单
要在没有互联网连接的 Ansible Automation Platform 中添加订阅,请创建并导入订阅清单。
流程
- 登录到 红帽客户门户网站。
- 从菜单栏中,选择 Subscriptions。 ,再选择
- 点 。
- 命名新的订阅分配。
- 从 Type 列表中选择 Satellite 6.8。
- 点 Details 选项卡为您的订阅分配打开。 。
- 选择 Subscriptions 选项卡。
- 点 。
- 找到 Ansible Automation Platform 订阅,并在 Entitlements 框中 添加 您要分配给您的环境的权利数量。每个由 Ansible Automation Platform 管理的节点都需要一个权利:服务器、网络设备等。
- 点 。
- 点 。
这会下载在安装后使用自动化控制器导入的文件 manifest_<allocation name>_<date>.zip。
4.7. 下载并安装 Ansible Automation Platform 安装捆绑包
选择安装捆绑包为断开连接的安装下载 Ansible Automation Platform。此捆绑包包括 Ansible Automation Platform 的 RPM 内容以及在安装过程中上传到您的私有自动化中心的默认执行环境镜像。
流程
- 进入 Red Hat Ansible Automation Platform 下载页面并点 Ansible Automation Platform setup 捆绑包软件包。 for the Ansible Automation Platform 2.4 Setup Bundle 来下载
在自动化控制器中,解压捆绑包:
$ tar xvf \ ansible-automation-platform-setup-bundle-2.4-1.tar.gz $ cd ansible-automation-platform-setup-bundle-2.4-1
编辑清单文件使其包含所需选项:
- automationcontroller 组
- automationhub 组
- admin_password
- pg_password
- automationhub_admin_password
- automationhub_pg_host, automationhub_pg_port
automationhub_pg_password
清单文件示例
[automationcontroller] automationcontroller.example.org ansible_connection=local [automationcontroller:vars] peers=execution_nodes [automationhub] automationhub.example.org [all:vars] admin_password='password123' pg_database='awx' pg_username='awx' pg_password='dbpassword123' receptor_listener_port=27199 automationhub_admin_password='hubpassword123' automationhub_pg_host='automationcontroller.example.org' automationhub_pg_port=5432 automationhub_pg_database='automationhub' automationhub_pg_username='automationhub' automationhub_pg_password='dbpassword123' automationhub_pg_sslmode='prefer'
以 root 用户身份运行 Ansible Automation Platform setup 捆绑包可执行文件:
$ sudo -i # cd /path/to/ansible-automation-platform-setup-bundle-2.4-1 # ./setup.sh
- 安装完成后,进入安装清单文件中指定的自动化控制器节点的 Fully Qualified Domain Name (FQDN)。
- 使用安装清单文件中指定的管理员凭证登录。
清单文件必须在安装后保持不变,因为它用于备份、恢复和升级功能。将备份副本保存在安全位置,因为清单文件包含密码。
4.8. 完成安装后的任务
完成 Ansible Automation Platform 安装后,请确保自动化中心和自动化控制器正确部署。
4.8.1. 添加控制器订阅
流程
-
进入 Automation 控制器的 FQDN。使用您在清单文件中的
admin_password
中指定的用户和密码登录。 - 点 manifest.zip。 ,再选择您之前创建的
- 点击 。
- 取消选择 和 。它们依赖于互联网连接,且必须关闭。
- 点击 。
- 阅读最终用户许可证协议,如果同意,点 。
4.8.2. 更新 CA 信任存储
作为安装后任务的一部分,您必须更新软件的证书。默认情况下,Ansible Automation Platform 自动化中心和自动化控制器使用自签名证书安装。因此,控制器不信任 hub 的证书,且不会从 hub 下载执行环境。
为确保自动化控制器从自动化中心下载执行环境,您必须将 hub 的证书颁发机构(CA)证书导入为控制器上的可信证书。您可以通过以下两种方式之一进行此操作,具体取决于 SSH 是否作为自动化控制器和私有自动化中心之间的 root 用户提供。
4.8.2.1. 以 root 用户身份使用安全副本(SCP)
如果 SSH 作为控制器和私有自动化中心之间的 root 用户提供,请使用 SCP 将私有自动化中心上的 root 证书复制到控制器。
流程
-
在控制器上运行
update-ca-trust
以更新 CA 信任存储:
$ sudo -i # scp <hub_fqdn>:/etc/pulp/certs/root.crt /etc/pki/ca-trust/source/anchors/automationhub-root.crt # update-ca-trust
4.8.2.2. 以非 root 用户身份复制和粘贴
如果 SSH 在私有自动化中心和控制器之间不可用,请将文件 /etc/pulp/certs/root.crt 复制到名为 /etc/pki/ca-trust/source/anchors/automationhub-root.crt 的控制器上的新文件中,并将其粘贴到名为 /etc/pki/ca-trust/source/anchors/automationhub-root.crt 的控制器上的新文件。
流程
-
运行
update-ca-trust
以使用新证书更新 CA 信任存储。在私有自动化中心中运行:
$ sudo -i # cat /etc/pulp/certs/root.crt (copy the contents of the file, including the lines with 'BEGIN CERTIFICATE' and 'END CERTIFICATE')
- 在自动化控制器中:
$ sudo -i # vi /etc/pki/ca-trust/source/anchors/automationhub-root.crt (paste the contents of the root.crt file from the private automation hub into the new file and write to disk) # update-ca-trust
其它资源
- 如需有关未知证书颁发机构的更多信息,请参阅 Ansible Automation Platform 2.1 中的项目同步失败并显示未知证书颁发机构错误。
4.9. 将集合导入到私有自动化中心
您可以从 Ansible Automation hub 下载集合作为 tarball 文件,以便在私有自动化中心中使用。认证的集合 在自动化中心混合云控制台上 提供,社区集合则位于 Ansible Galaxy 上。您还必须下载并安装集合所需的所有依赖项。
流程
- 导航到 link: console.redhat.com,并使用您的红帽凭证登录。
- 点您要下载的 集合。
- 点
- 要验证集合是否有依赖项,请点 Dependencies 选项卡。
- 下载此集合所需的所有依赖项。
4.10. 创建集合命名空间
在导入集合前,您必须首先在私有自动化中心中为集合创建一个命名空间。您可以通过查看集合 tarball filename 的第一个部分来查找命名空间名称。例如,集合 ansible-netcommon-3.0.0.tar.gz 的命名空间是 ansible。
流程
- 登录到自动化中心混合云控制台。
- 在导航面板中,选择 → 。
- 点 。
- 提供命名空间名称。
- 点 。
4.10.1. 使用 Web 控制台导入集合 tarball
创建命名空间后,您可以使用 Web 控制台导入集合。
流程
- 登录到自动化中心混合云控制台。
- 在导航面板中,选择 → 。
- 点您要将集合导入到的命名空间旁边的 。
- 点 。
- 点文件夹图标并选择集合的 tarball。
- 点 。
这将打开"我的导入"页面。您可以查看导入的状态,以及导入的文件和模块的各种详情。
4.10.2. 使用 CLI 导入集合 tarball
您可以使用命令行界面而不是 GUI 将集合导入到私有自动化中心。
流程
- 将集合 tarball 复制到私有自动化中心。
- 通过 SSH 登录到私有自动化中心服务器。
将自签名 root CA 证书添加到自动化中心的信任存储中。
# cp /etc/pulp/certs/root.crt \ /etc/pki/ca-trust/source/anchors/automationhub-root.crt # update-ca-trust
使用自动化中心配置更新
/etc/ansible/ansible.cfg
文件。使用令牌或用户名和密码进行身份验证。[galaxy] server_list = private_hub [galaxy_server.private_hub] url=https://<hub_fqdn>/api/galaxy/ token=<token_from_private_hub>
- 使用 ansible-galaxy 命令导入集合。
$ ansible-galaxy collection publish <collection_tarball>
4.11. 批准导入的集合
使用 GUI 或 CLI 方法导入集合后,您必须使用 GUI 批准它们。批准后,就可以使用。
流程
- 登录到自动化中心混合云控制台。
- 在导航面板中,选择 → 。
- 对于您要批准的集合,点 。
- 这个集合现在可用于您的私有自动化中心。
- 通过重复步骤 2 和 3,为集合导入所有依赖项。
无论源是什么,集合都会被添加到 "Published" 仓库中。
推荐的集合取决于您的用例。Ansible 和红帽提供这些集合。
4.11.1. 自定义自动化执行环境
使用 ansible-builder 程序创建自定义执行环境镜像。对于断开连接的环境,可以使用以下方法构建自定义执行环境镜像:
- 在面向互联网的系统上构建执行环境镜像,并将其导入到断开连接的环境中。
- 完全在断开连接的环境中构建执行环境镜像,并对使用 ansible-builder 的正常流程进行一些修改。
- 创建一个最小的基础容器镜像,其中包含在断开连接的环境中的所有必要修改,然后从基本容器镜像构建自定义执行环境镜像。
4.11.1.1. 在断开连接的边界间传输自定义虚拟环境镜像
您可以在面向互联网的机器上构建自定义执行环境镜像。创建执行环境后,可在本地 podman 镜像缓存中提供。然后,您可以在断开连接的边界间传输自定义执行环境镜像。
流程
保存镜像:
$ podman image save localhost/custom-ee:latest | gzip -c custom-ee-latest.tar.gz
使用现有机制(如 sneakernet 或单向 diode)在断开连接的边界间传输文件。
- 当镜像在断开连接的环境中可用后,将其导入到本地 podman 缓存,标记它并将其推送到断开连接的 hub 中:
$ podman image load -i custom-ee-latest.tar.gz $ podman image tag localhost/custom-ee <hub_fqdn>/custom-ee:latest $ podman login <hub_fqdn> --tls-verify=false $ podman push <hub_fqdn>/custom-ee:latest
4.12. 在断开连接的环境中构建执行环境
为 Ansible Automation Platform 创建执行环境是一个常见任务,它在断开连接的环境中工作不同。https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.4/html/creating_and_consuming_execution_environments/index在构建自定义执行环境时,ansible-builder 工具默认为从互联网上以下位置下载内容:
- Red Hat Automation hub (console.redhat.com)或 Ansible Galaxy (galaxy.ansible.com)用于添加到执行环境镜像的任何 Ansible 内容集合。
- PyPI (pypi.org),适用于作为集合依赖项所需的任何 python 软件包。
- RPM 存储库,如 RHEL 或 UBI 软件仓库(cdn.redhat.com),用于在执行环境镜像中添加或更新 RPM (如果需要)。
- registry.redhat.io 用于访问基本容器镜像。
在断开连接的环境中构建执行环境镜像需要从这些位置镜像内容。如需有关 将集合从 Ansible Galaxy 或自动化中心导入到私有自动化中心 的信息,请参阅将集合导入到私有自动化中心。
传送到断开连接的网络后,可以使用 Web 服务器或 Nexus 等工件存储库提供镜像 PyPI 内容。RHEL 和 UBI 存储库内容可以从面向互联网的 Red Hat Satellite 服务器导出,复制到断开连接的环境中,然后导入到断开连接的 Satellite 中,以便它可用于构建自定义执行环境。详情请查看 Air-Gapped Scenario 中的 ISS 导出同步。
默认基础容器镜像 ee-minimal-rhel8 用于创建自定义执行环境镜像,并包含在捆绑的安装程序中。在安装时,此镜像添加到私有自动化中心。如果需要不同的基础容器镜像,如 ee-minimal-rhel9,则必须将其导入到断开连接的网络中,并添加到私有自动化中心容器 registry 中。
断开连接的网络上所有先决条件后,可以使用 ansible-builder 命令来创建自定义执行环境镜像。
4.12.1. 安装 Ansible Builder RPM
在要构建自定义虚拟环境的 RHEL 系统上,您将使用环境中已存在的 Satellite 服务器安装 Ansible Builder RPM。此方法是首选的,因为执行环境镜像可以根据需要使用来自预先存在的 Satellite 的任何 RHEL 内容。
流程
从 Ansible Automation Platform 存储库安装 Ansible Builder RPM。
- 将 RHEL 系统订阅到断开连接的网络上的 Satellite。
-
附加 Ansible Automation Platform 订阅并启用 Ansible Automation Platform 存储库。存储库名称是
ansible-automation-platform-2.4-for-rhel-8-x86_64-rpms
或ansible-automation-platform-2.4-for-rhel-9-x86_64-rpms
,具体取决于底层系统中使用的 RHEL 版本。 - 安装 Ansible Builder RPM。Ansible Builder RPM 的版本必须是 3.0.0 或更高版本,才能使以下示例正常工作。
从 Ansible Automation Platform 安装捆绑包安装 Ansible Builder RPM。如果您的断开连接的网络中没有 Satellite 服务器,请使用此方法。
- 解压缩 Ansible Automation Platform 安装捆绑包。
- 从包含的内容安装 Ansible Builder RPM 及其依赖项。
$ tar -xzvf ansible-automation-platform-setup-bundle-2.4-3-x86_64.tar.gz $ cd ansible-automation-platform-setup-bundle-2.4-3-x86_64/bundle/packages/el8/repos/ $ sudo dnf install ansible-builder-3.0.0-2.el8ap.noarch.rpm \ python39-requirements-parser-0.2.0-4.el8ap.noarch.rpm \ python39-bindep-2.10.2-3.el8ap.noarch.rpm \ python39-jsonschema-4.16.0-1.el8ap.noarch.rpm \ python39-pbr-5.8.1-2.el8ap.noarch.rpm \ python39-distro-1.6.0-3.el8pc.noarch.rpm \ python39-packaging-21.3-2.el8ap.noarch.rpm \ python39-parsley-1.3-2.el8pc.noarch.rpm \ python39-attrs-21.4.0-2.el8pc.noarch.rpm \ python39-pyrsistent-0.18.1-2.el8ap.x86_64.rpm \ python39-pyparsing-3.0.9-1.el8ap.noarch.rpm
根据所使用的安装捆绑包版本,特定版本可能稍有不同。
其他资源
- 有关在断开连接的网络中创建 Satellite 环境的详情,请参考 在断开连接的网络环境中安装 Satellite 服务器。
4.12.2. 创建自定义执行环境定义
安装 Ansible Builder RPM 后,请按照以下步骤创建自定义执行环境。
为创建自定义执行环境时使用的构建工件创建一个目录。所有使用以下步骤创建的新文件都将在此目录中创建。
$ mkdir $HOME/custom-ee $HOME/custom-ee/files $ cd $HOME/custom-ee/
创建一个
execution-environment.yml
文件,该文件定义自定义执行环境的要求。注意需要执行环境定义格式的版本 3,因此请确保
execution-environment.yml
文件包含version: 3
,然后再继续。- 覆盖基础镜像以指向私有自动化中心中可用的最小执行环境。
-
定义额外的构建文件,以指向构建过程中要使用的任何断开连接的内容源。您的自定义
execution-environment.yml
文件应类似以下示例:
$ cat execution-environment.yml --- version: 3 images: base_image: name: private-hub.example.com/ee-minimal-rhel8:latest dependencies: python: requirements.txt galaxy: requirements.yml additional_build_files: - src: files/ansible.cfg dest: configs - src: files/pip.conf dest: configs - src: files/hub-ca.crt dest: configs # uncomment if custom RPM repositories are required #- src: files/custom.repo # dest: configs additional_build_steps: prepend_base: # copy a custom pip.conf to override the location of the PyPI content - ADD _build/configs/pip.conf /etc/pip.conf # remove the default UBI repository definition - RUN rm -f /etc/yum.repos.d/ubi.repo # copy the hub CA certificate and update the trust store - ADD _build/configs/hub-ca.crt /etc/pki/ca-trust/source/anchors - RUN update-ca-trust # if needed, uncomment to add a custom RPM repository configuration #- ADD _build/configs/custom.repo /etc/yum.repos.d/custom.repo prepend_galaxy: - ADD _build/configs/ansible.cfg ~/.ansible.cfg ...
在
files/
子目录下创建一个ansible.cfg
文件,指向您的私有自动化中心。$ cat files/ansible.cfg [galaxy] server_list = private_hub [galaxy_server.private_hub] url = https://private-hub.example.com/api/galaxy/
在
files/
子目录下创建一个pip.conf
文件,指向内部 PyPI 镜像(Web 服务器或 Nexus):$ cat files/pip.conf [global] index-url = https://<pypi_mirror_fqdn>/ trusted-host = <pypi_mirror_fqdn>
可选:如果您使用
bindep.txt
文件来添加 RPM,请在文件/子目录中创建一个
,指向断开连接的 Satellite 或其他托管 RPM 存储库的位置。如果此步骤是必需的,请取消与custom.repo
文件custom.repo
文件对应的execution-environment.yml
示例中的步骤。以下示例是 UBI 仓库。也可以将其他本地仓库添加到此文件中。URL 路径可能需要根据镜像内容位于 web 服务器上的位置进行更改。
$ cat files/custom.repo [ubi-8-baseos] name = Red Hat Universal Base Image 8 (RPMs) - BaseOS baseurl = http://<ubi_mirror_fqdn>/repos/ubi-8-baseos enabled = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release gpgcheck = 1 [ubi-8-appstream] name = Red Hat Universal Base Image 8 (RPMs) - AppStream baseurl = http://<ubi_mirror_fqdn>/repos/ubi-8-appstream enabled = 1 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release gpgcheck = 1
添加用于为私有自动化中心 web 服务器证书签名的 CA 证书。如果私有自动化中心使用安装程序提供的自签名证书:
-
从您的私有自动化中心中复制
/etc/pulp/certs/pulp_webserver.crt
,并将其命名为hub-ca.crt
。 -
将
hub-ca.crt
文件添加到files/
子目录中。
-
从您的私有自动化中心中复制
如果私有自动化中心使用由证书颁发机构签名的用户提供的证书:
-
复制该 CA 证书并将其命名为
hub-ca.crt
。 -
将
hub-ca.crt
文件添加到files/
子目录中。
-
复制该 CA 证书并将其命名为
完成预付步骤后,使用自定义执行环境镜像所需的内容创建 python
requirements.txt
和 Ansible 集合requirements.yml
文件。注意任何所需的集合都必须已上传到您的私有自动化中心。
custom-ee/
目录下应存在以下文件,其中bindep.txt
和files/custom.repo
是可选的:
$ cd $HOME/custom-ee $ tree . . ├── bindep.txt ├── execution-environment.yml ├── files │ ├── ansible.cfg │ ├── custom.repo │ ├── hub-ca.crt │ └── pip.conf ├── requirements.txt └── requirements.yml 1 directory, 8 files
其他资源
如需有关版本 3 格式和要求的更多信息,请参阅 执行环境定义: 版本 3 格式。
4.12.3. 构建自定义执行环境
在创建新的自定义执行环境前,需要来自私有 hub 的 API 令牌来下载内容。
执行以下步骤生成令牌:
- 登录到您的私有自动化中心。
- 从左侧菜单中选择"集合"。
- 在菜单的 "Collections" 部分下选择"API 令牌"。
具有令牌后,设置以下环境变量以便 Ansible Builder 可以访问令牌:
$ export ANSIBLE_GALAXY_SERVER_PRIVATE_HUB_TOKEN=<your_token>
使用以下命令创建自定义执行环境:
$ cd $HOME/custom-ee $ ansible-builder build -f execution-environment.yml -t private-hub.example.com/custom-ee:latest -v 3
注意如果构建失败,并显示私有 hub 证书由未知颁发机构签名的错误,您可以通过运行以下命令将所需的镜像拉取到本地镜像缓存中:
$ podman pull private-hub.example.com/ee-minimal-rhel8:latest --tls-verify=false
另外,您可以将私有 hub CA 证书添加到 podman 证书存储中:
$ sudo mkdir /etc/containers/certs.d/private-hub.example.com $ sudo cp $HOME/custom-ee/files/hub-ca.crt /etc/containers/certs.d/private-hub.example.com
4.12.4. 将自定义执行环境上传到私有自动化中心
在新的执行环境镜像可用于自动化作业前,必须将其上传到私有自动化中心。
首先,验证执行环境镜像是否可以在本地 podman 缓存中看到:
$ podman images --format "table {{.ID}} {{.Repository}} {{.Tag}}" IMAGE ID REPOSITORY TAG b38e3299a65e private-hub.example.com/custom-ee latest 8e38be53b486 private-hub.example.com/ee-minimal-rhel8 latest
然后,登录到私有自动化中心的容器 registry 并推送镜像使其可用于作业模板和工作流:
$ podman login private-hub.example.com -u admin Password: Login Succeeded! $ podman push private-hub.example.com/custom-ee:latest
4.13. 在 Ansible Automation Platform 次版本间升级
要在 Ansible Automation Platform 2 的次发行版本间升级,请使用这个常规工作流。
流程
- 下载并解压缩最新的 Ansible Automation Platform 2 安装捆绑包。
- 创建现有安装的备份。
- 将现有安装清单文件复制到新的安装捆绑包目录中。
-
运行
./setup.sh
以升级安装。
例如,要从 2.2.0-7 升级到 2.3-1.2,请确保两个设置捆绑包都位于安装发生的初始控制器节点上:
$ ls -1F ansible-automation-platform-setup-bundle-2.2.0-7/ ansible-automation-platform-setup-bundle-2.2.0-7.tar.gz ansible-automation-platform-setup-bundle-2.3-1.2/ ansible-automation-platform-setup-bundle-2.3-1.2.tar.gz
备份 2.2.0-7 安装:
$ cd ansible-automation-platform-setup-bundle-2.2.0-7 $ sudo ./setup.sh -b $ cd ..
将 2.2.0-7 清单文件复制到 2.3-1.2 捆绑包目录中:
$ cd ansible-automation-platform-setup-bundle-2.2.0-7 $ cp inventory ../ansible-automation-platform-setup-bundle-2.3-1.2/ $ cd ..
使用 setup.sh 脚本从 2.2.0-7 升级到 2.3-1.2 :
$ cd ansible-automation-platform-setup-bundle-2.3-1.2 $ sudo ./setup.sh
附录 A. 清单文件变量
下表包含 Ansible 安装清单文件中使用的预定义变量的信息。并非所有这些变量都是必需的。
A.1. 常规变量
变量 | 描述 |
---|---|
|
如果节点使用 Subscription Manager 注册,则默认安装会将节点注册到 Red Hat Ansible Automation Platform Service 中。设置为
默认为 |
|
在 http 部分下,列出
列表中的每一元素作为单独的行提供给 默认为空列表 |
|
只有在使用非捆绑包安装程序时,才需要
用于访问
用于
在
当 |
|
用于
默认为 |
|
只有在使用非捆绑包安装程序时,才需要
用于访问
用于
在 |
|
如果运行安装程序的机器只能通过特定 URL 路由到目标主机,例如,如果您的清单中使用短名称,但运行安装程序的节点只能解析使用 FQDN 的主机时,使用
如果没有设置
此变量用作特定主机的主机变量,而不是在 |
A.2. Ansible Automation hub 变量
变量 | 描述 |
---|---|
| 必填 当密码在清单文件中以纯文本形式提供时,密码必须用引号括起。 |
| 如果从 Ansible Automation Platform 2.0 或更早版本升级,您必须:
生成新令牌会导致现有令牌无效。 |
|
默认不设置此变量。将它设置为
当它被设置为
如果缺少其中任何一个,则安装将停止。 |
| 如果启用了集合签名服务,则集合默认不会自动签名。
将此参数设置为
默认为 |
| 可选
Ansible Automation hub 在
您还可以将
默认为 |
| 可选 决定是否在 UI 中显示下载计数。
默认为 |
|
运行捆绑包安装程序时,验证的内容将上传到 默认情况下,经过认证和验证的内容都会被上传。 此变量的可能值为 'certified' 或 'validated'。
如果您不想安装内容,请将
如果您只需要一种类型的内容,请将 |
| 如果启用了集合签名服务,您必须提供此变量,以确保可以正确签名集合。
|
| 如果启用了集合签名服务,您必须提供此变量,以确保可以正确签名集合。
|
| 将此变量设置为 true 以创建集合签名服务。
默认为 |
| 如果启用了容器签名服务,您必须提供此变量,以确保容器可以被正确签名。
|
| 如果启用了容器签名服务,您必须提供此变量,以确保容器可以被正确签名。
|
| 将此变量设置为 true 以创建容器签名服务。
默认为 |
| 默认安装部署启用了 TLS 的 Ansible Automation hub。如果您部署启用了 HTTP Strict Transport Security (HSTS) web-security 策略的自动化中心,请使用此变量。此变量禁用 HSTS web-security 策略机制。
默认为 |
| 可选 如果 Ansible Automation hub 部署启用了 HTTPS。
默认为 |
|
当设置为
默认为 |
| 指明是否为 Ansible Automation Platform 2.4 中自动化中心中使用的 pulpcore 版本启用 Pulp 分析的布尔值。
要启用 pulp 分析,请将
默认为 |
| 将此变量设置为 true,使未授权用户能够查看集合。
默认为 |
| 将此变量设置为 true,使未授权用户能够下载集合。
默认为 |
| 可选 传递给 galaxy-importer 的设置字典。 在导入时,集合可以通过一系列检查。
行为由
例如 这个参数可让您驱动此配置。 |
| 客户端连接到的主要自动化中心 URL。 例如: https://<load balancer host>。
如果要在自动化中心环境中实施 Red Hat Single Sign-On,使用
如果没有指定,则使用 |
| 必需 数据库名称。
默认为 |
| 如果不使用内部数据库,则需要此项。 Automation Hub 使用的远程 PostgreSQL 数据库的主机名。
默认 = |
| Automation hub PostgreSQL 数据库的密码。
对 |
| 如果不使用内部数据库,则需要此项。 默认 = 5432。 |
| 必需。
默认为 |
| 必填
默认为 |
| 可选
如果自动化中心在集合可用前强制实施批准机制,则值为 默认情况下,当您将集合上传到自动化中心时,管理员必须批准它,然后才能供用户使用。
如果要禁用内容批准流,请将变量设置为
默认为 |
| 定义是否启用预加载的布尔值。
运行捆绑包安装程序时,验证的内容将上传到 默认情况下,经过认证和验证的内容都会被上传。
如果您不想安装内容,请将
如果您只需要一种类型的内容,请将
默认为 |
| 可选
|
| 可选
与 |
| 对于 Red Hat Ansible Automation Platform 2.2 及更新的版本,不再使用这个值。
如果自动化中心因为默认设置而在请求自身时必须验证证书,则将值设为
默认为 |
| 已弃用
对于 Ansible Automation Platform 2.2.1 及更新的版本,这个值的值已固定为 Automation hub 始终使用最新的软件包进行更新。 |
| Ansible Automation hub web 服务器的 nginx 标头列表。 列表中的每一元素作为单独的行提供给 web 服务器的 nginx 配置。 默认为空列表 |
| 当使用自动化中心部署时,安装程序会将执行环境镜像推送到自动化中心,并将自动化控制器配置为从自动化中心 registry 中拉取镜像。
要使自动化中心唯一的 registry 从中拉取执行环境镜像,请将此变量设置为
如果设置为
使用捆绑包安装程序时默认为 |
| 如果从 Red Hat Ansible Automation Platform 2.0 或更早版本升级,请选择以下选项之一:
|
| 此变量指定系统应被视为 HTTP Strict Transport Security (HSTS)主机的时间(以秒为单位)。也就是 HTTPS 专用于通信的时间。 默认为 63072000 秒,或两年。 |
|
定义 Nginx 中对
可用 只有在使用 OpenSSL 1.0.1 或更高版本时,TLSv1.1 和 TLSv1.2 参数才可以正常工作。 TLSv1.3 参数仅在使用 OpenSSL 1.1.1 或更高版本时才有效。
如果
默认为 |
| 要导入的 Fernet 对称加密密钥的相对或绝对路径。该路径位于 Ansible 管理节点上。它用于加密数据库中的某些字段,如凭证。如果未指定,将生成一个新密钥。 |
| 可选 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。 主题文件所在的目录的路径。如果更改此变量,您必须提供自己的主题文件。
默认 = |
| 可选 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。 SSO 中域的名称。
默认 = |
| 可选 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。 显示域的名称。
默认 = |
| 可选 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。 SSO 管理用户名。
默认为 |
| 必需 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。 SSO 管理密码。 |
| 可选 仅用于 Ansible Automation Platform 管理的 Red Hat Single Sign-On。 为 SSO 提供客户提供的密钥存储。 |
| 必需 仅用于外部管理的 Red Hat Single Sign-On。 自动化中心需要 SSO 和 SSO 管理凭据进行身份验证。 如果清单中未提供用于配置的 SSO,则必须使用此变量来定义 SSO 主机。 |
| 可选 仅用于 Ansible Automation Platform 管理的 Red Hat Single Sign-On。
如果客户提供的密钥存储位于远程节点上,则设置为
默认为 |
| 可选 仅用于 Ansible Automation Platform 管理的 Red Hat Single Sign-On。 SSO 的密钥存储名称。
默认 = |
| 启用 HTTPS 的 SSO 的密钥存储密码。
在使用 Ansible Automation Platform 管理的 SSO 以及启用 HTTPS 时,需要此项。默认安装使用 |
| 可选 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。
如果设置了 这必须可从客户端机器访问。 |
| 可选 用于 Ansible Automation Platform 管理的和外部管理的 Red Hat Single Sign-On。
如果证书必须在连接过程中验证,则设置为
默认为 |
| 可选 如果单点登录使用 HTTPS,则用于 Ansible Automation Platform 管理和外部管理的 Red Hat Single Sign-On。
默认为 |
要使 Ansible 自动化中心直接连接到 LDAP,您必须配置以下变量:可以使用 ldap_extra_settings
变量传递的额外 LDAP 相关变量列表,请参阅 Django 参考文档。
变量 | 描述 |
---|---|
|
使用 在将私有自动化中心与 LDAP 集成时,必须设置,否则安装将失败。 |
| 必需
与 必须在集成私有自动化中心 LDAP 时设置,否则安装将失败。 |
| 一个 LDAP 搜索对象,用于查找用户可能属于的所有 LDAP 组。
如果您的配置对 LDAP 组有任何引用,您必须设置此变量和 在将私有自动化中心与 LDAP 集成时,必须设置,否则安装将失败。
默认为 |
| 可选 用于查找组成员资格的搜索过滤器。 变量标识了使用自动化中心和 LDAP 映射组要使用哪个 flavor 类型。用于通过 LDAP 安装自动化中心。
默认为 |
| 可选 范围使用 django 框架用于 LDAP 身份验证在 LDAP 树中搜索组。用于通过 LDAP 安装自动化中心。
默认为 |
| 描述 automationhub_ldap_group_search 返回的组类型。 这基于 automationhub_ldap_group_type_params 和 automationhub_ldap_group_type_class 的值动态设置,否则它是来自 django-ldap 的默认值,它是 'None'
Default = |
| 可选 django-ldap 组类型类的可导入路径。 变量标识在 django 框架内用于 LDAP 身份验证的组类型。用于通过 LDAP 安装自动化中心。
Default = |
| LDAP 服务器的 URI。 使用底层 LDAP 库支持的任何 URI。 必须在集成私有自动化中心 LDAP 时设置,否则安装将失败。 |
| 在目录中查找用户的 LDAP 搜索对象。filter 参数必须包含用户名的占位符 %(user)。它必须完全返回一个结果才能成功进行身份验证。 在将私有自动化中心与 LDAP 集成时,必须设置,否则安装将失败。 |
| 可选
默认为 |
| 可选 范围通过使用用于 LDAP 身份验证的 django 框架在 LDAP 树中搜索用户。用于通过 LDAP 安装自动化中心。
默认为 |
A.3. 自动化控制器变量
变量 | 描述 |
---|---|
| 安装完成后,用于访问 UI 的管理用户密码。 当密码在清单文件中以纯文本形式提供时,密码必须用引号括起。 |
| 对于 SSO 配置所需的替代前端 URL,请提供 URL。 |
| 自动化控制器实例的密码。 当密码在清单文件中以纯文本形式提供时,密码必须用引号括起。 |
| 自动化控制器实例的用户名。 |
| nginx HTTP 服务器侦听入站连接。 默认为 80 |
| nginx HTTPS 服务器侦听安全连接。 默认为 443 |
| 此变量指定系统必须被视为 HTTP Strict Transport Security (HSTS)主机的时间(以秒为单位)。也就是 HTTPS 专用于通信的时间。 默认为 63072000 秒,或两年。 |
|
定义 Nginx 中对
可用 只有在使用 OpenSSL 1.0.1 或更高版本时,TLSv1.1 和 TLSv1.2 参数才可以正常工作。 TLSv1.3 参数仅在使用 OpenSSL 1.1.1 或更高版本时才有效。
如果
默认为 |
| 自动化控制器 web 服务器的 nginx 标头列表。 列表中的每一元素作为单独的行提供给 web 服务器的 nginx 配置。 默认为空列表 |
| 可选
节点或一组节点的状态。有效选项为
默认为 |
|
对于
可以为这个组分配两个有效的
这个组的默认 =
对于
可以为这个组分配两个有效的
此组的默认值为 |
| 可选
此变量用于在
peers 变量可以是清单中以逗号分隔的主机和组的列表。这被解析为用来构造 |
| postgreSQL 数据库的名称。
默认为 |
| postgreSQL 主机,可以是外部管理的数据库。 |
| postgreSQL 数据库的密码。
在 注意
安装时,您将不再需要在清单文件中提供
当您在清单文件中为安装程序提供 |
| 要使用的 postgreSQL 端口。 默认 = 5432 |
|
选择两种可用模式之一:
设置为
默认为 |
| 您的 postgreSQL 数据库用户名。
默认为 |
| postgreSQL SSL 证书的位置。
|
| postgreSQL SSL 密钥的位置。
|
| postgreSQL 用户证书的位置。
|
| postgreSQL 用户密钥的位置。
|
| 如果 postgreSQL 使用 SSL,则使用此变量。 |
| 如果您使用安装程序管理的 postgreSQL,则应用的最大数据库连接设置。 如需帮助选择值,请参阅自动化控制器管理指南中的 PostgreSQL 数据库配置。 对于基于虚拟机的安装,默认为 200 (单个节点)和 1024 (集群)。 |
| 用于 receptor 连接的端口。 默认 = 27199 |
|
指定后,它会将
有关 不存在默认值。 |
| 可选
与 |
| 可选
与 |
A.4. Ansible 变量
以下变量控制 Ansible Automation Platform 与远程主机交互的方式。
有关特定于特定插件的变量的更多信息,请参阅 Ansible.Builtin 的文档。
有关全局配置选项列表,请参阅 Ansible 配置设置。
变量 | 描述 |
---|---|
| 用于目标主机上任务的连接插件。
这可以是任何 Ansible 连接插件的名称。SSH 协议类型是
默认为 |
|
要使用的目标主机的 ip 或名称,而不是 |
| 连接端口号。 默认:ssh 的 22 个 |
| 连接到主机时使用的用户名。 |
| 用于向主机进行身份验证的密码。 从不以纯文本形式存储此变量。 始终使用密码库。 |
| SSH 使用的私钥文件。在使用多个密钥且您不想使用 SSH 代理时很有用。 |
|
此设置始终附加到 |
|
此设置始终附加到默认的 |
|
此设置始终附加到默认的 |
|
此设置始终附加到默认的 |
|
确定是否使用 SSH pipelining。这可以覆盖 |
| 在版本 2.2 中添加。
此设置覆盖使用系统 SSH 的默认行为。这可以覆盖 |
|
目标系统的 shell 类型。除非将 |
|
这将设置 Ansible 控制器在目标机器上使用的 shell,并覆盖
不要更改此变量,除非目标计算机上没有安装 |
| 此变量从清单脚本或 Ansible 配置文件获取机器的主机名。 您不能设置此变量的值。 由于从配置文件中获取了该值,实际运行时主机名值可能与此变量返回的不同。 |
A.5. Event-Driven Ansible 控制器变量
变量 | 描述 |
---|---|
| Event-Driven Ansible 控制器实例使用的管理员密码。 当密码在清单文件中以纯文本形式提供时,密码必须用引号括起。 |
| django 用来识别并创建 Event-Driven Ansible 控制器的 admin 超级用户的用户名。
默认 = |
| django 用于 Event-Driven Ansible 控制器的 admin 用户的电子邮件地址。
Default = |
| 启用对 Event-Driven Ansible 控制器访问权限的附加地址列表。 默认为空列表 |
|
在从 Event-Driven Ansible 控制器调用时验证自动化控制器 Web 证书的布尔值标志。验证为
默认为 |
| 禁用 HTTPS Event-Driven Ansible 控制器的布尔值标志。
默认为 |
| 用于禁用 HSTS Event-Driven Ansible 控制器的布尔值标志。
默认为 |
| 通过 gunicorn 提供的 API 的 worker 数量。 默认 =(dm of cores or threads)* 2 + 1 |
| 每个节点同时运行的最大激活数。 这是一个必须大于 0 的整数。 默认 = 12 |
| 布尔值标志,用于指定证书源是否在远程主机 (true) 还是本地 (false)。
默认为 |
| Event-Driven Ansible 控制器使用的 Postgres 数据库。
默认为 |
| Event-Driven Ansible 控制器使用的 Postgres 数据库的主机名,可以是外部管理的数据库。 |
| Event-Driven Ansible 控制器使用的 Postgres 数据库的密码。
对 |
| Event-Driven Ansible 控制器使用的 Postgres 数据库的端口号。
默认 = |
| Event-Driven Ansible 控制器 Postgres 数据库的用户名。
默认为 |
| Event-Driven Ansible 控制器使用的 Redis Queue (RQ) worker 数量。RQ worker 是在后台运行的 Python 进程。 默认 =(dm of cores or threads)* 2 + 1 |
| 可选
与 |
| 可选
与 |
| 要添加到 Event-Driven Ansible 控制器 nginx 配置的额外 nginx 标头列表。 默认为空列表 |