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