定义清单
清单定义Ansible将要管理的一批主机,这些主机可以分配到组中,方便集中管理
其中的组可以包含子组,
主机也可以是多个组的成员,清单还可以设置应用到它所定义的主机和组的变量
静态清单
静态清单指Ansible目标受管主机的文本文件,可以使用包括INI样式或者YAML样式编写此文件
使用INI样式编写一个静态文件(可以包含受管主机的主机名或者IP地址)
[webservers]——主机组,便于管理
192.0.2.42
定义嵌套组
Ansible主机清单可以通过创建后缀为:children的主机组名称来包含多个主机组
举个栗子
[son]
[father:children]
son
如此一来father主机组就就包含了son主机组的所有主机
验证清单
在linux终端里可以使用命令验证清单
列出所有清单命令
ansible 主机组名 --list-hosts
例:ansible father --list-hosts
验证计算机是否在清单中
ansible 主机名 --list-hosts
例:ansible web1.example.com --list-hosts
覆盖清单文件
系统的默认清单文件位置:/etc/ansible/hosts 通常不使用
一般会在Ansible配置文件中为清单文件定义一个不同的位置
运行清单文件
ansible-playbook 文件名——清单文件在当前目录情况下
否则
使用--inventory PATHNAME 或 -i PATHNAME 来指定清单文件位置
PATHNAME:代指所需清单文件的路径
实验:构建ANSIBLE清单
![](https://i-blog.csdnimg.cn/blog_migrate/ae28068dd20db81c5b9841e8ed148f5c.png)
使用静态方法构建ansible清单(workstation)
1.开启脚本确保 sever abcd可在网络上访问
lab deploy-inventory start
2.修改/etc/ansible/hosts 并将servera.lab.example.com
将入到默认清单etc/ansible/hosts的末尾
sudo vim etc/ansible/hosts
在开头添加 servera.lab.example.com
额外添加一个组[webservers]
将servera.lab.example.com加入到该组底下
3.列出默认清单中所有受管主机
ansible all --list-hosts
插入小知识
ansible ungrouped --list-hosts 列出不属于某个组的主机
ansible webservers --list-hosts 列出属于webservers组的主机
完成该实验
lab deploy-inventory finish 结束该实验