基于IP范围的ansible动态组
ansible dynamic group based on IP range
如何在 ansible inventory 组中创建基于 ip 地址范围的变量组?我在不同的位置有两组服务器。我想根据他们的 IP 范围(两个位置的两个范围)创建两个组。我的主机清单中已经有基于分发、生产、开发、测试、质量保证、博士的组。我知道我可以使用 group_by 创建 thr 分组。但是我怎么称呼他们呢?以及如何为它们分配自定义变量名称?
- 主持人:全部
任务:
- group_by: key=network_{{ ansible_default_ipv4.network }}
但是我该如何称呼他们呢?以及如何为它们分配自定义变量名称?有没有一种方法可以创建一个组并将所有主机存储在静态清单文件中。 ?
我已经在 中回答了。
您可以将 when
语句与 group_by
一起用于任何其他任务。
例如:
---
- hosts: all
tasks:
- group_by: key=London
when: ansible_default_ipv4.network == '192.168.0.0'
- group_by: key=Paris
when: ansible_default_ipv4.network == '10.0.0.0'
如何在 ansible inventory 组中创建基于 ip 地址范围的变量组?我在不同的位置有两组服务器。我想根据他们的 IP 范围(两个位置的两个范围)创建两个组。我的主机清单中已经有基于分发、生产、开发、测试、质量保证、博士的组。我知道我可以使用 group_by 创建 thr 分组。但是我怎么称呼他们呢?以及如何为它们分配自定义变量名称? - 主持人:全部 任务: - group_by: key=network_{{ ansible_default_ipv4.network }}
但是我该如何称呼他们呢?以及如何为它们分配自定义变量名称?有没有一种方法可以创建一个组并将所有主机存储在静态清单文件中。 ?
我已经在
您可以将 when
语句与 group_by
一起用于任何其他任务。
例如:
---
- hosts: all
tasks:
- group_by: key=London
when: ansible_default_ipv4.network == '192.168.0.0'
- group_by: key=Paris
when: ansible_default_ipv4.network == '10.0.0.0'