puppet是什么意思(puppet吴亦凡)
在高速发展的IT技术的冲击下,自动化运维体系建设就显得尤为重要,它将那些具有重复性和低效率的工作转向了更快、更高效、更准确的工作。而作为实现自动化运维的工具也成为了运维工程师必须掌握的技能之一。
自动化运维工具有很多,常见的有Ansible、Puppet、SaltStack等,今天就给大家对比解读一下这四款自动化运维工具的特性,以便大家有针对性地选择。
为了帮助大家更快地上手自动化运维工具,我还为大家准备了相关教程资料,需要的可以拉至文末领取。
首先用一张图大致对比一下这三款自动化运维工具
Ansible
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(Puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。
Ansible特点:
部署简单, 只需要在控制主机上部署ansible环境,被控制端上只要求安装ssh和python 2.5以上版本,这个对于类unix系统来说相当与无需配置.
-
no angents: 被管控节点无需安装agent
-
no server: 无服务端,使用是直接调用命名
-
modules in any languages: 基于模块工作, 可以使用任意语言开发模块
-
易读的语法: 基于yaml语法编写playbook
-
基于推送模式: 不同于puppet的拉取模式,直接由调用者控制变更在服务器上发生的时间
-
模块是幂等性的:定义的任务已存在则不会做任何事情,意味着在同一台服务器上多次执行同一个playbook是安全的
Ansible资料:
这份Ansbile文档一共91页,内容由浅入深,循环渐进,十分契合小白新手学习的路径,内含3个实战案例,在学习的过程中也可以提升实战能力,可谓是干货满满,含金量很高!
目录:
部分内容展示:
Puppet
Puppet是一种简单的建模语言,使用它编写的代码能够对基础设施的管理实现自动化。与过程式的脚本的另一点不同在于,Puppet的语言能够跨平台运行。
Puppet常用术语
1、manifest(清单)
2、catalog(伪代码)
3、resource (资源)
4、resource declaration (资源申报)
Puppet资料:
对于想使用Puppet实现自动化运维的人员,给大家推荐一本《Puppet运维实战》的书籍资料,它仅有4部分,312页,但逻辑划分十分清晰,从基础到扩展再到架构和实战,对于想学习Puppet的人员来说,是一份不可多得的资料。
目录:
部分内容展示:
SaltStack
Saltstack 是基于Python 开发的,也是基于 C/S 架构,服务端 master 和客户端 minions ;Saltstack 和 Puppet 很像,可以说 Saltstatck 整合了 Puppet 和 Chef 的功能,更加强大,更适合大规模批量管理服务器,并且它比 Puppet 更容易配置。
SaltStack资料:
SaltSack共分享5篇PDF文档和一个代码文档,包含入门、安装、配置管理、架构扩展等内容,讲解十分细致,很有学习和借鉴的价值。
目录:
【领取方式见下图!!】
注:部分资料来源网络,侵删