一、安装ansible
yum install ansible -y
ansible --version //查看版本,没有报错即安装成功
二、ansible主机定义与分组
1. ansible配置文件查找顺序(意思是以前边配置文件为准,前边有后边就不生效了)
- 首先检测ANSIBLE_CONFIG变量定义的配置文件
- 其次检查当前目录下的./ansible.cfg文件
- 再次检查当前用户的家目录下~/ansible.cfg文件
- 最后检查/etc/ansible/ansible.cfg文件
/etc/ansible/ansible.cfg是默认配置文件路径
2. 主机定义与分组(静态)
- 查看/etc/ansible/ansible.cfg中inventory=/etc/ansible/hosts
- 在/etc/ansible/hosts定义主机分组,该文件中有定义的示例
- 定义好之后使用 ansible 分组名 --list-hosts 就可以查看该组中有哪些机器
- ansible test -m ping //测试是否可以正常ssh分组主机,test是组名,-m是使用模块,ping是测试是否可以正常ssh,不是测试能否ping的通的
在/etc/ansible/hosts中定义托管主机时,如果ansible主机不能免密登陆托管主机,可以在定义时后边加参数
ansible_ssh_user="root" ansible_ssh_pass="托管主机的密码"
- 在分组时如果一个组账号和密码都一样,也可以给一个组指定一个账号和密码
- ansible建立连接会有缓存,在/root/.ansible/cp/目录下,可以把该目录下内容清空即可
- 定义子组,当机器比较多时可以在一个分组中引用另一个分组,如下图
然后再查看
3. 动态分组
- 动态分组是利用脚本,inventory=脚本名,在当前目录下创建脚本,脚本内容是查询主机,并以json格式输出