puppet安装使用教程(四)--puppet的工作原理及工作过程
2015-01-26 09:39
435 查看
在使用任何软件前我们都需要了解其工作原理,否则会给后续使用带来诸多不便。Puppet采用了非常简单的C/S架构,所有数据的交互都通过SSL进行,以保证安全。它的工作流程如图1所示。
![](http://ipad-cms.csdn.net/cms/attachment/201209/5048569d92738.jpg)
图1 Puppet工作流程1. 客户端Puppetd向Master发起认证请求,或使用带签名的证书。2. Master告诉Client你是合法的。3. 客户端Puppetd调用Facter,Facter探测出主机的一些变量,例如主机名、内存大小、IP地址等。Puppetd将这些信息通过SSL连接发送到服务器端。4. 服务器端的Puppet Master检测客户端的主机名,然后找到manifest对应的node配置,并对该部分内容进行解析。Facter送过来的信息可以作为变量处 理,node牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,首先是语法检查,如果语法错误就报错;如果语法没错,就继续解析,解析的结 果生成一个中间的“伪代码”(catelog),然后把伪代码发给客户端。5. 客户端接收到“伪代码”,并且执行。6. 客户端在执行时判断有没有File文件,如果有,则向fileserver发起请求。7. 客户端判断有没有配置Report,如果已配置,则把执行结果发送给服务器。8. 服务器端把客户端的执行结果写入日志,并发送给报告系统。这就是puppet的工作流程。最重要的莫过于puppet-master来管理node的配置文件。
在学习puppet的过程中,资料中会反复提到module,class,resource等关键字。下面我们就来说说他们之间的关系。module:模块,不同的模块实现不同的功能。class:可以理解为类,模块是由类组成的,模块中包含一个类或者多个类resource:资源,我个人理解为时puppet的管理配置文件的最小组成单元,同理,类是由一个或多个资源组成的。这些资源可以是文件(file),用户(user),组(group),服务(service),软件(package)等等。后面的文章我们会继续介绍resource的详细情况。
本文出自 “linux菜鸟” 博客,转载请与作者联系!
![](http://ipad-cms.csdn.net/cms/attachment/201209/5048569d92738.jpg)
图1 Puppet工作流程1. 客户端Puppetd向Master发起认证请求,或使用带签名的证书。2. Master告诉Client你是合法的。3. 客户端Puppetd调用Facter,Facter探测出主机的一些变量,例如主机名、内存大小、IP地址等。Puppetd将这些信息通过SSL连接发送到服务器端。4. 服务器端的Puppet Master检测客户端的主机名,然后找到manifest对应的node配置,并对该部分内容进行解析。Facter送过来的信息可以作为变量处 理,node牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,首先是语法检查,如果语法错误就报错;如果语法没错,就继续解析,解析的结 果生成一个中间的“伪代码”(catelog),然后把伪代码发给客户端。5. 客户端接收到“伪代码”,并且执行。6. 客户端在执行时判断有没有File文件,如果有,则向fileserver发起请求。7. 客户端判断有没有配置Report,如果已配置,则把执行结果发送给服务器。8. 服务器端把客户端的执行结果写入日志,并发送给报告系统。这就是puppet的工作流程。最重要的莫过于puppet-master来管理node的配置文件。
在学习puppet的过程中,资料中会反复提到module,class,resource等关键字。下面我们就来说说他们之间的关系。module:模块,不同的模块实现不同的功能。class:可以理解为类,模块是由类组成的,模块中包含一个类或者多个类resource:资源,我个人理解为时puppet的管理配置文件的最小组成单元,同理,类是由一个或多个资源组成的。这些资源可以是文件(file),用户(user),组(group),服务(service),软件(package)等等。后面的文章我们会继续介绍resource的详细情况。
本文出自 “linux菜鸟” 博客,转载请与作者联系!
相关文章推荐
- puppet安装使用教程(一)
- Android系统Recovery工作原理之使用update.zip升级过程分析(四)---Android系统Recovery模式的工作
- 小白教程:linux下安装FTP的过程和使用的整体过程
- puppet安装使用教程(二)
- 工作记录三CocoaPods安装和使用教程
- sniffer抓包工具安装过程 附使用教程
- puppet安装使用教程(三)
- 使用.NET创建Windows系统服务及安装完全教程(收藏)
- phpmyadmin的安装与使用图文教程第1/2页
- 使用教程:Virtual PC安装使用完全指南
- 全程记录:今天尝试安装SharePoint Server 2007过程 ,安装成功了,但是开始使用碰到权限问题,应该算是BUg吧
- JDK6_TOMCAT6_Eclipse3.3_Myeclipse 6.0安装使用_破解_下载教程
- 我的美丽天使(My Fair Angel)入门经典教程(下载 安装 汉化 使用)
- Ubuntu安装过程之磁盘分区图文教程[转帖]
- OpenSolaris安装过程中,如何使用USB upgrade driver?
- SERV-U 7 的安装和基本使用方法教程
- 在suse linux 下 使用脚本安装 sybase 全过程
- 我的美丽天使(My Fair Angel)入门经典教程(下载 安装 汉化 使用)
- phpMyAdmin下载、安装和使用入门教程
- Dev-C++ 安装&使用教程