ansible、Puppet、SaltStack 自动化运维原理能否对比一下?

ansible、Puppet、SaltStack 自动化运维原理能否对比一下?显示全部

ansible、Puppet、SaltStack 自动化运维原理能否对比一下?

收起
参与4

返回mornsky的回答

mornskymornsky  研发工程师 , 某银行

自动化代理原理本质上都是通过在被纳管服务器安装并启动代理服务,该代理服务有执行命令、传输文件等功能,管控服务器通过网络远程与代理通信操作,就可管控各个被纳管服务器。

ansible虽然说不用安装代理,但依赖于各服务器已安装并启动好的ssh服务,ssh也可说是通用的自动化代理服务。ansible依靠ssh操作被纳管服务器,并依靠python分析管理,并对python版本也有一定要求。

saltstack也是使用python分析管理,但还建议在各个被纳管服务器中安装代理程序,也是基于python:也可不象ansible一样不安装代理,直接使用ssh,但效率不怎么好。

puppet是便用ruby进行分析管理,必须安装代理程序。

三者对服务器的管控、作业的编排等功能都很强大。ansible由于无代理等原因,速度稍慢,一般慢2秒左右,如果频繁快速的操控会有些影响。

但代理服务好象都存在一个问题,如同crontab定时执行一样,不会将用户的环境参数带入,一般的系统管理可能并问题,但应用系统的启停等命令执行可能会需要额外将环境参数启动(如. .bash_profile),而且执行反馈显示,ansible和saltstack的python处理会简单地强制转换成预设的utf8或gbk,如果相关应用系统使用的字符集不符且存在中文反馈就会出现乱码。基于此,我行自行开发的自动化运维平台,虽然这三个代理都支持,但同时增加了一个自编管控的纯SSH访问模式,也通常使用该方式,解决了多种编码结果反馈问题,同时由于简化了ansible中python的大量处理,访问如同ansible,但速度效率与saltstack差不多。

银行 · 2022-12-30
浏览949

回答者

mornsky
研发工程师某银行

mornsky 最近回答过的问题

回答状态

  • 发布时间:2022-12-30
  • 关注会员:2 人
  • 回答浏览:949
  • X社区推广