1、inventory 含义
Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。
如果是名称类似的主机,可以使用列表的方式标识各个主机。
vim /etc/ansible/hosts
[webservers]
192.168.20.11:2222 #冒号后定义远程连接端口,默认是 ssh 的 22 端口
192.168.20.1[2:5] #1[2:5]代表12、13、14、15[dbservers]
db-[a:f].example.org #支持匹配 a~f
2、inventory 中的变量
(1)主机变量
[webservers]
192.168.80.11 ansible_port=22 ansible_user=root ansible_password=abc1234
(2)组变量
[webservers:vars] #表示为 webservers 组内所有主机定义变量
ansible_user=root
ansible_password=abc1234
[all:vars] #表示为所有组内的所有主机定义变量
ansible_port=22
(3)组嵌套
[nginx]
192.168.80.20
192.168.80.21
192.168.80.22[apache]
192.168.80.3[0:3][webs:children] #表示为 webs 主机组中包含了 nginx 组和 apache 组内的所有主机
nginx
apache
3、总结
inventory主机清单管理
主机清单配置文件 /etc/ansible/hosts
格式:
[组名]
主机IP[:ssh端口] #ssh端口默认为 22
主机名[:ssh端口]
主机IP[0:255] #设置连续的主机列表范围
主机名[a:z]
主机IP ansible_port= ansible_user= ansible_password= .... #设置主机变量
[组名:vars] #设置组变量
ansible_port=
ansible_user=
ansible_password=
....
[大组名:children] #设置组嵌套
组名1
组名2
....