使用ansible时,需要指定被控端的ip。是先加入进主机清单中,下一步才能在ansible中选择命令的部署范围。
一、hosts文件(默认位置/etc/ansible/hosts,也可以执行的时候加入-i,指定文件的位置)
- 常规用法
主机较少时,可以直接将主机添加进hosts,主机可以是ip,也可以是主机名或域名,此时需要在/etc/hosts文件添加域名解析或者指定一个dns服务器帮你正确解析域名。
192.168.174.144
192.168.174.144
2.主机名代替ip
在主控端的/etc/hosts文件中添加解析
[root@ansible-master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.174.144 slave1
192.168.174.145 slave2
[root@ansible-master ~]#
/etc/ansible/hosts文件使用主机名代替ip
[root@ansible-master ~]# grep -v '#' /etc/ansible/hosts|grep -v '^$'
slave1
slave2
[root@ansible-master ~]#
3.主机组方式
一个主机组下可以有多个主机
[slave]
192.168.174.144
192.168.174.144
4.列表
[root@ansible-master ~]# grep -v '#' /etc/ansible/hosts|grep -v '^$'
[slave]
192.168.174.[144:145]
[root@ansible-master ~]#
5.嵌套
主机配置文件中是支持重复主机的,一个主机可以在不同的主机组里面
[root@ansible-master ~]# grep -v '#' /etc/ansible/hosts|grep -v '^$'
[slave1]
192.168.174.144
[slave2]
192.168.174.145
[slave:children]
slave1
slave2
[root@ansible-master ~]#
6.这里主机清单中并没有带用户密码,可以自行查阅使用方法,推荐密钥
ansible_ssh_user 默认的 ssh 用户名 ansible_ssh_pass ssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)