Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Puppet
Search
Stephen Johnson
March 20, 2013
Technology
98
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Puppet
I talk i gave as in introduction to puppet
Stephen Johnson
March 20, 2013
More Decks by Stephen Johnson
See All by Stephen Johnson
Exported Configs == Better Puppet
stephenrjohnson
0
420
Mcollective Talk
stephenrjohnson
0
77
Failing the correct way
stephenrjohnson
1
57
Love/Hate Puppet Melbourne
stephenrjohnson
2
440
Other Decks in Technology
See All in Technology
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.4k
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
200
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
260
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
280
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
170
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
260
インシデントレスポンス演習 I / Incident Response Exercise I
ks91
PRO
0
110
生成 AI 実践ガイド (概略版) AIガバナンス編
asei
0
150
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
200
コミットの「なぜ」を読む
ota1022
0
110
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
20
7k
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
450
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
260
A Soul's Torment
seathinner
6
3k
Building Applications with DynamoDB
mza
96
7.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Claude Code のすすめ
schroneko
67
230k
Practical Orchestrator
shlominoach
191
11k
Done Done
chrislema
186
16k
Transcript
Puppet The awesomenessness that is Wednesday, 20 March 13
The 3 Things • Laziness • Impatience • Hubris Three
Great Virtues of a Programmer (or Sysadmin) — Larry Wall Wednesday, 20 March 13
Laziness • Is a good thing • Automate, Automate, Automate
• Remove the boring jobs • I dont want to do that myself Wednesday, 20 March 13
Impatience • I want it done now • Why do
we have to take x to build y machine • I dont care about how its done, just get it done Wednesday, 20 March 13
Hubris • You want to look awesome • You want
your infrastructure to be cooler Wednesday, 20 March 13
I want to be this guy Wednesday, 20 March 13
What not to do • Custom script ( The guy
left) • Gold image ( List of post clone stuff) • Manual ( Arrr you kidding ) • Massive RPM of doom ( The guy left) Wednesday, 20 March 13
What you need to do • Remove the snow flake
machines • Stop the, ‘i changed that config’ • Cookie cutter machines • Dont care about them anymore Wednesday, 20 March 13
Puppet gets you Knowledge • Version controlled infrastructure • Convergence
( Get back in line MOFO ) • Reporting • Query-ability • AKA AWESOMENESS • Removing the WTF / FAIL Wednesday, 20 March 13
Cat picture Wednesday, 20 March 13
Puppet FTW • Automation • Abstraction • Repeatable • Reportable
• AWESOMEABLE Wednesday, 20 March 13
Automate • Ntp config • Apache config • Mysql config
• Syslog config • AKA EVERYTHING Wednesday, 20 March 13
How Puppet Works Wednesday, 20 March 13
But how class sysadmins { user { 'elmo': ensure =>
present, gid => 'sysadmin', home => '/home/sysadmins/elmo', } group { 'sysadmin': ensure => present, } } Wednesday, 20 March 13
Wait there is more node webserver {
@@file { "/etc/nagios/conf.d/$::{fqdn}.apachecheck.conf": content => "nagios check stuff \n", tag => "nagioscheck", } } node nagiosmachine { File <<| tag == 'nagioscheck' |>> } Wednesday, 20 March 13
How does that work • Puppetdb • Stores configs •
Scalable • AWESOMENESS Wednesday, 20 March 13
The data problem • Puppet modules without hard-coded data are
easily shared and more re-usable • Infrastructure configuration can be managed without needing to edit Puppet code Wednesday, 20 March 13
BAD DATA Wednesday, 20 March 13
Example if ( $::environment == ‘dev’ ) { $ntpserver =
‘192.168.2.1’ } else { if ( $::fqdn == ‘host4.mycorp.com’) { $ntpserver = ‘127.0.0.1’ } else { $ntpserver = ‘213.21.6.4’ } } Wednesday, 20 March 13
Heira • Is the future Wednesday, 20 March 13
Remove Data from Code • Hiera uses information to determine
a hierarchy • Top down hierarchy for overriding configuration values based on roles, environments, locations.... or anything else • And do this without any coding! Wednesday, 20 March 13
Puppet 3.0 • Hiera is integrated into the core product
• Introduces data mapping for parameterized classes • Backwards compatible Wednesday, 20 March 13
Good Data Wednesday, 20 March 13
Learn more • docs.puppetlabs.com • Training •
[email protected]
Wednesday, 20
March 13
Question Wednesday, 20 March 13