几个配置管理系统puppet、chef、saltstack、ansible的对比

时间:2022-02-26 17:39:45
建议选择 salt,包含配置管理,自动部署和远程命令执行,本身 Python 写的,为以后二次开发留下方便道路(当然,本身自带的 module 已经很强大了,salt.utils 也有很多方便函数)


Salt 的优势:
* 同时囊括 部署 和 命令
* 官方 states 其实蛮多,saltstack/salt-states 路 GitHub
* 自己写 modules 很方便,utils 支持完善
* Grain / Pillar 虽然用词绕口,但是使用非常方便
* Python 开发库要比基于 Ruby 的运维工具更多
* 轻量
劣势:
* 社区年轻(两年多吧,不确定)
* 文档少(个人感觉其实不少,而且托 Python 的福,源码很好理解)
* 第三方插件的确不如另外两者丰富,但是题主的 60+ 服务器规模,应该够用了。

另外,别人的回答其实都是参考,自己公司用的话,应该根据自己情况权衡,建议从
* 资源丰富程度
* 依赖复杂程度(salt 依赖 ZeroMQ,不依赖 SSH)
* 自己开发能力(流程定制,数据展示,特殊数据接口支持)
进行评估,我们说的都是参考。写个 PPT 给老大分析以下,去 Sideshare 上面搜索 saltstack,有几篇不错的分享。

刚好这几天也正在看配置管理系统选型。
puppet的影响力更大,在国内应用比较广,资料也多。
其他两款saltstack和chef在国内应用不多,另外还有一款配置管理系统Ansible据说也不错。