Ansible。我们可以为host_vars文件自定义名称吗?

问题描述 投票:0回答:1

- 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 变量的值。这将使我能够给出一些特定功能的名称,如 主子、奴才等 在后一种情况下,即使主机改变,文件的名称也可以保持不变。

variables ansible ansible-inventory inventory
1个回答
1
投票

然后你可以在 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文件

了解更多细节和使用案例。

© www.soinside.com 2019 - 2024. All rights reserved.