puppet入门与掌握之puppet工作原理(原理篇)

对于puppet的的掌握,理解puppet的工作原理是一个必要的的阶段,只有在了解了puppet的工作原理后才能更好应用puppet,下面让我们一起了解学习puppet的工作原理:

说到puppet的工作原理,不得不从以下四个方面来说到,如下所示:

(1)定义:使用Puppet特定的语言定义基础配置信息。通常我们把这些信息写在Modules中。

(2)模板:在配置执行之前检测代码,但并不真正执行。

(3)执行:定义的配置自动部署。检测并记录下所发生变化的部分。

(4)报告:将期待的变化、实际发生的变化及任何修改发送给报告系统。

如下所示为puppet的工作数据流示意图

数据流说明:

  1. 首先所有的节点(Node)Node节点将Facts和本机信息发送给Master
  2. Master告诉Node节点应该如何配置,将这些信息写入Catalog后传给Node。
  3. Node节点在本机进行代码解析验证并执行,将结果反馈给Master。
  4. Master通过API将数据发给分析工具。报告完全可以通过开放API或与其他系统集成。

整个数据流的走向是基于SSL安全协议的,如下图所示:

模板文件处理过程说明如下:

Puppet通过编译Manifest中的内容 (即模板中内容),将编译好的代码存入Catalog。在执行前先进行代码的验证,再执行,完成最开始所定义好的状态。代码编译过程如图所示:

如下所示为整个puppet自动部署过程中agent和master的详细的交互过程:

过程说明:

1. Puppet客户端Agent将节点名与facts信息发送给Master。

2. Puppet服务端Master通过分类判断请求的客户端是谁,它将要做什么。这个判断是通过site.pp中包含的Node.pp配置文件定义的。

3. Puppet服务端Master将所需要的Class类信息进行编译后存入Catalog并发送给Puppet客户端Agent,到此完成第一次交互。

4. Puppet客户端Agent对Catalog进行代码验证(语法检查及错误检查)并执行。主要是代码的验证,并将执行过程的信息及结果写入日志。

5. Puppet客户端Agent最终达到最开始所定义的状态,并且将结果及任何执行数据通过开放API的形式发送给Puppet服务端Master。

以上就是puppet的工作原理需要注意是:因为整个过程中都是基于ssl实现的,所以首要的是保证agent和master间可以基于ssl通讯!

时间: 2024-10-15 03:28:03

puppet入门与掌握之puppet工作原理(原理篇)的相关文章

puppet入门与掌握之puppet介绍(介绍篇)

Puppet是开源的基于Ruby的系统配置管理工具,依赖于C/S的部署架构.主要开发者是Luke Kanies,遵循GPLv2版权协议.从1997年开始Kanies参与UNIX的系统管理工作,Puppet的开发源于这些经验.因为对已有的配置工具不甚满意,从2001年到2005年间,Kanies开始在Reductive实验室从事工具的开发.很快,Reductive实验室发布了他们的旗舰产品--Puppet.它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群

汇编语言入门———逻辑三大总线及工作原理

指令和数据: 在内存或者磁盘上,指令和数据是没有任何区别的,都是二进制信息. 那怎么区分二进制信息到底是数据还是程序呢? 下面会有解释. cpu要想进行数据的读写,必须和外部器件进行三类信息交互: 1.存储单元的地址(地址信息) 2器件的选择,读还是写(控制信息) 3 操作的数据(数据信息) 计算机中专门链接cpu和其他芯片的导线,通常称为总线(bus) 物理上:一根根导线的集合 逻辑上划分为: 地址总线 数据总线(从这条总线到cpu的二进制信息 就算做数据) 控制总线(从这条总线到cpu的二进

Puppet整合Dashboard(一):Puppet整合Dashboard

一.安装配置Dshboard 1.功能说明 Puppet Dasshboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序: 可以作为一个ENC(外部节点分类器)以及一个报告工具,包含许多Puppet新功能的集成界面,例如审计和资源管理功能: 能显示Puppet master和agent的相关信息: 它能作为一个ENC来配置Puppet节点,并指定这些节点上的类和参数: Puppet Dashboard(1.2.3)程序目前版本只支持Ruby 1.8

实战Puppet 集中配置管理系统(3)——Puppet dashboard与nginx+passenger安装配置

     本次实验内容紧接前两次实验,第一节内容主要介绍PUPPET的安装认证与资源定义,第二节主要写apache与nginx模块的应用,本次介绍Puppet dashboard与nginx+passenger 的安装,Puppet dashboard 是用以 web 方式管理 puppet.puppet 默认使用基于 Ruby 的WEBRickHTTP 来处理 HTTPS 请求,单个服务器使用Apache/Nginx+Passenger 替换掉 WEBRickHTTP,Passenger 是用

puppet报告系统dashboard以及puppet+nginx

Puppet Dashboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序.可以作为一个ENC(外部节点分类器)以及一个报告工具,并且正在逐渐成为一个包含许多Puppet新功能的集成界面,例如审计和资源管理功能. Puppet Dashboard是一个Ruby on Rails程序,用于显示Puppet master和agent的相关信息.它允许你查看从一个或多个Puppet master汇总的图形和报告数据.它同时从一个或者多个Puppet ma

Puppet整合SVN(三):Puppet整合SVN

1.检查 [[email protected] ~]# ll /etc/puppet/ 总用量 32 -rw-r--r--  1 root root 4178 11月  5 16:10 auth.conf -rw-r--r--  1 root root   11 11月  5 16:10 autosign.conf drwxr-xr-x  5 root root 4096 11月  5 16:10 environments -rw-r--r--  1 root root 1561 11月  5 

Mybatis最入门---分页查询(拦截器分页原理及实现)

[一步是咫尺,一步即天涯] 前文,我们演示了物理分页的Sql实现方式,这种方式使得我们每次在编写查询服务时,不断的重复造轮子.这样的代码实现方式就显得十分的笨拙了.本文是Mybatis分页查询的最后一片内容,我们将介绍基于拦截器的,精巧的实现方式.在阅读这篇文章之前,强烈建议各位看官能够先阅读上文.这样就能对下文我们提及的各种对象及他们之间的关系有一个清晰的关系.好了,废话不多讲,开始我们的正文部分吧. 准备工作: a.操作系统 :win7 x64 b.基本软件:MySQL,Mybatis,SQ

LVS负载均衡群集(三种工作模式原理详解)

LVS负载均衡群集(三种工作模式原理详解) 一.前言 ? 在互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求越来越高,单台服务器力不从心.所以我们需要通过一些方法来解决这样的瓶颈. ? 最简单的方法就是使用价格昂贵的大.小型的主机:但这样在大多数企业中显然是不可取或者说不现实的.那么我们就需要通过多个普通服务器构建服务器群集. 二.相关概念概述 2.1何为LVS? ? LVS--Linux Virtual Server,即Linux虚拟服务器(虚拟主机.共享主机),虚拟主

OpenStack入门之核心组件梳理(1)——Keystone篇

OpenStack入门之核心组件梳理(1)--Keystone篇 前言 ? 先前的文章中笔者从整体上介绍了有关OpenStack相关内容,包括:概念.主要组件及项目.部署节点类型以及整体架构.那么从本文开始我们将介绍有关OpenStack核心项目的理论知识,逐一详细介绍各个服务项目. ? 友情链接:下面的三篇文章对于初学者或多或少可以帮你在宏观上了解云计算以及OpenStack. ? 云计算浅谈 ? OpenStack概念以及核心组件概述 ? OpenStack部署节点类型和架构 ? 那么,首先