给出以下内容:
all:
...
children:
node[01-05]:
如何对ansible-host
中的每一个应用node
(毫无疑问)不同的值?
如果ansible-host
值遵循类似的模式,该怎么办?这会有效吗?
node[01-05]:
ansible-host: servers.node[01-05].example.com
如果ansible-host
的值完全不同怎么办?
This question似乎可以代替变量文件,但是我不确定这是否可以应用于我的主机文件并解决了我的问题。
答案 0 :(得分:0)
prefix[start:end]suffix
。就您而言:all:
children:
my_nodes:
hosts:
"node[01:05]":
需要使用范围内的引号使yaml知道标识符的结尾
*编辑* 并为您节省了为每个节点设置ansible主机的麻烦,您可以直接使用其适当的名称声明它们:
all:
children:
my_nodes:
hosts:
"servers.node[01:05].example.com":
如果您仍然确实需要一个不同于ansible_host的ventory_host名称,则可以基于整个组的库存来设置var
all:
children:
my_nodes:
vars:
ansible_host: "servers.{{ inventory_hostname }}.example.com"
hosts
"node[01:05]":
host_vars/group_vars
目录,并为每个需要的服务器/组创建一个hostname.yml/groupname.yml
文件。查看该文档以获取有关此主题的更多信息:https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#splitting-out-host-and-group-specific-data