Nev*_*eue 7 hostname ansible ansible-inventory
在我的库存中,我定义了这样的主机:
[server1]
141.151.176.223
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个保留server1名称的变量,因为我用它来定义服务器主机名.
inventory_hostname设置141.151.176.223
ansible_hostname为以及inventory_hostname_short设置为148.
要解决此问题,我正在设置我自己的变量,如下所示:
[server1]
141.151.176.223 hostname=server1
Run Code Online (Sandbox Code Playgroud)
但我不满意这种方法.
有任何想法吗?
tec*_*raf 14
说明
如果库存文件以这种方式定义:
[server1_group]
server1 ansible_host=141.151.176.223
Run Code Online (Sandbox Code Playgroud)
然后你可以访问:
server1用inventory_hostname事实;
141.151.176.223用ansible_host事实;
server1_groupwith group_names|first(group_names事实包含服务器所属的所有组的列表,first从该列表中选择第一个元素).
无论上述情况如何,ansible_hostname事实都包含主机本身定义的主机名(该值在事实收集期间设置).
解
您应该使用标准ansible_host声明指向目标的IP地址并将库存主机名设置为您要在Ansible playbooks中引用服务器.
特别是你可以完全跳过组定义并定义:
server1 ansible_host=141.151.176.223
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15731 次 |
| 最近记录: |