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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Stephen Johnson
March 20, 2013
Technology
99
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
60
Love/Hate Puppet Melbourne
stephenrjohnson
2
440
Other Decks in Technology
See All in Technology
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
260
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
2
790
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
internal/testlog で遊ぼう
rokuosan
0
240
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
0
170
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
0
110
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
420
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
620
AI駆動開発を組織で促すために
lycorptech_jp
PRO
4
5.4k
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
300
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
540
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
YesSQL, Process and Tooling at Scale
rocio
174
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Mobile First: as difficult as doing things right
swwweet
225
10k
Amusing Abliteration
ianozsvald
1
260
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
Speed Design
sergeychernyshev
33
2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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