Ansible Inventory介绍
可以想象,当我们需要使用Ansible管理多台服务器时,需要一个地方来定义这些被管理的服务器资源,这就是Inventory。
Static inventory
静态inventory其实就是使用一个文本文件来定义所有被管理的机器。默认的配置文件为:/etc/ansible/hosts。在安装Ansible时并不会自动创建这个文件,因此在安装后需要手工创建它。
未分组主机
如果IP没有被放在任何组中,会被认为是未分组的主机:
www.example.com
192.168.0.1
192.168.0.2
多个主机的表示法:
- www[01:06].example.com: 表示www01.example.com, www02.example.com, …, www06.example.com
分组进行管理
最好的方式是将不同的主机进行分组,比如:
[web_servers]
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
[db_servers]
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
ansible PATTERN
基本用法:
ansible PATTERN -i inventory -m module -a argument
这里的PATTERN:
- 可以是组名,比如all,dev
- 也可以是具体的在inventory中定义的主机IP。
- 同时还支持通配符*.
- 两个组的交集:web_servers:&cach_servers
- 在一个组但不在另一个组中:web_servers:!cache_servers