03Ansible主机清单

主机清单

Inventory:清单,主机清单

官方链接:https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#

增加主机组

[ ~]# vim /etc/ansible/hosts
[test]
172.22.69.216
[web]
172.22.69.97

这样定义完,进行测试会失败

[ ~]# ansible web -m ping -o

增加用户名和密码

[ ~]# vim /etc/ansible/hosts
[test]
172.22.69.216 ansible_ssh_user=‘root‘ ansible_ssh_pass=‘123456‘
[web]
172.22.69.97 ansible_ssh_user=‘root‘ ansible_ssh_pass=‘123456‘

这样定义完,就可以免用户名和密码进行测试

增加端口

此处假如把172.22.69.216的sshd端口改为2222

[ ~]# vim /etc/ssh/sshd_config
Port 2222

ansible服务器连接客户机默认端口是22

所以需要在 /etc/ansible/hosts 修改端口信息

[ ~]# vim /etc/ansible/hosts
[test]
172.22.69.216 ansible_ssh_user=‘root‘ ansible_ssh_pass=‘123456‘ ansible_ssh_port=‘2222‘
[web]
172.22.69.97 ansible_ssh_user=‘root‘ ansible_ssh_pass=‘123456‘

使用变量

ansible内部变量可以帮助我们简化主机清单的设置

[ ~]# vim /etc/ansible/hosts
[test]
172.22.69.216
[web]
172.22.69.97
[test:vars]
ansible_ssh_user=‘root‘ 
ansible_ssh_pass=‘123456‘ 
ansible_ssh_port=‘2222‘
[web]
ansible_ssh_user=‘root‘ 
ansible_ssh_pass=‘123456‘

常用变量

03Ansible主机清单

使用子分组

将不同的分组进行组合

[ ~]# vim /etc/ansible/hosts
[test]
172.22.69.216 ansible_ssh_user=‘root‘ ansible_ssh_pass=‘123456‘ ansible_ssh_port=‘2222‘
[web]
172.22.69.97 ansible_ssh_user=‘root‘ ansible_ssh_pass=‘123456‘
[linux:children]
test
web

自定义主机列表

创建主机列表文件

[ ~]# vim /tmp/hostlist
[centos]
172.22.69.217
172.22.69.218
[centos:vars]
ansible_ssh_user=‘root‘
ansible_ssh_pass=‘666666‘

测试

[ ~]# ansible -i /tmp/hostlist centos -m ping

-i 选项指定主机列表文件,以及文件中的主机组

相关推荐