目前,我正在考虑一种解决方案,该方法如何遍历变量文件并使用在
中定义的变量文件中保存的变量 /roles/webservers for each different host
(对于每个主机,它都有自己的唯一属性和变量)。变量位于/roles/webservers/variables/webserver_variables.yml
例如
host1 needs the following attributes from the file:
- fantastic_value a: raccoon
- fantastic_value b: duck
host2 needs the following attributes from the file:
- fantastic_value a: sheep
- fantastic_value b: cow
以上内容纯粹是为了说明我的观点。
这些变量以我用于Linux Web服务器的特定角色(Web服务器)在变量文件中定义。
如何使它工作,以便host1和host2获得适当的值?
我尝试用with_items
遍历一个列表,但是没有成功。
答案 0 :(得分:2)
实现此目的的一种方法是在yaml文件中包含变量和值。 yaml文件名应与 host_vars 文件夹中的主机名相同。
下面是示例目录布局
|- inventory # inventory file for servers
|- group_vars/
| |- group1.yml # here we assign variables to particular groups
| `- group2.yml
`- host_vars/
|- host1.yml # here we assign variables to particular host
`- host2.yml
host_vars / host1.yml
---
fantastic_value_a: 'raccoon'
fantastic_value_b: 'duck'
host_vars / host2.yml
---
fantastic_value_a: 'sheep'
fantastic_value_b: 'cow'
有关更多信息,请检查此link