Ansible组中基于ip范围的动态组

时间:2016-07-25 14:58:10

标签: ansible ansible-playbook

如何根据安全库存组中的IP地址范围创建变量组?我在不同的位置有两组服务器。我想每次在剧本中创建组,以便在更新的服务器列表上运行剧本。我已经在我的主机库存中基于发行版,prod,dev,test,qa,dr进行了分组。

先谢谢

1 个答案:

答案 0 :(得分:0)

您可以在开头扫描所有主机,并按照您想要的方式对其进行分组,例如:通过网络:

- hosts: all
  tasks:
    - group_by: key=network_{{ ansible_default_ipv4.network }}

这将创建尽可能多的名称为network_<network>的组,并拥有许多不同的网络。但请记住,它需要从所有主机收集事实,因此根据主机数量和连接速度,它可能需要大量时间。事实缓存会加速事情,但无论如何......

如果您手动管理库存文件,请考虑手动指定区域组。