ansible主机分组管理:


ansible配置

说明:关于ansible hosts文件中可用参数:

ansible_ssh_port=22                  #远程主机登陆端口

ansible_ssh_user=root                #远程主机登陆用户名

ansible_ssh_pass=chekir              #远程主机登陆用户名的密码

ansible_ssh_private_key_file=/etc/ansible/hosts   #指定管理主机群列表文件

host_key_checking=False              #跳过第一次连接检测询问是否登陆的提示(YES/NO)


这里hosts文件我做了互信认证,所以hosts文件我就写了个主机IP,端口号默认的话可以不用写


1、备份ansible hosts文件:

[root@soso ~]# cp /etc/ansible/hosts /etc/ansible/hosts.bak

2、清空hosts文件,定义主机分组

[root@soso ~]# cat /etc/ansible/hosts
[test]
192.168.1.2

3、测试ansible

[root@soso ~]# ansible -i /etc/ansible/hosts test -m shell -a 'uptime'
192.168.1.2 | success | rc=0 >>
 14:28:04 up 21:12,  3 users,  load average: 0.01, 0.02, 0.00

[root@soso ~]# ansible test -i /etc/ansible/hosts  -m command -a 'date'         
192.168.1.2 | success | rc=0 >>
Wed Dec 16 14:30:40 CST 2015

#参数解释:

-i:  指定主机列表文件        

-u: 指定远程主机登陆用户        

-m:指定使用ansible 的模块                

-a: 指定模块下使用的参数        

-k: 指定远程登陆用户的密码


上面测试的命令还可以简写:   

[root@soso ~]# ansible  test -a 'date'
192.168.1.2  | success | rc=0 >>
Wed Dec 16 14:33:53 CST 2015

测试远程主机状态,查看是否存活

[root@soso ~]# ansible all -m ping 
192.168.1.2  | success >> {
    "changed": false, 
    "ping": "pong"
}