Ansible Tower 和 Automation Hub 已合并,提供了一个名为 Ansible Automation Platform 的统一平台体验。从 Ansible Tower 3.8 开始,以前称为 Tower 安装程序的程序现在可以安装整个 Automation Platform。有关更多详细信息,请参阅 安装 Ansible Automation Platform。
Automation Platform **需要** Ansible 2.9。Ansible 2.9.x 将是 Tower 3.8 上安装的唯一受支持版本。
从 Ansible Tower 3.8 开始,Automation Hub 将充当 Ansible Tower 的内容提供者,这需要 Ansible Tower 部署和 Automation Hub 部署同时运行。Tower 和 Automation Hub 可以运行在 RHEL 7 或 8 上,但只有 Tower(而不是 Automation Hub)在 OpenShift Container Platform (OCP) 上受支持。
从 Ansible Tower 3.8 开始,您 **必须** 在安装和运行 Ansible Automation Platform 之前附加有效的订阅。**即使您已经拥有来自以前版本的有效许可证,在升级到 Tower 3.8 时,您仍然必须再次提供您的凭据或订阅清单。**有效订阅需要附加到 Automation Hub 节点。其他节点 **不需要** 附加有效的订阅/池。有关详细信息,请参阅 附加订阅。
对于在 Satellite 后面安装 Tower 的客户,请通过安装特定于您的卫星实例的 Katello RPM 来准备您的 Tower 节点。有关更多信息,请参阅 在 Tower 上安装 Satellite 实例。
为清单来源创建的新配置将包含默认的插件配置值。如果您希望 3.8 中新创建的清单来源与 3.7 来源的输出相匹配,则必须为该来源应用特定的一组配置值。为了确保向后兼容性,Tower 使用每个来源的“模板”强制清单插件的输出采用旧版格式。有关每个来源及其相应的模板,请参阅《Ansible Automation Platform 安装和参考指南》中的 支持的清单插件模板,以帮助您迁移到新的清单插件输出样式。
如果您需要访问 HTTP 代理才能从您的操作系统供应商安装软件,请确保在运行 setup.sh
之前,相应地设置环境变量“HTTP_PROXY”。
Tower 安装程序在 /etc/tower/tower.cert
和 /etc/tower/tower.key
中创建自签名的 SSL 证书和密钥文件,用于 HTTPS 通信。如果您希望,可以在安装后用您自己的自定义 SSL 证书替换它们,但文件名必须相同。有关更多信息,请参阅 使用自定义证书。
安装 Ansible Automation Platform 会自动安装运行 Tower 用户界面的 Node.js 的必要版本。
如果使用 Ansible 版本 1.8 或更高版本,请确保在 Tower 机器上的 ansible.cfg
中未启用使用 Redis 的事实缓存。
请注意,Tower 安装必须从能够从可信第三方位置(如 Ansible 的软件库和您的操作系统供应商的软件库)安装软件的互联网连接机器上运行。在某些情况下,还需要访问 Python Package Index (PyPI)。如果您需要能够在断开连接的环境中安装,并且捆绑的安装程序不是您的解决方案(请参阅 使用捆绑的 Ansible Automation Platform 安装程序),请联系 Red Hat 客户门户上的 Ansible https://access.redhat.com/。
如果在 OpenShift 上安装 Tower,请参阅 OpenShift 部署和配置。
您可以在 Ansible Tower 安装程序中使用的标志和/或额外的变量包括(但不限于)以下内容
Usage: setup.sh [Options] [-- Ansible Options]
Options:
-i INVENTORY_FILE Path to ansible inventory file (default: inventory)
-e EXTRA_VARS Set additional ansible variables as key=value or YAML/JSON
i.e. -e bundle_install=false will force an online install
-b Perform a database backup in lieu of installing
-r Perform a database restore in lieu of installing
-k Generate and distribute a new SECRET_KEY
-h Show this help message and exit
Ansible Options:
Additional options to be passed to ansible-playbook can be added following the -- separator
使用 --
分隔符添加您希望应用的任何 Ansible 参数。例如:./setup.sh -i my_awesome_inventory.yml -e matburt_is_country_gold=True -- -K
下表显示了在安装 Tower 期间可以使用的一些额外的变量。
变量 |
描述 |
默认值 |
|
安装 Tower 时,确保 Ansible 也更新。 |
|
|
安装 Tower 时,也创建演示组织、项目、凭据、作业模板等。 |
|
|
从捆绑包安装时,将捆绑的库放在哪里。 |
|
|
通过 nginx 禁用 HTTPS 流量,这在将 HTTPS 卸载到负载均衡器时很有用。 |
|
|
禁用 HSTS 网络安全策略机制。 |
|
|
配置 nginx 监听 HTTP 的端口。 |
|
|
配置 nginx 监听 HTTPS 的端口。 |
|
|
将 setup.sh -b 的备份放在哪里。 |
|
|
备份时使用的临时位置。 |
|
|
指定要从中恢复的备用备份文件。 |
(无) |
|
安装 Tower 所需的最小 RAM(仅应在测试安装时更改)。 |
|
|
最小打开文件描述符(仅应在测试安装时更改)。 |
|
|
忽略预检检查,在安装到模板或其他非系统映像时很有用(覆盖 |
|
以下是常见场景的示例 - 请务必提供适合您特定情况的值。
要升级核心:
./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
要通过将清单文件作为参数传递给安装脚本,来覆盖清单文件:
setup.sh -i <inventory file>
您可以在默认安装过程中自带证书,因此不需要依赖提供的自签名证书。Ansible Tower 安装程序提供三个变量,允许您配置 Tower 部署的 TLS 方面
|
安装节点上自定义证书的路径,Tower 网络服务器将提供该证书。在安装时,它将被复制为 |
|
安装节点上私钥的路径,证书已使用该私钥生成。在安装时,它将被复制为 |
|
要作为系统捆绑包中的可信项添加的自定义证书颁发机构。它将被加载到 Tower CA 受信存储中。 |
您可能需要考虑如何在安装 Ansible Tower 时配置您的代理和 Websocket,以使 Websocket 配置与您的 nginx/负载均衡器配置保持一致。有关更多详细信息,请参阅本指南以下部分中的 代理支持。
Ansible Automation Platform 可以在启用了 FIPS 模式的系统上运行,但需要注意一些限制
仅支持 Enterprise Linux 7 及更高版本。为了使 Ansible Tower 在 FIPS 模式下正常工作,必须使用 RHEL 附带的标准 python。因此,使用任何非标准、非系统 python 运行 Tower 将不被支持。
默认情况下,Tower 使用基于密码的身份验证配置 PostgreSQL,此过程依赖于在安装时运行 CREATE USER
时使用 md5
。要在启用 FIPS 的系统上运行 Tower 安装程序,请在您的清单文件中指定 pg_password
。不要在 pg_password
中使用特殊字符,因为这可能会导致设置失败。
pg_password='choose-a-password'
有关更多详细信息,请参阅 设置清单文件。
如果您在安装程序的清单文件中提供了密码(pg_password
),PostgreSQL 将在安装过程中对该密码进行 SCRAM-SHA-256 散列。
ssh-keygen
命令以某种格式(RFC4716)生成密钥,该格式在过程中的某个时刻(作为对输入密码短语执行的转换的一部分)使用 md5
散列算法。在强制执行 FIPS 的系统上,md5
处于完全禁用状态,因此这些类型的加密 SSH 密钥(由密码短语保护的 RFC4716 私钥)将无法使用。启用 FIPS 模式后,您导入到 Ansible Tower 的任何加密 SSH 密钥必须是 PKCS8
格式的密钥。可以通过运行以下 openssl
命令将现有的 AES128
密钥转换为 PKCS8
$ openssl pkcs8 -topk8 -v2 aes128 -in <INPUT_KEY> -out <NEW_OUTPUT_KEY>
有关更多详细信息,请参阅:https://access.redhat.com/solutions/1519083
使用使用 paramiko
库的 Ansible 功能将不符合 FIPS。这包括将 ansible_connection=paramiko
设置为传输方式,以及使用利用 ncclient
NETCONF 库的网络模块。
TACACS+ 协议使用 md5
来混淆授权数据包的内容;TACACS+ 身份验证 不支持在启用 FIPS 模式的系统上使用。
RADIUS 协议使用 md5
在 Access-Request
查询中加密密码;RADIUS 身份验证 不支持在启用 FIPS 模式的系统上使用。
PackageKit 经常会干扰安装/更新机制。如果在运行设置过程之前安装了 PackageKit,请考虑将其禁用或删除。
仅支持“定向” SELinux 策略。定向策略可以设置为禁用、允许或强制执行。
执行捆绑安装时,请参阅 使用捆绑的 Ansible Automation Platform 安装程序 了解更多信息。
安装 Ansible Tower 时,您只需要运行 setup.sh
,Tower 所需的任何存储库都会自动安装。
最新版本的 Ansible 将在设置过程中自动安装。无需进行其他安装或配置。
Ansible Tower 不再支持 Ubuntu。有关 Ubuntu 的详细信息,请参阅 Ansible Automation Platform 安装和参考指南 的早期版本。
对于基于 OpenShift 的部署,请参阅 OpenShift 部署和配置。
Satellite 用户需要在安装 Tower 之前在 Tower 节点上安装您的 Satellite 实例的 Katello RPM。此 RPM 会自动配置 Subscription Manager 以使用 Satellite 作为其内容源,并且 hostname
值会在 /etc/rhsm/rhsm.conf
中更新。
注意
如果您在安装 Tower 之后安装 Katello RPM,Tower 将无法访问 rhsm.conf
- 它依赖于此文件来从 Satellite 应用订阅。这是因为 Tower 安装程序在 rhsm.conf
文件上设置了 ACL 规则,因此,如果该文件不存在、后来被覆盖或用户没有访问该文件的权限,则无法应用订阅。
有关如何将主机注册到 Satellite 服务器的详细信息,请参阅 Satellite 文档的 注册 部分。