一。 ansible介绍


ansbile是基于python的强大的批量命令执行工具,在管理数量庞大的集群中,有很强大的功能,而且体积小,依赖少,大有一统江湖的趋势。


二。安装

RHEL6中,提供了ansible的二进制包,在使用CentOS6的时候,可能需要添加epel源,具体如何添加,请自行百度


# yum install ansible


安装后会在/etc/ansible/目录下生成2个文件 ansible.cfg hosts



三。使用

演示环境介绍:3台节点,分别为node1,node2,node3,在/etc/hosts里添加如下信息

172.16.0.1 node1
172.16.0.2 node2
172.16.0.3 node3


其中只需要1台安装ansible,这里选用node1做“host”

1.node1生成密匙,并将公匙推送给node2和node3

# ssh-copy-id node{1,2,3}(注意本机也要传)


2.编辑/etc/ansible/hosts,将内容全部注释,添加如下信息


[test]
node1
node2
node3


必须保证/etc/hosts里面有主机名对应的IP

3.查看ansible帮助文档

#man ansible

Usage: ansible [options]

4.进行测试


#ansible test -a "date"


5.ansible常见模块及其功能


yum,user,common

#yum all -a "ntpdate 172.16.0.100"
(将所有节点与时间服务器同步,默认使用common模块,可省略)
#yum all -m yum -a “name=htop state=present"
(使用yum模块在所有节点上安装htop,关于yum模块的使用,
可以man ansible.yum)
#yum all -m cron -a 'name=time minute="*/3" job="ntpdate 172.16.0.100 &>/dev/null"'
(给所有节点制定cron任务,每3分钟更新一次时间)


具体其他用法可自行man ansible.