1.静态资产
它本身是个文本文件,一个格式类似INI的文件,INI格式的文件是有域的([])。
默认情况下,Ansible的资产位于/etc/ansible/hosts。pip安装的可能没有这个文件,可自己手动创建一个。
2.资产文件可以自定义
例子:
# cat inventory.ini
1.1.1.1
2.2.2.2
3.3.3.[1.15]
test01.csdn.com
test03.csdn.com
[webservers]
192.168.1.2
192.168.1.3
[dbdb_servers]
182.168.2.2
192.168.2.3
[all_servers]
[all_servers:children]
webservers
dbdb_servers
Ansible资产文件文件中,可以以IP地址的形式或主机名的形式存在。若资产连续,可以使用[stat:end]的形式去表达,也可以将服务器定义成组,组和组之间可以存在继承关系。
3.验证
例举出所有资产
# ansible all -i inventory.ini --list-hosts
hosts(29):
1.1.1.1
2.2.2.2
3.3.3.1
...略...
例举出选定资产
# ansible web_servers -i inventory.ini --list-hosts
hosts(2):
192.168.1.2
192.168.1.3
4.资产选择
选择一台或几台服务器
# ansible 1.1.1.1 -i inventory.ini --list-hosts
hosts(1):
1.1.1.1
选择一组服务器
# ansible web_servers -i inventory.ini --list-hosts
hosts(2):
192.168.1.2
192.168.1.3
使用*匹配
# ansible 3.3.3.1* -i inventory.ini --list-hosts
hosts(7):
3.3.3.13
3.3.3.10
3.3.3.11
3.3.3.12
....略....
逻辑匹配
两个组内的所有主机
# ansible 'web_server:db_servers' -i inventory.ini --list-hosts
hosts(4):
192.168.1.2
192.168.1.3
192.168.2.2
192.168.2.3
两个组共有的主机
# ansible 'web_servers:&db_servers' -i inventory.ini --list-hosts
hosts(1):
192.168.1.5
在web_servers中,但是不在db_servers中
# ansible 'web_servers:!db_servers' -i inventory.ini --list-hosts
hosts(2):
hosts(2):
192.168.1.2
192.168.1.3