Ansible:列出要将其添加到';主机';文件
我设置了一组测试虚拟机(使用纯Debian)来玩,它们都在测试网络上,所以它是一个独立的虚拟机组。这些虚拟机很快就会被销毁,所以我不想将其名称添加到DNS中,同时我需要让它们与主机名通信 是否有任何方法可以基于AnsibleAnsible:列出要将其添加到';主机';文件,ansible,ansible-inventory,Ansible,Ansible Inventory,我设置了一组测试虚拟机(使用纯Debian)来玩,它们都在测试网络上,所以它是一个独立的虚拟机组。这些虚拟机很快就会被销毁,所以我不想将其名称添加到DNS中,同时我需要让它们与主机名通信 是否有任何方法可以基于Ansiblehosts文件中的主机IP在这些虚拟机上形成/etc/hosts文件 我可以这样设置主机名 192.168.0.5 myhostname=host01.local 192.168.0.6 myhostname=host02.local 所以我想我可以以某种方式形成这样的/e
hosts
文件中的主机IP在这些虚拟机上形成/etc/hosts
文件
我可以这样设置主机名
192.168.0.5 myhostname=host01.local
192.168.0.6 myhostname=host02.local
所以我想我可以以某种方式形成这样的/etc/hosts
:
{{ ip }} {{ myhostname }}
但我们可以将其存档。我想我可以迭代
组['all']
并使用lineinfle
向/etc/hosts
添加行,但到目前为止它对我不起作用。您可以使用inventory\u file
变量来获取hosts文件的路径文件名:
同样可用,inventory\u dir
是保存Ansible的库存主机文件的目录的路径名,inventory\u file
是指向Ansible的库存主机文件的路径名和文件名
您可以通过以下方式读取其变量:
tasks:
- local_action: shell cat {{ inventory_file }}
register: result
按照建议。更多关于这里
然后,您可以使用和来使用变量。您可以使用
inventory\u文件
变量来获取主机文件的路径文件名:
同样可用,inventory\u dir
是保存Ansible的库存主机文件的目录的路径名,inventory\u file
是指向Ansible的库存主机文件的路径名和文件名
您可以通过以下方式读取其变量:
tasks:
- local_action: shell cat {{ inventory_file }}
register: result
按照建议。更多关于这里
然后可以使用和来使用变量