puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置客户端. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.
puppet与其他手工操作工具有一个最大的区别就是 puppet的配置具有稳定性,因此你可以多次执行puppet, 一旦你更新了你的配置文件,puppet就会根据配置文件来更改你的机器配置,通常每30分钟检查一次. puppet会让你的系统状态同配置文件所要求的状态保持一致. 比如你配置文件里面要求ssh服务必须开启. 假如不小心ssh服务被关闭了,那么下一次执行puppet的时候,puppet会发现这个异常,然后会开启 ssh 服务. 以使系统状态和配置文件保持一致.puppet就象一个魔术师,会让你的混乱的系统收敛到puppet配置文件所想要的状态.
可以使用puppet管理服务器的整个生命周期,从初始化到退役.不同于传统的例如sun的Jumpstart或者redhat的Kickstart, puppet可以长年让服务器保持最新状态.只要一开始就正确的配置他们,然后再也不用去管他们.通常puppet用户只需要给机器安装好puppet并让他们运行,然后剩余的工作都由puppet来完成.
原理:
1) 客户端通过facter收集客户端信息并发送至服务端
2) 连接服务端并请求catalog日志
3) 请求节点(node)的信息
4) 从服务器端接收节点(node)的实例
5) 编译代码(包括语法检查等工作)
6) 查询是否有exported 虚拟资源
7) 如有,则从数据库接收虚拟资源
8) 接收完整的catalog日志
9) 存储catalog日志到数据库
10)客户端接收完整的catalog日志
相关推荐
自动化运维之 Puppet 实战.docx
自动化运维工具puppet--------------------------------------------------------------------
### 自动化运维管理知识点详解 #### 一、自动化运维管理概述 ...Puppet作为一款优秀的配置管理工具,在自动化运维领域有着广泛的应用,通过了解其安装、配置和使用方法,可以帮助我们更好地实施自动化运维策略。
企业自动化运维工具Puppet实战演练操作文档,供你借鉴学习。
在IT行业中,系统自动化运维是提升效率、降低成本的关键技术之一。通过编写脚本,我们可以将繁琐的、重复性的工作流程自动化,从而节省时间并减少人为错误。本文将深入探讨如何利用脚本来实现系统的自动化运维。 ...
自动化运维路线图也提到了Puppet和SaltStack这两种自动化工具,它们可以用于二次开发,以实现业务代码的后台界面化上线发布。审计需求涉及了服务器错误和异常日志的采集,以及系统运行的分析,这些都是为了提高安全...
服务器自动化运维管理方案,特别适合中小互联网企业的运维工程师。
Puppet是自动化运维体系中的一个关键组成部分,它通过定义配置文件(manifests)来描述系统资源的状态,Puppet服务端会定期与客户端交互,以确保系统状态与配置文件定义相一致。Puppet的安装和配置通常包括使用yum...
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能
基于Netmiko的网络设备自动化运维方法研究 一、研究背景与目的 随着信息技术的飞速发展,网络设备种类和数量日益增多,网络运维工作变得越来越复杂和繁重。传统的网络运维方式已经难以满足现代企业对于运维工作的...
puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户...puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系
与其他自动化运维工具相比,Ansible 以其易用性和广泛支持的平台脱颖而出。例如,SaltStack 提供更高的执行效率但可能需要部署 agent,Puppet 功能强大但相对复杂,适用于大型环境,而 Fabric 和 Chef 也是无代理的...
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
开源的自动化运维工具在这方面发挥了重要作用,例如Puppet、Ansible、Chef等。 Puppet是一款广泛使用的配置管理工具,它允许管理员定义并实施一套统一的系统配置策略。在Puppet中,服务器端和客户端的角色分工明确...
本文将从IAAS和SAAS的角度出发,探讨基于云时代的运维自动化,包括云时代的自动化运维、IAAS和SaaS的来临、解决方案等。 一、云时代的自动化运维 云时代的自动化运维是指在云计算环境下,使用自动化工具来实现运维...
《Python自动化运维:技术与最佳实践》是一本深入探讨如何使用Python进行系统管理和自动化运维的权威书籍。书中涵盖了从基础的脚本编写到高级的自动化框架应用,旨在帮助IT专业人员提升工作效率,减少手动干预,确保...