puppet初识与原理简介

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

初识:

puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。

Puppet工作方式:

puppet既可以在单机上使用,也可以以C/S结构使用.

在大规模使用puppet的情况下,通常使用C/S结构;在这种结构中puppet客户端是只运行puppet的服务器,puppet服务器端是只运行puppetmaster的服务器.

Puppet工作流程:

Puppet的具体工作流程如下:

  1. 客户端puppetd调用facter,facter会探测出这台主机的一些变量如主机名、内存大小、IP地址等。然后puppetd把这些信息发送到服务器端。 
  2. 服务器端的puppetmaster检测到客户端的主机名,然后会找到manifest里面对应的node配置,然后对这段内容进行解析;facter送过来的信息可以作为变量进行处理,node牵涉到的代码才解析,其它的代码不解析;解析分几个过程:语法检查、然后会生成一个中间的伪代码,然后再把伪代码发给客户机。 
  3. 客户端接收到伪代码之后就会执行,客户端再把执行结果发送给服务器。 
  4. 服务器再把客户端的执行结果写入日志。

说明:Puppet后台运行的时间默认是半小时执行一次,不是很方便。可以考虑不让它在后台跑而是使用crontab来调用。这样可以精确控制每台客户端的执行时间,分散执行时间也可以减轻服务器负载。

Puppet架构:

 

暂时还不太理解,有待后期研究。

进阶学习资料:

《learningpuppet》

《Pro.Puppet》

需达到的学习目标:

  1. 利用VirtualBox和learning Puppet VM在Window7系统下搭建Puppet环境,并参照文档熟悉Puppet基本概念:http://docs.puppetlabs.com/learning/
  2. 学习《Pro.Puppet》,掌握更细节内容,策划一个Puppet实践场景并实现;
  3. 针对Puppet的学习进度,发表学习笔记,每周至少一篇。









本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1195402,如需转载请自行联系原作者
目录
相关文章
|
缓存 Unix Linux
puppet简介
系统管理员都喜欢自己写点小工具来让自己的工作完成的更快或者更好, 不管是在大企业管理大量的服务器还是只管理两三台机器. 但是很少人会把他们的工具发布出来. 也就是是说极少有工具能被重用,或者说很多工具就只能在所在的组织内部有用.拷贝给别的组织,他们也用不上. 也就是说,每个系统管理员,在一个新的公司,都会另起炉灶开发一套基于ssh,for循环的"系统"来帮助自己完成系统管理任务.
240 0
puppet简介
|
网络安全 开发工具 Ruby
|
Linux 网络安全
|
Web App开发 Ubuntu 应用服务中间件
《Puppet实战手册》——第2章 Puppet语言和风格 2.1简介
本章中讲解如何编写优雅的Puppet配置清单(Puppet用于配置服务器的程序代码被称为配置清单,以后均使用配置清单说法)。这里“优雅”的意思是代码符合社区习惯,可读、高效、一致。
1188 0
|
Linux 开发工具 git
《Puppet实战手册》——第1章 Puppet基础设施 1.1 简介
本书包含一些代表着Puppet社区认同的最佳实践的实例,一些可以帮助读者在工作中更容易使用Puppet的小提示和技巧,还有介绍一些读者以前不知道的功能。虽然有些技巧操作起来比较快捷,但是本书不建议读者将其作为标准操作流程使用(这些技巧在紧急情况下是非常有用的)。
1420 0
|
运维 应用服务中间件 网络安全
Puppet 简介
Puppet 简介 每个IT专家都遭受过代码在生产环境上不能正常运行的困境。有经验的开发者耗费几个小时、几天、乃至几个星期的时间进行应用程序开发,但在应用发布之后就不得不持续不断地为它打各种补丁。质量保证工程师能够确保应用达到了高性能和低磁盘占用的各种指标……但只限于他们的测试系统环境。
1743 0
|
25天前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
48 3