自动化运维工具

随着互联网IT运维飞速发展,目前市场上涌现了大量的自动化配置 维护工具,例如PSSH、PUPPET、CHEF、SALTSTACK、ANSIBLE等。目前互联 网企业使用最多的三款自动化配置工具为PUPPET、ANSIBLE和SALTSTACK。 自动配置工具存在的初衷就是为了更方便、快捷地进行配置管理,它易 于安装和使用,语法也非常简单易学。

曾有媒体报道,Facebook一个运维人员管理上万台服务器,如果使 用手工的方法去维护是很难做到的,基于自动化工具就可以轻松地实现 管理上万台、甚至十万台服务器。 下面将介绍IT运维主流自动化管理工具Puppet、SaltStack、Ansible 各自优缺点。

1、Puppet自动运维工具特点

Puppet是早期的Linux自动化运维工具,是一种Linux、UNIX、 Windows平台的集中配置管理系统,发展至今目前已经非常成熟,可以 批量管理远程服务器,模块丰富,配置复杂,基于Ruby语言编写。最典 型的C/S模式,需要安装服务端与客户端。

Puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互,每个客户端周期地(默认半个小时)向服务器发送请求,获得其最 新的配置信息,保证和该配置信息同步。

每个Puppet客户端每半小时(可以设置)连接一次服务器端,下载 最新的配置文件,并且严格按照配置文件来配置客户端。配置完成以 后,Puppet客户端可以反馈给服务器端一个消息,如果出错也会给服务 器端反馈一个消息。

Puppet适用于服务器管理的整个过程,比如初始安装、配置、更新 以及系统下线。

2、SaltStack自动运维工具特点

SaltStack与Puppet均是C/S模式,需安装服务端与客户端,基于 Python编写,加入MQ消息同步,可以使执行命令和执行结果高效返 回,但其执行过程需等待客户端全部返回,如果客户端未及时返回或未 响应的话,可能会导致部分机器没有执行结果。

3、Ansible自动运维工具特点

Ansible与SaltStack均是基于Python语言开发,Ansible只需要在一台 普通的服务器上运行即可,不需要在客户端服务器上安装客户端。因为 Ansible是基于SSH远程管理,而Linux服务器大都离不开SSH,所以 Ansible不需要为配置工作添加额外的支持。

Ansible安装使用非常简单,而且基于上千个插件和模块,实现各种 软件、平台、版本的管理,支持虚拟容器多层级的部署。很多读者在使 用Ansible工具时,认为Ansible比SaltStatck执行效率慢,其实不是软件 本身慢,是由于SSH服务慢,可以优化SSH连接速度及使用Ansible加速 模块,满足企业上万台服务器的维护和管理。

发表评论

后才能评论