来自动态清单的 Ansible 剧本参数

Ansible playbook parameter from dynamic inventory

鉴于以下剧本,我想为主机组的每个成员分配特定的主机名。因此,name 参数需要针对主机组中的每个实例进行更改。

- name: friendly hostname
  hostname: name=clusterXmember.1

如何从清单文件中访问机器名称?具体是当前机器的ip,还是主机名?

随着剧本的运行,我希望 name 参数预先填充来自库存的数据。 (从 terraform 生成)

How do I access the machine names from the inventory file? Specifically the current machine's ip, or the hostname?

库存名称可以通过 built-in variablesinventory_hostnameinventory_hostname_shortansible_hostname 以不同的格式访问。请参阅我链接到的文档以了解每个文档的说明。

每个主机的IP可以通过facts that are gathered获取。您可能希望使用 ansible_default_ipv4['address'] 来获取您要查找的内容。