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
0
95
Introduction to Puppet
I talk i gave as in introduction to puppet
Stephen Johnson
March 20, 2013
Tweet
Share
More Decks by Stephen Johnson
See All by Stephen Johnson
Exported Configs == Better Puppet
stephenrjohnson
0
410
Mcollective Talk
stephenrjohnson
0
74
Failing the correct way
stephenrjohnson
1
54
Love/Hate Puppet Melbourne
stephenrjohnson
2
430
Other Decks in Technology
See All in Technology
OpenCensusと歩んだ7年間
bgpat
0
330
20251102 WordCamp Kansai 2025
chiilog
1
540
Playwrightで始めるUI自動テスト入門
devops_vtj
0
140
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
470
AIで急増した生産「量」の荒波をCodeRabbitで乗りこなそう
moongift
PRO
0
480
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
140
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
630
The Twin Mandate of Observability
charity
1
250
20251106 Offers DeepDive 知識を民主化!あらゆる業務のスピードと品質を 改善するためのドキュメント自動更新・活用術
masashiyokota
0
170
AI-ready"のための"データ基盤 〜 LLMOpsで事業貢献するための基盤づくり
ismk
0
110
激動の2025年、Modern Data Stackの最新技術動向
sagara
0
710
初海外がre:Inventだった人間の感じたこと
tommy0124
1
190
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
Context Engineering - Making Every Token Count
addyosmani
8
330
For a Future-Friendly Web
brad_frost
180
10k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Bash Introduction
62gerente
615
210k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
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