Ansible Tower 和 Automation Hub 已被整合为一个统一的平台,称为 Ansible Automation Platform。从 Ansible Tower 3.8 开始,以前的 Tower 安装程序可以作为 Automation Platform 整体安装。如需更多信息,请参阅 Installing 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 上运行,但 OpenShift Container Platform(OCP)上只支持 Tower(不支持 Automation Hub)
Starting with Ansible Tower 3.8, you must have valid subscriptions attached before installing and running the Ansible Automation Platform. Even if you already have valid licenses from previous versions, you must still provide your credentials or a subscriptions manifest again upon upgrading to Tower 3.8. A valid subscription needs to be attached to the Automation Hub node only. Other nodes do not need to have a valid subscription/pool attached. See 附加订阅 for detail.
For customers installing Tower behind Satellite, prepare your Tower nodes by installing the Katello RPM specific to your satellite instance. See Installing Satellite instances on Tower for more information.
为清单源新创建的配置会包含默认插件配置值。 如果您希望 3.8 中新创建的清单源与 3.7 源的输出匹配,必须为该源应用一组特定的配置值。为了实现向后兼容,Tower 对每个源都使用"templates"将清单插件的输出强制到旧格式。如需了解更多的相关信息,请参阅 Ansible Automation Platform Installation and Reference Guide 中的 支持的清单插件模板。
如果您需要通过操作系统厂商的 HTTP 代理来安装软件,请确保在运行 setup.sh
前正确地设置了 "HTTP_PROXY" 环境变量。
The Tower installer creates a self-signed SSL certificate and keyfile at /etc/tower/tower.cert
and /etc/tower/tower.key
for HTTPS communication. These can be replaced after install with your own custom SSL certificates if you desire, but the filenames are required to be the same. See Using custom certificates.
Installing Ansible Automation Platform automatically installs the necessary versions of Node.js to run the Tower User Interface.
如果使用 Ansible 版本 1.8 或更高版本,请确保 Tower 机器的 ansible.cfg
上没有启用使用 Redis 的 fact 缓存。
请注意,Tower 的安装需要在一个可以通过互联网从信任的第三方(如 Ansible 的软件仓库、您的 OS 厂商的软件仓库)安装软件的机器上进行。在一些情况下,还需要可以访问 Python Package Index (PyPI)。如果您需要可以在一个没有网络连接的环境中进行安装且无法使用捆绑的安装程序(请参阅 使用捆绑的 Ansible Automation Platform 安装程序 ),请通过红帽客户门户网站( https://access.redhat.com/)联系 Ansible。
如果在 OpenShift 上安装 Tower,请参阅 OpenShift Deployment and Configuration。
您可以在 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 时还创建 Demo Org 、项目 、凭证 、作业模板等。 |
|
|
在进行捆绑安装时获得捆绑软件仓库的目录 |
|
|
禁用使用 nginx 的 HTTPS 数据,这在将 HTTPS 数据卸载到负载均衡器时非常有用。 |
|
|
禁用 HSTS web-security policy 机制 |
|
|
nginx 为 HTTP 侦听的端口 |
|
|
nginx 为 HTTPS 侦听的端口 |
|
|
放置 setup.sh -b 备份的位置 |
|
|
备份时要使用的临时位置 |
|
|
指定要从中恢复的备用文件 |
(无) |
|
安装 Tower 所需的最小 RAM(应只在测试安装时修改) |
|
|
最小打开文件描述(应只在测试安装时修改) |
|
|
忽略 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
要覆盖使用的清单文件,请将其作为参数传递给设置脚本:
setup.sh -i <inventory file>
You may bring your own certificates as part of the default install and therefore, not rely on the self-signed one provided. The Ansible Tower installer provides three variables that allows you to configure the Tower deployment TLS-wise:
|
Path on the installer node to the custom certificate the Tower web server will serve. It will be copied as |
|
Path on the installer node to the private key the certificate has been generated with. It will be copied as |
|
Custom Certification Authority to add as trustworthy in the system bundle. It will be loaded into the Tower CA trusted store. |
作为安装 Ansible Tower 的一部份,您可能需要考虑如何配置代理和 websocket 以使 websocket 配置与您的 nginx / 负载均衡器配置相一致的问题。如需更多详情,请参阅本指南的 代理支持 部分。
Ansible Automation Platform 可以在启用了 FIPS 模式的系统中运行,但要记住有一些限制:
只支持 Enterprise Linux 7+。当 Ansible Tower 在启用了 FIPS 模式的环境中工作时,必须使用 RHEL 附带的标准 python。不支持在 Tower 中使用任何非标准、非系统的 python。
默认情况下,Tower 使用基于密码的身份验证来配置 PostgreSQL,在安装过程中运行的 CREATE USER
需要使用 md5
。要从启用了 FIPS 的系统中运行 Tower 安装程序,在清单(inventory)文件中指定 pg_password
。不要 在 pg_password
中使用特殊的字符,因为它可能会导致设置失败:
pg_password='choose-a-password'
详情请查看 设置清单(Inventory)文件。
如果您在 inventory 文件中提供安装程序的密码(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>
Ansible 中需要使用 paramiko
库的功能与 FIPS 不兼容。这些功能包括设置 ansible_connection=paramiko
做为传输,使用需要利用 ncclient
NETCONF 库的网络模块。
TACACS+ 协议使用 md5
来混淆授权数据包的内容。启用了 FIPS 模式的系统不支持 TACACS+ Authentication。
RADIUS 协议使用 md5
来加密 Access-Request
查询中的密码;启用了 FIPS 模式的系统不支持 RADIUS Authentication。
PackageKit 可能会经常影响到安装/更新机制。如果安装了 PackageKit,则考虑在运行设置(setup)过程前禁用或删除它。
只支持 "targeted" SELinux 策略。targeted 策略可以被设置为 disabled 、permissive 或 enforcing。
当执行捆绑的安装时,请参考 使用捆绑的 Ansible Automation Platform 安装程序。
当安装 Ansible Tower 时,您只需要运行 setup.sh
,Tower 所需的所有软件仓库都会被自动安装。
在设置过程中会自动安装最新版本的 Ansible。不需要进行额外的安装或配置。
Ansible Tower 不再支持 Ubuntu。如需更多与 Ubuntu 相关的信息,请参阅 Ansible Automation Platform Installation and Reference Guide 以前的版本。
对于基于 OpenShift 的部署,请参考 OpenShift Deployment and Configuration。
Satellite users will need to install the Katello RPM for your Satellite instance on the Tower node prior to installing Tower. This RPM automatically configures Subscription Manager to use Satellite as its content source, and the hostname
value gets updated in /etc/rhsm/rhsm.conf
.
注解
If you were to install the Katello RPM after installing Tower, Tower would not have access to the rhsm.conf
-- which it relies on for applying a subscription from Satellite. This is because the Tower installer sets an ACL rule on the rhsm.conf
file, therefore, a subscription is unable to be applied if that file does not exist, gets later overwritten, or the user does not have the right permissions to access the file.
For detail on how to register a host with a Satellite server, refer to the Registration section of the Satellite documentation.