第一篇: Ansible 介绍
应用场景:
BOSS:运维帮忙把所有的服务器tomcat 重启一下,谢谢!(tomcat 服务有2K台)
运维:…………
运维: 啪啪啪啪啪啪啪啪..........(键盘的声音响彻办公室)
BOSS:重启好了么?
运维: 稍等下,再过一个一个小时就好了……
当遇到上述需求时,靠人工一台一台操作显然是不可能的,如果你真的这么做了,那过不了试用期,就已经开除了。所以这时候批量管理工具的重要性就体现出来了。
-------------------------------------------------------------------------------------------------------------------------------------------
Ansible 是一款信任式批量管理工具。当Ansible 服务配置好信任后(如 用户名密码认证、秘钥等): 可在Ansible 服务主机上同时操作所有配置好的所有节点。Ansible 与其他两种管理工具比较的话最明显的特点就是,没有master和agent ,支持ssh 。Ansible 是由python开发的。管理功能虽不及puppet ,效率虽不及saltstack ,但简单、安全、不遗漏是最大特点。
相似的批量管理工具常见的有如下几种:
- Puppet
- Saltstack
其他两款简介:
Puppet: 体量相对比较大,是一堆模块的合集,配置管理方面很强悍,但单独执行简单命令时显很复杂,需要写配置文件,感觉太啰嗦。
Saltstack:和ansible 几乎没有太大差别,都是有python开发,但Saltstack 需要在节点上安装agent 并配置。Saltstack 执行指令时依赖agent 返回,当agent 未响应时可能执行漏掉某些主机,这点是个坑。Slatstack 执行效率高于Ansible