ansible-主机分组

一、安装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格式输出
When nothing seems to help, I go look at a stonecutter hammering away at his rock, perhaps a hundred times without as much as a crack showing in it. Yet at the hundred and first blow it will split in two, and I know it was not that blow that did it, but all that had gone before. -- Jacob Riis
原文地址:https://www.cnblogs.com/xhwy-1234/p/12153044.html