自动化运维落实到位的三点基础及常用工具对比
|
第一种是完全自研,例如阿里巴巴集团的所有物理机上都安装有一个久经考验并且功能强大的代理staragent,阿里巴巴集团所有物理机在系统初始化的时候就安装了这个staragent,直到生命周期结束,这个startagent才会被卸载。这里有个问题就是,不是所有的公司都能像阿里巴巴一样自研一个功能非常强大的agent,因此就有了第二种和第三种理念。 第二种理念是使用市面上已有的自动化运维工具,并基于这些工具做成自动化运维平台。目前市面上常见的自动化运维工具主要有以下几种,Puppet、Chef、Ansible和Salt,下面对四种产品做一个对比介绍: Puppet应该是市面上使用最多的,就操作、模块、界面而言,它是最全面的,Puppet呈现了数据中心协调的全貌,为各大操作系统提供了深入的工具,初始设置简单,只是需要加以管理的每个系统上安装客户端代理软件,CLI简单直观,允许通过puppet命令下载和安装模块,你可以对配置文件进行需要的修改,让模块适合所需的任务,接到指令的客户端与主服务器联系时,会更改配置文件,也可以是客户端主动与服务端通信来获取到最新的配置文件,还有一些模块可以提供和配置云服务器实例和虚拟服务器实例,所有模块和配置都使用基于Ruby的Puppet专属语言或者Ruby本身构建而成,因而除了系统管理技能外,还需要编程专业知识。 Chef的总体概念类似Puppet,因为在被管理的节点上安装代理软件,但实际部署又不一样。除了主服务器外,安装的Chef环境还需要工作站来控制主服务器。代理软件可以借助使用SSH来部署的knife工具从工作站加以安装,减轻了安装负担。被管理的节点通过使用证书,完成与主服务器之间的验证。与Puppet一样,Chef得益于一大批的模块和配置菜谱,那些模块和配置菜谱又高度依赖Ruby。由于这个原因,Chef非常适合注重开发的基础设施。 Ansible极其类似Salt,而不太类似Puppet或Chef,Ansible关注的重点是力求精简和快速,而且不需要在节点上安装代理软件也可以选择安装。Ansible能通过SSH执行所有功能,Ansible基于Python开发对于熟悉python的人而言是一大福音,并且是由红帽进行运营。Ansible可以从命令行来运行,不需要使用配置文件。至于比较复杂的任务,Ansible配置通过名为Playbook的配置文件中的YAML语法来加以处理。Playbook还可以使用模板来扩展其功能,目前playbook的模板还是非常丰富的。 (编辑:网站开发网_马鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

