Ansible- 批量linux管理工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible- 批量linux管理工具相关的知识,希望对你有一定的参考价值。

from http://blog.chinaunix.net/uid-20642150-id-4096719.html

 

Ansible- 批量linux管理工具

https://github.com/ansible/ansible
无意中看到这个项目,感觉跟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"


性能不知道如何,后续用脚本做一下压力测试。

以上是关于Ansible- 批量linux管理工具的主要内容,如果未能解决你的问题,请参考以下文章

Linux批量管理神器 ansible部署

Linux命令集锦:ansible命令

Linux中ansible自动化运维工具

Ansible--批量 linux/unix服务器管理工具

Linux:综合架构批量管理服务(ansible)-- 下

LINUX——关于ansible批量控制,批量命令及部署的使用