Ansible:对 group_vars 使用模式

Ansible:对 group_vars 使用模式

可以为 AND 组创建 group_vars 文件吗?

例子,

group_vars/DMZ:&WEB

可以做这样的事吗?

非常感谢

答案1

不,你创建一组群组:

[dmz]
dmzhost1
dmzhst2

[web]
webserver1
webserver2

[webdmz:children]
web
dmz

然后创建group_vars/webdmz,以便所有四个主机都有变量

https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#inheriting-variable-values-group-variables-for-groups-of-groups


在写这个回复时,我意识到你可能想说的是别的意思:只有当主机同时属于两个组时才应用变量。在这种情况下,我认为你需要包含变量

- name: include vars only when host in BOTH groups
  include_vars:
    file: dmzweb.yaml
  when:
    - "'dmz' in group_names"
    - "'web' in group_names"

相关内容