首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >inventory_hostname和ansible_hostname有什么区别?

inventory_hostname和ansible_hostname有什么区别?
EN

Stack Overflow用户
提问于 2017-08-27 18:28:56
回答 1查看 128.3K关注 0票数 55

我能找到的只有医生们的这个

此外,inventory_hostname是Ansible的库存主机文件中配置的主机名的名称。当您不想依赖已发现的主机名ansible_hostname或其他神秘原因时,这可能非常有用。如果您有一个长的FQDN,inventory_hostname_short也包含到第一个句点之前的部分,而不包含域的其余部分。

在Ansible中,inventory_hostnameansible_hostname变量之间有什么实际差异吗?如果是的话,我应该使用哪一种?何时使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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,需要收集事实:

代码语言:javascript
复制
gather_facts: true

否则,您将收到未定义ansible_hostname的消息。

代码语言:javascript
复制
"ansible_hostname": "VARIABLE IS NOT DEFINED!"

试着用一个主机来理解不同之处。

代码语言:javascript
复制
  tasks:
    - debug: var=inventory_hostname
    - debug: var=ansible_hostname
    - debug: var=hostvars
票数 101
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45908067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档