温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

新手怎样学Puppet配置

发布时间:2026-11-07 07:03:28 来源:亿速云 阅读:97 作者:小樊 栏目:系统运维

如果你是新手,想系统学会 Puppet 配置管理,可以按照下面这条“从零到能上手”的学习路线来,少走弯路。


一、先搞清楚 Puppet 是干什么的

Puppet 是用来“批量管理服务器配置”的工具
常见用途:

  • 自动安装软件
  • 统一配置文件
  • 保证服务器状态一致(比如 nginx 必须运行)
  • 避免“人肉改配置出错”

核心思想:

你描述“期望状态”,Puppet 负责让它变成现实


二、学习前需要的基础

不需要特别深,但要有:

  • ✅ Linux 基础(CentOS / Ubuntu)
  • ✅ 会写简单 Shell 命令
  • ✅ 了解 SSH、YUM/APT
  • ✅ 一点点 Ruby 概念(不用会写)

三、Puppet 基本概念(必须先懂)

1️⃣ 架构

  • Puppet Master(服务端)
  • Puppet Agent(客户端)

新版本也支持 无 Master(puppet apply),新手推荐先从这开始


2️⃣ 核心概念

概念 说明
Manifest .pp 文件,写配置的地方
Resource 最小管理单位(文件、服务、包)
Class 一组资源的集合
Module 可复用的配置包
Catalog Puppet 编译后的执行计划

四、新手第一步:先玩 puppet apply

不要一上来就搭 Master

安装(以 CentOS 为例)

yum install puppetserver puppet -y

写第一个例子

# hello.pp
notify { 'hello':
  message => 'Hello Puppet!',
}

执行:

puppet apply hello.pp

✅ 看到输出就成功了


五、学最常用的资源类型

新手只要先会这 4 个:

1️⃣ package(软件)

package { 'nginx':
  ensure => installed,
}

2️⃣ file(文件)

file { '/etc/motd':
  content => "Welcome\n",
}

3️⃣ service(服务)

service { 'nginx':
  ensure => running,
  enable => true,
}

4️⃣ exec(命令,慎用)

exec { 'update':
  command => 'yum update -y',
  path    => '/usr/bin:/bin',
}

六、用 Class 组织配置

class nginx {
  package { 'nginx': ensure => installed }
  service { 'nginx': ensure => running }
}

include nginx

七、学 Module(非常重要)

目录结构

modules/nginx/
├── manifests
│   └── init.pp
└── files

init.pp

class nginx {
  package { 'nginx': ensure => installed }
}

调用:

puppet apply -e 'include nginx'

八、再进阶:Puppet Master

当你会写 Module 后,再学:

  • Puppet Server 安装
  • Agent 注册证书
  • site.pp
  • 节点分类(node)

九、新手常见坑

❌ 把 Puppet 当脚本用
❌ 大量使用 exec
❌ 不考虑“幂等性”
✅ 记住:Puppet 是描述状态,不是写流程


十、推荐学习资源

官方(最权威)

  • https://puppet.com/docs

中文入门

  • Puppet 中文社区
  • 《Puppet 实战》

练习建议

  • 用虚拟机(Vagrant)
  • 每天写一个 Module
  • 先从 nginx / ssh / users 开始

十一、你可以这样开始(7天计划)

天数 内容
Day1 装 Puppet,写 hello.pp
Day2 package/file/service
Day3 class
Day4 module
Day5 管理一台服务器
Day6 学 site.pp
Day7 搭 Master

如果你愿意,我可以:

  • ✅ 给你一套 Puppet 新手练习题
  • ✅ 帮你写 第一个 nginx Module
  • ✅ 对比 Puppet vs Ansible

你更想从哪一步开始?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手