Chinaunix首页 | 论坛 | 博客
  • 博客访问: 816698
  • 博文数量: 162
  • 博客积分: 5308
  • 博客等级: 大校
  • 技术积分: 2152
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-15 19:09
个人简介

DevOps让系统管理更轻松。

文章分类

全部博文(162)

文章存档

2014年(28)

2012年(10)

2011年(6)

2009年(60)

2008年(58)

我的朋友

分类: 系统运维

2014-02-05 20:46:34

Ansible- 批量linux管理工具


无意中看到这个项目,感觉跟puppet很相似,花时间了解了一下,发现还是很不错,而且支持使用python添加自己需要的模块,很简单。
而且相对来说,ansible有如下优点:
1、轻量级,他不需要去客户端安装agent,更新时,只需要在操作机上进行一次更新即可
2、批量任务执行可以写成脚本,而且不用分发到远程就可以执行
3、使用python编写的,维护更简单,ruby语法过于复杂
4、支持sudo

缺点:
1、对于几千台、上万台机器的操作,还不清楚性能、效率情况如何,需要进一步了解。

简要使用方法如下:
ansible 在centos 6.2上的安装


源码安装,源码去github上下载即可
yum install PyYAML.x86_64 python-paramiko.noarch python-jinja2.x86_64 
python setup.py build
python setup.py install


rpm 安装
git clone git://github.com/ansible/ansible.git
cd ./ansible
make rpm
sudo rpm -Uvh ~/rpmbuild/ansible-*.noarch.rpm

在/etc/profile下面添加上下面的环境变量
export ANSIBLE_HOSTS=/etc/ansible/ansible_hosts
export ANSIBLE_CONFIG=/etc/ansible/ansible.cfg
其中/etc/ansible/ansible_hosts里面就是要操作的主机列表,当然,在执行命令时,也可以带【-i】参数来指定主机列表文件名


ansible all -m command -a "/bin/echo hello" --ask-pass
ansible all -m ping --ask-pass -u root
ansible all -m script -a "/root/hequan/shell/t.sh" -k
ansible all -m copy -a "src=/root/hequan/shell/t.sh dest=/tmp/ mode=755 owner=root group=root" -k -u root
ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root" -k -u root
ansible all -i /etc/ansible/serverlist -m shell -a "/tmp/t.sh" -k -u root
ansible all -m user -a "name=foo password="
ansible all -m user -a "name=foo state=absent"


性能不知道如何,后续用脚本做一下压力测试。
阅读(13595) | 评论(1) | 转发(0) |
0

上一篇:haproxy安装脚本

下一篇:LVS session问题处理

给主人留下些什么吧!~~

hellovalue2015-01-16 00:58:05

我刚刚下载了一款linux批量管理工具BatchShell,配置和安装都不需要,感觉可以秒杀Ansible了,挺牛B的。
论坛有介绍,http://bbs.51cto.com/thread-1138811-1.html