puppet工简介一
puppet简介一
puppet工作原理
puppet 是一个配置管理工具, 典型的, puppet 是一个 C/S 结构, 当然,这里的 C 可以有很多,因
此,也可以说是一个星型结构. 所有的 puppet 客户端同一个服务器端的 puppet 通讯. 每个
puppet 客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配
置文件来配置服务器. 配置完成以后,puppet 客户端可以反馈给服务器端一个消息. 如果出错,
也会给服务器端反馈一个消息. 下图展示了一个典型的 puppet 配置的数据流动情况.
工作流程
(1)客户端puppetd向master发起认证请求,或使用带签名的证书
(2)master告诉client它是否合法
(3)客户端puppetd调用facer(),facer探测出主机的一些变量,例如主机名、内存大小、IP地址等。puppetd将这些信息通过SSL连接发送到服务器端
(4)服务端的puppet master检测客户端的主机名,然后找到manifest对应的node配置,并对该部分内容进行解析。facer送过来的信息可以作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段:首先是语法检查,如果语法错误就报错;如果语法正确,就继续解析,解析的结果生成一个“伪代码”(catalog),然后把伪代码发给客户端
(5)客户端接收到伪代码并执行
(6)客户端在执行时判断有没有file文件,如果有,则向fileserver发起请求
(7)客户端判断有没有配置report,如果已配置,则把执行结果发送给服务端
(8)服务端把客户端的执行结果写入日志,并发送给报告系统
puppet组织结构
root@server0 puppet]# tree . ├── auth.conf ├── autosign.conf ├── environments │ └── example_env │ ├── manifests │ ├── modules │ └── README.environment ├── files │ └── vsftpd.conf ├── fileserver.conf ├── manifests #节点的存储目录(puppet会首先加载site.pp)文件 │ ├── nodes │ │ ├── server4.pp │ │ └── server5.pp │ └── site.pp ├── modules #模块的配置目录 │ │ └── nginx │ ├── files │ │ ├── nginx-1.6.2.tar.gz │ │ ├── nginx.conf │ │ └── nginx-install.sh │ └── manifests #模块的主配置文件,定义类的相关信息 │ ├── config.pp │ ├── init.pp │ ├── install.pp │ ├── nginx.install │ └── service.pp └── puppet.conf puppet的主配置文件
Manifests目录:/etc/puppet/manifests主要用于管理节点的信息,其中会存放了文件site.pp(站点文件),用于定义全局变量其主机的加载,而我们定义模板的时候也会在模板目录中建立目录manifests。
`[root@server0 modules]# cd nginx/
[root@server0 nginx]# ls
files manifests
[root@server0 nginx]# ls -l manifests/
total 16
-rw-r--r-- 1 root root 191 Mar 23 16:16 config.pp
-rw-r--r-- 1 root root 69 Mar 23 16:40 init.pp
-rw-r--r-- 1 root root 487 Mar 23 16:36 install.pp
-rw-r--r-- 1 root root 0 Mar 23 16:40 nginx.install
-rw-r--r-- 1 root root 297 Mar 23 16:58 service.pp
```
Manifests是用来管理模块的,目录下有几个.pp文件,puppet在读取模块之后会先读取init.pp此文件,init.pp文件可以加载其他.pp文件。
puppet工简介一的更多相关文章
- puppet(1)-简介
puppet: 开源的.新一代的集中化的配置管理工具: 目标状态 配置语言 Luke Kanies,puppet labs bootstrap --> configuration --> ...
- Puppet安装及部署
本篇博客主要介绍Puppet的安装部署,后续会更新其他相关内容 一.简介 二.环境介绍 三.安装Puppet 四.配置Puppet-dashboard 五.配置Puppet Kick 一.简介 Pup ...
- 自动化运维工具——puppet详解(一)
一.puppet 介绍 1.puppet是什么 puppet是一个IT基础设施自动化管理工具,它能够帮助系统管理员管理基础设施的整个生命周期: 供应(provisioning).配置(configur ...
- 企业级自动化运维工具---puppet详解
本文收录在Linux运维企业架构实战系列 1.认识puppet 1.1 引入 puppet是什么,咱们先不用专业的名词解释它,咱们先描述一些工作场景,看明白这些工作场景,自然会知道puppet是什么. ...
- 项目10.2-企业级自动化运维工具---puppet详解
1.认识puppet 1.1 引入 puppet是什么,咱们先不用专业的名词解释它,咱们先描述一些工作场景,看明白这些工作场景,自然会知道puppet是什么. (1)场景一: 管理员想要在100台服务 ...
- Puppet自动化管理配置
Puppet:开源系统配置和管理工具 随着虚拟化和云计算技术的兴起,计算机集群的自动化管理和配置成为了数据中心运维管理的热点.对于 IaaS.Paas.Saas 来说,随着业务需求的提升,后台计算机集 ...
- puppet5.1 安装与配置
一.Puppet概念 简介 当服务器数量达到一定的规模时,仅依靠人为完成批量部署服务器个资源的配置,运维工作将变得繁琐且容易出错,为了解决这一问题,我们应该怎么办呢?我们可以引入一批工具,这批工具可编 ...
- Puppet安装与配置简介(附视频教程)
Puppet是一种Linux平台的集中配置管理系统,他可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet采用C/S星状的结构,所有的客户端和一个 ...
- abp加DDD开发:低耦合、可复用、可扩展的【工单】业务模块-简介和集成
前言 很多场景[单体+模块化]比微服务更合适,开发难度低.代码可复用性强.可扩展性强.模块化开发有些难点,模块启动与卸载.模块之间的依赖和通讯.asp.net core abp为我们提供了模块化开发能 ...
随机推荐
- XPath2Doc,一个半自动采集网页生成Word Docx文件的工具,带企查查和天眼查模板
原始出处:https://www.cnblogs.com/Charltsing/p/XPath2Doc.html 很多人需要从网站采集一些数据填写Word模板,手工操作费时费力还容易出错,所以我给朋友 ...
- 浏览器端-W3School-HTML:HTML DOM Base 对象
ylbtech-浏览器端-W3School-HTML:HTML DOM Base 对象 1.返回顶部 1. HTML DOM Base 对象 Base 对象 Base 对象代表 HTML 的 base ...
- 1-RadioButton控件的用法
RadioButton控件 单选按钮,当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项.也就是说,当同一个容器中(Form.Panel.GroupBox.PictureBox等)存在两 ...
- Random Initialization for K-Means
K-Means的中心初始化惯用方式是随机初始化.也就是说:从training set中随机挑选出K个 作为中心,再进行下一步的K-Means算法. 这个方法很容易导致收敛到局部最优解,当簇个个数(K) ...
- 阶段3 2.Spring_09.JdbcTemplate的基本使用_4 JdbcTemplate的CRUD操作
复制demo起名3 保存 update delete selct 有这么多的重载方法 如何去定位 可变参数是JDK1.5版本之后才有的东西 RowMapper 实现RowMapper这个接口.然后实现 ...
- 阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
@Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件.但是配置文件这里是空的.我们的bean里面什么对象都没 ...
- 阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
创建新项目.不选择骨架 打包方式选择是jar 增加mysql的包依赖 创建demo类来讲解程序的耦合 原来里面提供了sql语句.拿到mysql没执行
- Linux(Debian)发行版中文输入法
Linux发行版下有两大输入法框架:ibus 和fcitx,其中fcitx 的体验要比ibus 好,因此选择 fcitx 框架,并安装中文输入法. 中文输入法中你可以选择fcitx-pinyin or ...
- Java SE 8 docs——Static Methods、Instance Methods、Abstract Methods、Concrete Methods和field
一.Static Methods.Instance Methods.Abstract Methods.Concrete Methods ——Static Methods:静态方法 ——Instance ...
- jitamin配置(nginx设置)
server { listen 66; server_name 192.168.2.253; root "/var/www/jitamin/public"; location / ...