puppet基础介绍可参考:
saltstack基础介绍可参考:
二、技术特性比较
名称Puppet
SaltStack
Ansible
开发语言 Ruby Python Python
客户端 有 有 无
二次开发 不支持 支持 支持
通信验证 是 是 是
同学加密 标准SSL协议 AES加密 OpenSSH
平台支持 AIX,BSD,HP-UX,Linux,Mac OS X,Solaris,Windows BSD,Linux,Mac OS X,Solaris,Windows AIX,BSD,HP-UX,Linux,Mac OS X,Solaris
配置文件格式 Ruby语法格式 YAML YAML
Web UI 提供 提供 提供(商业版本)
命令执行 不支持(配置模块可实现) 支持 支持
三、优缺点对比
名称优势
劣势
成本
Puppet
模块由Ruby或Ruby子集编写
push命令可以即可触发变更
Web界面生成处理报表、资源清单、实时节点管理
代理运行端进行详细、深入的报告和对节点进行配置
相对其他工具较复杂,需学习Puppet的DSL或Ruby
安装过程缺少错误校验和产生错误报表
开源软件免费
SaltStack企业版每年内个节点花费约¥100
Saltstack
状态文件可用简单YAML配置模块或复杂的Python/PyDSL脚本
与客户端可以基于SSH或在被管节点安装代理
Web界面可看到运行的工作、minion状态、事件日志、可在客户端执行命令
扩展能力极强
Web界面像毒药竞争产品不稳定与相对不完善
缺乏生成深度报告的能力
开源软件免费
SaltStack企业版每年内个节点花费约¥150,随着数量增加相应的会有折扣
Ansible
模块可以用任何语言开发
备管节点不需要安装代理软件
有Web管理界面、可配置用户、组、资源清单和执行Playbook
安装、运行极其简单
对备管理节点为Windows有待加强
Web管理界面是内置的Ansible的一部分
需导入资源清单
执行效率较低
开源版本免费
Ansible Tower小于10台被管理节点免费
超过10太后没年每台需支付¥100~$250的支持服务费用
四、推荐场景
4.1 Puppet
Puppet也许是四款工具中最深入人心的。就可用操作、模块和用户界面而言,它是最全面的。Puppet呈现了数据中心协调的全貌,几乎涵盖每一个运行系统,为各大操作系统提供了深入的工具。初始设置比较简单,只需要在需要加以管理的每个系统上安装主服务器和客户端代理软件。