第 8 章 关于安装程序清单文件
Red Hat Ansible Automation Platform 使用清单文件,根据您以逻辑方式组织的基础架构中的受管节点或主机列表进行工作。您可以使用 Red Hat Ansible Automation Platform 安装程序清单文件指定您的安装场景,并描述 Ansible 的主机部署。通过使用清单文件,Ansible 可以通过一个命令管理大量主机。清单还可以通过减少您指定的命令行选项数目来更有效地使用 Ansible。
根据您拥有的清单插件,清单文件可以采用多种格式。最常见的格式是 INI
和 YAML
。本文档中列出的清单文件以 INI 格式显示。
清单文件的位置取决于您使用的安装程序。下表显示了可能的位置:
安装程序 | 位置 |
---|---|
捆绑包 tar |
|
非捆绑包 tar |
|
RPM |
|
您可以使用以下命令验证清单中的主机:
ansible all -i <path-to-inventory-file. --list-hosts
清单文件示例
[automationcontroller] host1.example.com host2.example.com Host4.example.com [automationhub] host3.example.com [database] Host5.example.com [all:vars] admin_password='<password>' pg_host='' pg_port='' pg_database='awx' pg_username='awx' pg_password='<password>' registry_url='registry.redhat.io' registry_username='<registry username>' registry_password='<registry password>'
清单文件的第一个部分指定 Ansible 可使用的主机或主机组。
8.1. 主机和组指南
数据库
-
使用外部数据库时,请确保正确设置清单文件的
[database]
部分。 - 要提高性能,请不要在同一服务器上并置数据库和自动化控制器。
Automation hub
-
如果有
[automationhub]
组,则必须包含变量automationhub_pg_host
和automationhub_pg_port
。 -
在
[automationhub]
组中添加 Ansible Automation hub 信息。 - 不要在同一节点上安装 Ansible Automation hub 和自动化控制器。
为
[automationhub]
和[automationcontroller]
主机提供可访问的 IP 地址或完全限定域名(FQDN),以确保用户可以从不同节点同步并安装 Ansible 自动化中心和自动化控制器的内容。FQDN 不得包含
-
或_
符号,因为它无法正确处理。不要使用
localhost
。
私有自动化中心
- 不要在同一节点上安装私有自动化中心和自动化控制器。
- 您可以使用相同的 PostgreSQL (数据库)实例,但它们必须使用不同的(数据库)名称。
- 如果您从内部地址安装私有自动化中心,并且有一个只包含外部地址的证书,可能会导致安装在没有证书问题的情况下作为容器 registry 使用。
您必须分隔自动化控制器和 Ansible 自动化中心的安装,因为 [database]
组无法区分这两个(如果同时安装了这两个组)。
如果您在 [database]
和自动化控制器和 Ansible 自动化中心中使用一个值,则它们将使用相同的数据库。
自动化控制器
- 自动化控制器不会为它使用的数据库配置复制或故障转移。
- 自动化控制器可以和已有的复制一起工作。
Event-Driven Ansible 控制器
- event-Driven Ansible 控制器必须安装在单独的服务器上,且不能安装到与自动化中心和自动化控制器相同的主机上。
集群安装
- 在升级现有集群时,您还可以重新配置集群来忽略现有的实例或实例组。从清单文件中省略实例或实例组不足以将其从集群中移除。除了从清单文件中省略实例或实例组外,还必须在开始升级前取消置备实例或实例组。如需更多信息,请参阅 取消置备节点或组。否则,忽略的实例或实例组会继续与集群通信,这可能会在升级过程中造成自动化控制器服务的问题。
如果要创建集群安装设置,则必须使用所有实例的主机名或 IP 地址替换
[localhost]
。自动化控制器和自动化中心的安装程序不接受[localhost]
所有节点,实例必须能够使用此主机名或地址访问任何其他节点。您不能在其中一个节点上使用 localhostansible_connection=local
。对所有节点的主机名使用相同的格式。因此,这无法正常工作:
[automationhub] localhost ansible_connection=local hostA hostB.example.com 172.27.0.4
需要使用以下格式:
[automationhub] hostA hostB hostC
或者
[automationhub] hostA.example.com hostB.example.com hostC.example.com