ansible.cfg文件及host文件配置


inventory:资源清单文件的存放,资源清单就是一些主机的列表。可以指向一个文件也可以指向一个目录。

默认为:

inventory      = /etc/ansible/hosts


library:ansible的操作动作,指定ansible模块的目录。

默认为:

library        = /usr/share/my_modules/



forks:设置ansible最多能有多少个进程同时工作。

默认为:

forks          = 5



sudo_user:默认执行命令的用户,可以在playbook中重新设置这个参数。

默认为:

#sudo_user      = root



remote_port:远程被管节点的管理关口,默认为22.


host_key_checking:设置是否检查ssh主机的秘钥。

默认为:host_key_checking = False



timeout:设置ssh连接超时的时间间隔。

默认为:

timeout = 10

log_path:指定ansible执行过程存储日志的文件。

log_path = /var/log/ansible.log


host文件的配置:


可以这样写:

[test]
192.168.121.128
192.168.121.129



也可以这样写:

[test]
192.168.121.[128:129]


# ansible test -m 'ping ' -o
192.168.121.128 | SUCCESS => {"changed": false, "ping": "pong"}
192.168.121.129 | SUCCESS => {"changed": false, "ping": "pong"}



要是host主机分组比较多,都属于同一个大组,不同的小组,可以这样写:


[test:children]
test1
test2
[test1]
192.168.121.128
[test2]
192.168.121.129



[root@192 ansible]# ansible test -m 'ping ' -o
192.168.121.128 | SUCCESS => {"changed": false, "ping": "pong"}
192.168.121.129 | SUCCESS => {"changed": false, "ping": "pong"}
[root@192 ansible]# ansible test1 -m 'ping ' -o
192.168.121.128 | SUCCESS => {"changed": false, "ping": "pong"}
[root@192 ansible]# ansible test2 -m 'ping ' -o
192.168.121.129 | SUCCESS => {"changed": false, "ping": "pong"}

当然也可以查看这个组下的主机:

[

root@192 ansible]# ansible test1 --list-hosts
  hosts (1):
    192.168.121.128
[root@192 ansible]# ansible test --list-hosts
  hosts (2):
    192.168.121.128
    192.168.121.129