我能找到的只有医生们的这个
此外,
inventory_hostname是Ansible的库存主机文件中配置的主机名的名称。当您不想依赖已发现的主机名ansible_hostname或其他神秘原因时,这可能非常有用。如果您有一个长的FQDN,inventory_hostname_short也包含到第一个句点之前的部分,而不包含域的其余部分。
在Ansible中,inventory_hostname和ansible_hostname变量之间有什么实际差异吗?如果是的话,我应该使用哪一种?何时使用?
发布于 2017-08-27 19:46:59
inventory_hostname -在不可用的库存文件中配置(例如:/etc/ansible/hosts)。它可以是IP地址,也可以是DNS可以解析的名称。ansible_hostname --正如ansible发现的。Ansible ssh进入主机并收集一些事实,作为事实的一部分,它还发现它的主机名存储在ansible_hostname中。你应该用哪一种?
hostvars是一个字典,每个库存主机都有一个条目。如果要访问主机信息,则需要使用inventory_hostname。如果要使用/打印主机上配置的主机名,则应该使用ansible_hostname,因为IP很可能将在库存文件中使用。
:要使用ansible_hostname,需要收集事实:
gather_facts: true否则,您将收到未定义ansible_hostname的消息。
"ansible_hostname": "VARIABLE IS NOT DEFINED!"试着用一个主机来理解不同之处。
tasks:
- debug: var=inventory_hostname
- debug: var=ansible_hostname
- debug: var=hostvarshttps://stackoverflow.com/questions/45908067
复制相似问题