puppet介绍、使用

     puppet主要使用于自动化运维方面,对于拥有众多服务器需要管理的管理员来说,puppet

是个不错的选择,使其管理更加轻松,容易。其设计的是c/s建构,可以一个master和多个client。

通过master可管理配置客户端的文件、用户、cron任务、软件包、系统服务等。客户端默认半

小时向master请求一次以使其与master配置同步,从而使管理员在master上设置配置就可以实

现对于众多客户端机器的管理。

安装:

由于此软件提供了包管理器的安装方式,所以通过apt-get或者yum安装既可以了,本人使

用的linux mint,所以使用的前者。当然源码包安装也行啦,puppet用ruby开发的。

master:

sudo apt-get install puppetmaster

客户端:

sudo apt-get install puppet

安装后master服务程序已经运行了。如果没运行也可以通过

sudo service puppetmaster start

开启,打开的是8140端口。

   下面针对一台电脑上来说,也就是即作为master也作为client。由于master已经启动,client端需要

通过认证才能与master通信。puppet程序的组织方式与git很类似——通过二级命令来使用的。

 puppet master表示master服务,puppet agent是客户端程序。

首先运行如下类似的命令:

puppet agent --test --verbose --server=chaofan.io

--server后面跟的是master的主机名。然后:

puppet cert list --all

会显示所有客户端认证的信息,只有每行前面有加号的主机才是通过签名也就是可以master通信。

如果master与客户端在同一台机器上,主机名前面应该已有了加号。如果没有可以如下:

puppet cert --sign chaofan.io

由于本人master与客户端在同一台机器上,所以主机名一样。--sign后跟客户端的主机名。

如果再puppet cert list --all 输出的信息如下:

+ "chaofan.io" (38:A5:ED:2F:A9:71:D6:7F:34:77:E1:D0:9C:C1:B0:FE)

OK,现在就可以运行客户端服务了。如下:

sudo puppet agent --no-daemonize --verbose --server=chaofan.io

开始运行上面的命令会立即向master请求,获得master上设置好的信息。输出信息如下:

1 notice: Starting Puppet client version 2.7.18
2 info: Caching catalog for chaofan.io
3 info: Applying configuration version '1389514190'
4 notice: /Stage[main]//Exec[/bin/ls > test.txt]/returns: executed successfully
5 notice: Finished catalog run in 0.10 seconds

第一行有版本信息,注意第四行,这就是master上设定的资源。以下介绍master配置,

这也是puppet复杂而又强大的部分,puppet提供了一套语法供用户使用。如file、exec、

user等等类型。file可以把master上的文件传送到客户端上,exec执行某个命令,user可以

在客户端创建用户。master配置路径在/etc/puppet下,

16:23+~$ ls /etc/puppet/
auth.conf              etckeeper-commit-pre  manifests  puppet.conf
etckeeper-commit-post  fileserver.conf       modules    templates

下面简单介绍一下配置,manifests目录下创建一个site.pp文件(必须创建)。在site.pp里

写入:

exec {
        "/bin/ls > test.txt":
                cwd=>"/tmp"
}

保存后,如果在客户端执行sudo puppet agent --no-daemonize --verbose --server=chaofan.io,

如果已经执行了那么半小时后就会有上文中说到的第四行信息。在客户端的/tmp路径下会看到test.txt

文件。

   我们可以注意到资源的设定基本格式exec是类型,"/bin/ls > test.txt"是title,然后下面是属性值的

设置,属性与值之间用"=>"间隔,这里只加了cwd。可以通过:

puppet describe exec

查看exec的详细属性介绍,通过puppet describe --list或者puppet resource --types,可以得到所有类型。

    上面在site.pp配置的仅仅是比较简单的,我们可以设置在客户端安装软件(puppet默认会使用系统的

包管理器,如ubuntu会使用apt-get)。我们也可以针对某个客户端做设置,这就要使用node类型。下面

给一个复杂的例子作为收尾吧。

   我们在manifests下创建test.pp。打开test.pp写入:

 1 class mysql::install {
 2         package { ["mysql-server-5.5"]:
 3                 ensure => present,
 4                 require => User["mysql"],
 5         }
 6         user { "mysql":
 7                 ensure=> present,
 8                 gid => "mysql",
 9                 shell => "/bin/false",
10                 require => Group["mysql"],
11         }
12         group { "mysql":
13                 ensure => present,
14         }
15 }
16 class mysql {
17         include mysql::install
18 }
19 node 'chaofan.io' {
20         include mysql
21 }

如上的设置并不是很复杂,主要目的就是向chaofan.io主机安装mysql并创建mysql用户和用户组。

class是puppet提供的一个类似c++类的功能,然后我们在site.pp中开头加入import "test.pp" 

       如果在客户端执行sudo puppet agent --no-daemonize --verbose --server=chaofan.io,

如果已经执行了那么半小时后就会输出如下:

1 notice: Starting Puppet client version 2.7.18
2 info: Caching catalog for chaofan.io
3 info: Applying configuration version '1389517596'
4 notice: /Stage[main]/Mysql::Install/Group[mysql]/ensure: created
5 notice: /Stage[main]//Exec[/bin/ls > test.txt]/returns: executed successfully
6 notice: /Stage[main]/Mysql::Install/User[mysql]/ensure: created
7 notice: /Stage[main]/Mysql::Install/Package[mysql-server-5.5]/ensure: created
8 notice: Finished catalog run in 29.72 seconds

注意第4、6、7行。mysql已经安装完成了。

    工作中有用到了puppet,在此也算记录一下。

转载于:https://www.cnblogs.com/wuchaofan/p/3516005.html

Puppet 简介:一款强大的服务器配置管理工具 在上面的示例中,我们定义了一个名为 “nginx” 的类,该类包含了安装、配置和启动 Nginx 的相关步骤。Puppet 会根据所定义的状态,自动处理服务器的配置变更和更新。此外,Puppet 还具备强大的报告和监控功能,可以帮助管理员追踪服务器配置的变更历史和状态。使用 Puppet,系统管理员可以通过编写简洁、可重用的代码来定义服务器的配置和状态,从而实现自动化部署、配置和维护。总结而言,Puppet 是一款强大的服务器配置管理工具,可以帮助系统管理员实现自动化的服务器部署和维护。 阅读详情

相关推荐

Camera 基础知识

Raw Sensor输出的Data格式为Raw,图像的效果处理使用BB端的ISP,BB端接收Raw data后进行一系列的图像处理(OB,Shading,AWB,Gamma,EE,ANR等),效果方面由BB端控制,需要针对不同的模组进行效果调试,Raw sensor是目前的主流,数据量比YUV Sensor小(RAW10 格式的sensor 1个pixel 10个bit)使用平台ISP处理,能支持较大的size。不过,相位对焦并不是那么完美,它对光线的要求就比较高,在弱光拍摄环境下,相位对焦就无能威力了。

手机-手表蓝牙开发工程师的博客 3062

puppet的相关介绍

一、puppet简介puppet是基于ruby语言开发的一款开源的软件自动化配置和部署工具,它使用简单且功能强大,可以C/S模式或独立运行。二、puppet工作模式与流程①puppet的工作模式 定义:使用puppet配置语言定义基础配置信息;master要指明agent相关配置 模拟: 模拟测试运行,不真正执行 ...

weixin_33831196的博客 280

【AI面试】2026 AI Agent 应用开发|应届生简历模板 + 完整学习路线图(校招可直接复用)

很多同学学完 RAG、Agent 之后,不知道简历怎么写,项目写成 “调用大模型 API 实现聊天机器人”,投出去几乎没有面试。AI Agent 应用开发,本质还是软件开发岗位。简历要突出工程能力、踩坑优化、问题解决,不要只堆砌 AI 关键词。注意:本文针对【AI 应用开发 / Agent 应用工程师】本科校招;不适合大模型训练、微调算法岗。AI Agent 应用开发岗位,不是只会写提示词、调用 API 就可以拿到 offer。拥有传统软件工程基本功,同时懂大模型、RAG、Agent 工程落地的开发者。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 310

puppet 学习总结(1)——puppet 入门详解

一、puppet 介绍 1、概述 puppet 是一个 IT 基础设施自动化管理工具,它能够帮助系统管理员管理基础设施的整个生命周期: 供应(provisioning)、配置(configuration)、联动(orchestration)及报告(reporting)。 基于 puppet ,可实现自动化重复任务、快速部署关键性应用以及在本地或云端完成主动管理变更和快速扩展架构规模等。puppet 遵循 GPL 协议(2.7.0-),基于ruby语言开发。2.7.0 以后使用(Apache 2.0 li

科技D人生 5730

手把手教你学simulink(40.1)--水力发电场景示例:基于 Simulink 的抽水蓄能电站水力发电

项目背景抽水蓄能电站是一种重要的储能技术,广泛应用于电力系统的调峰填谷、频率调节和备用电源。它通过在电力负荷低谷时将水从下水库抽到上水库储存,在电力负荷高峰时释放水进行发电,从而实现电能的高效利用。与传统的水电站不同,抽水蓄能电站可以在短时间内快速响应电网的需求,具有良好的灵活性和可靠性。本项目旨在使用 MATLAB/Simulink 模拟一个完整的抽水蓄能电站的水力发电过程,包括水泵-涡轮机系统、发电机、水道系统、控制系统等,并实现对电站的精确控制,确保其在不同工况下都能稳定运行。

MHD0815的博客 886

Windows 下 Hermes Agent(爱马仕)安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Hermes Agent(爱马仕) 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Hermes Agent 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装WSL环境 2.2 步骤二 安装Python环境 2.3 步骤三 安装Hermes Agent 2.4 步骤四 修正 API Key 错误 2.5 步骤五 配置多个模型 2.6 步骤六 启动Hermes Agent 3. 常见问题及解决方案 4. 总结

weixin_43178406的博客 14万+

puppet详解(一)——puppet基础知识

今天继续给大家介绍Linux运维相关知识,本文主要内容是puppet的理论基础。 一、puppet简介 二、puppet工作原理 三、puppet常见资源与模块

永远是少年 3401

瑞芯微RK3588/RK3576平台采集BT1120(fpga)驱动调试记录

本文介绍了在RK3576/RK3588平台上采集FPGA传输的BT1120数据的方法。主要内容包括:1)硬件连接需确认管脚复用和图像格式(通常为uyvy_2x8);2)设备树配置要点,如I2C总线设置、BT1120模式指定等;3)驱动适配注意事项,包括时钟极性、分辨率格式等关键参数;4)测试方法,通过media-ctl和v4l2-ctl工具验证数据采集。文中特别指出RK3576和RK3588配置的通用性,并提供了常见问题的排查思路。

bingdund的博客 916

puppet的使用:puppet配置文件介绍

配置文件的产生 Puppet安装完后,配置文件就产生了,名称为puppet.conf,一般在/etc/puppet路径下。 master也可以通过命令: puppet master --genconfig > puppet.conf 产生。 agent可以通过命令: puppet agent --genconfig > puppet.conf 产生。 puppet配置文件一般...

501

2️⃣ Coze创建智能体教学(2025年全新版本)

扣子平台提供强大支持,可将智能体轻松集成至各类社交平台,使智能体得以服务更为庞大的用户群体。当下支持集成的平台如下:​1️⃣豆包:作为聚焦 AI 内容创作的平台,非常适合发布充满创意、娱乐性强的智能体。​2️⃣飞书:适合发布用于办公协作的智能体,助力团队提升工作效率。​3️⃣微信:借助公众号或小程序的形式,能够服务海量微信用户。​4️⃣抖音:适合发布与短视频相关的智能体,为用户提供创意与娱乐服务。​

李同学Lino的博客 4577

【实现100个unity特效之4】Unity ShaderGraph使用教程与各种特效案例(2023/12/1更新)

ShaderGraph是Unity中的一个可视化工具,用于创建和编辑图形着色器。其意义在于简化编写复杂着色器的过程,减少对具体编程语言的依赖,使艺术家和设计师可以更方便地创建各种美术效果。使用ShaderGraph可以通过图形界面设置着色器属性,包括颜色、纹理、光照等,并在视窗预览中即时显示结果,从而快速迭代和调整着色器。使用ShaderGraph需要先安装Unity 2018.1或以上版本,并添加ShaderGraph插件。打开ShaderGraph面板后,可以通过拖放节点并连接它们来创建着色器。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4万+

puppet的使用:ERB模板介绍

ERB介绍 全称是Embedded RuBy,意思是嵌入式的Ruby,是一种文本模板技术,用过JSP的话,会发现两者语法很像。 我们项目中一般用ERB来产生各模块的配置文件。ERB模板也可以用来产生Web页面(之前搞过一段时间ROR开发,模板用的haml),也可以用来产生其他文件。 <% %>与<%= %> <%Ruby脚本%>,一般是Ruby的逻辑脚...

357

Python爬虫实战:东方财富股吧与雪球舆情数据实时爬取与情绪指标挖掘

本文详细介绍如何使用Python爬虫技术实时爬取东方财富股吧和雪球平台的讨论数据,结合股价波动构建情绪分析指标。我们将使用最新的异步爬虫技术、自然语言处理方法和可视化工具,为量化交易提供数据支持。文章包含完整的代码实现和技术细节,适合有一定Python基础的读者学习。

2201_76125261的博客 1224

puppet工具使用1:介绍

Puppet介绍: 随着服务器的增加,传统的系统维护方法有点捉襟见肘,于是出现了配置管理软件,利用配置管理,可以把整个公司的服务器的所有配置内容管理起来,方便大规模的管理以及快速的部署。 Puppet就是一个为实现数据库中心自动化管理而设计的C/S模式配置管理软件。 Puppet的几个概念: 服务器端和客户端:服务器端保存和推送配置到客户端; 清单(manif...

weixin_34015860的博客 73

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

puppet使用笔记一

文章目录安装启动看下是什么东西开始写代码在哪写?创建个自己的模块 创建个文件试试 安装启动 apt install puppet puppet-master systemctl restart puppet-master.service puppet 看下是什么东西 这些配置文件可以熟悉一下 root@instance-1:~# tree /etc/puppet/ /etc/puppet/ ├── auth.conf ├── code │   └── modules ├── hiera.

舌耳的博客 662

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Puppet CDH 安装及使用教程

Puppet CDH 安装及使用教程 1. 项目目录结构及介绍 在 puppet-cdh 开源项目中,目录结构通常是用于管理Cloudera CDH集群的Puppet模块。下面是一个可能的目录结构及其简介: . ├── manifests # 包含主要的Puppet manifest文件 │ ├── init.pp # 主入口点,定义类和资源 │ └── .....

gitblog_00727的博客 481

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

微信聊天机器人puppet_paimon token、puppet_padlocal token

os.environ[‘WECHATY_PUPPET’] = “wechaty-puppet-service” os.environ[‘WECHATY_PUPPET_SERVICE_TOKEN’] = “puppet_paimon_f3dabb5216d8826c681de77f85f18c07” 这个token配置好后可以本地直接运行 os.environ[‘WECHATY_PUPPET’] = “wechaty-puppet-service” os.environ[‘WECHATY_PUPPET_SER

qq_15821487的博客 2692

Puppet-Retrospec 使用教程

Puppet-Retrospec 使用教程 项目介绍 Puppet-Retrospec 是一个专为 Puppet 设计的 Retrospec 插件,旨在基于现有模块代码自动生成 Puppet RSpec 测试代码。无论是新手还是经验丰富的开发者,面对 Ruby 或 RSpec 的复杂性时,都可能会觉得编写测试是一大挑战。而 Retrospec 简化了这一切,通过扫描您的 Puppet 模块文件,它...

gitblog_00561的博客 428

puppet简单基础及使用puppet安装httpd服务的配置文件

1.puppet apply单机基础: 参考:http://www.zsythink.net/archives/363 目标:使用puppet apply在单机上实现文件同步,安装软件,开关服务,执行shell。 在/etc/puppet/manifests下生成test1.pp文件,并进行编辑: #将resolve.erb文件同步到/etc/resolv.conf file{'dns1...

运维狗的备忘录 427

使用 puppet-forge Helm Chart 在 Kubernetes 上部署本地 Puppet 模块仓库并代理官方 Forge

本文档面向需要在 Kubernetes 集群中分发本地开发的 Puppet 模块、同时保留访问官方 Puppet Forge 能力的运维与平台工程团队。本指南以 `incubator/puppet-forge` 这一 Helm Chart 为核心,完整说明其工作原理、容器使用方式、全部环境变量与 values 配置项、持久化方案及网络暴露方式,并结合 Chart 内的模板源码([values.ya

gitblog_00042的博客 148

Puppet PuppetDB Query 使用指南

Puppet PuppetDB Query 使用指南 1. 项目目录结构及介绍 此GitHub仓库 puppet-puppetdbquery 实现了一系列工具,旨在简化对PuppetDB的查询操作,包括命令行工具和Puppet函数。以下是主要的目录结构和关键文件说明: lib: 包含核心功能实现的代码库。 puppet/parser/functions: 存放用于在Puppet中执行Pupp...

gitblog_00167的博客 540

Puppet 命令参数介绍(三)

Puppet 命令参数介绍前言:Puppet的工作原理:puppet master启动默认是监听tcp协议的8140端口.通过ruby的webrick web接收agent端的请求,根据请求内容与master的统一接口文件site.pp文件匹配,将匹配到的主机资源编译成catalog向agent分发,agent接收到请求后在本地应用.Puppet 命令分为独立...

weixin_34126215的博客 376

elasticsearch使用_使用Puppet6自动化部署Elasticsearch(离线环境)

准备Puppet6需要的包登录一台能够连接互联网的centos6机器,依次执行以下命令yum install yum-plugin-downloadonly rpm -Uvh https://yum.puppet.com/puppet6/puppet6-release-el-6.noarch.rpm yum install --downloadonly --downloaddir=/home/ p...

weixin_39717443的博客 250

Puppet基础篇6-Puppet更新方式的选型

Puppet基础篇6-Puppet更新方式的选型 零基础学习Puppet自动化配置管理系列文档 基于C/S架构的Puppet更新方式一般有两种,一种是Agent端设置同步时间主动去PuppetMaster端拉取配置,另一种是通过PuppetMaster端使用puppet kick命令或者借助mcollctive触发更新配置,两种方式适应不同的生产环境,各具特色。

Programer From Scrach 2529

【puppet server 7.9】Centos参照官方安装指南部署master和agent (puppet安装)

puppetserver7参照官方安装指南(系统Centos)有业务需要用到puppet来进行统一管理和自动的部署,今天来参照官方给出的步骤对puppet整体流程进行梳理,尽量以通俗易懂的方式来介绍每一步为什么这么做;......

Insupport的博客 1919

DebOps 工程师的 Puppet8 指南(三)

到目前为止,我们讨论了如何使用 Puppet 创建有状态且可重用的代码,以及如何通过使用角色和配置文件方法使得参数可用,从而使模块可配置。我们还展示了如何在代码中使用这些参数,但为了创建一个可扩展、可读且特定于站点的数据源,Puppet 使用了一个名为Hiera的工具。如果不在 Puppet 代码中使用 Hiera 数据,将需要无休止的逻辑和变量来表示节点例外、位置差异、操作系统版本差异、组织差异以及许多其他情况所需的数据变化。

龙哥盟 1744
上一篇: python之模拟鼠标键盘动作
下一篇: uwsgi、virtualenv 、pypy和flask
Sight2012
博客等级 码龄12年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值