Ansible的资产

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

你可能感兴趣的:(ansible,服务器)