- group_vars
我有一个ansible清单,组织如下。
../project1
|- group_vars
|- host_vars
|- 10.20.30.1.yml
{{content like remote-endpoint="x.x.x.x", ... a very big var map... ,}}
|- 10.20.30.2.yml
{{content like remote-endpoint="y.y.y.y", ... a very big var map... ,}}
inventory
我的清单文件的内容如下。
10.20.30.1 hvar="host1"
10.20.30.2 hvar="host2"
上面的工作和预期的一样,我能够访问特定主机的所有主机级变量。
我想做什么?
我想让host_vars*files*的名字基于标签(也许),比如------。主机1、主机2等 而不是" inventory_hostsname "ansible 变量的值。这将使我能够给出一些特定功能的名称,如 主子、奴才等 在后一种情况下,即使主机改变,文件的名称也可以保持不变。
然后你可以在 hosts
,
allgrouphost1
allrouphost2
[master]
host1
[slave]
host2
host3
host4
以此类推。host_vars/host1.yml
你可以在 host_vars/host2.yml
文件或其特定的主机vars文件,用
变量。hosts
随着 ansible_host
档案
wih hosts
档案
host1 ansible_host=192.0.2.98 ansible_user=deploy
括号中的标题是组名(host_vars/host1.yml
,
ansible_host: 192.0.2.98
ansible_user: deploy
),用于对主机进行分类,并决定在什么时间和什么目的下控制哪些主机。[master]
你可以按组名运行游戏本,这样,这些游戏本只在属于该组的主机上执行。你也可以在 [slave]
文件。
参见 group_vars
文件