Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Puppet Book
Search
Kentaro Kuribayashi
May 10, 2013
Technology
3.9k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Puppet Book
#pfcasual
Kentaro Kuribayashi
May 10, 2013
More Decks by Kentaro Kuribayashi
See All by Kentaro Kuribayashi
あとはAIに任せて人間は自由に生きる
kentaro
5
2.3k
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
3
360
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
2
2.6k
Bidirectional Quadratic Voting Leveraging Issue-Based Matching
kentaro
2
850
大高生へのメッセージ(令和6年度「大高未来塾」) / Messages to Current Students
kentaro
0
380
「始め方」の始め方 / How to Start Starting Things
kentaro
5
1.1k
Dynamic IoT Applications and Isomorphic IoT Systems Using WebAssembly
kentaro
1
1.8k
わたしがこのところハマっている「ライセンスフリー無線」のご紹介 / An Invitation to License-Free Radio
kentaro
1
820
先行きの見えなさを楽しさに変える ーVUCA時代のキャリア論と絶対他力主義ー / How to develop your career in the VUCA era
kentaro
8
7.1k
Other Decks in Technology
See All in Technology
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
3
820
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
210
hackers_champloo_2026_tidb
makocchi
0
140
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.7k
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
180
How to Design Configuration for Rails Applications
willnet
0
200
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
370
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
480
自主式軟體工廠
philipz
0
260
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to Talk to Developers About Accessibility
jct
2
570
Are puppies a ranking factor?
jonoalderson
2
4k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Mind Mapping
helmedeiros
1
400
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
એ ʰೖPuppetʱ Automate Your Infrastructure
@kentaro Software engineer Rubyist / Perl Monger Agile DevOps-er Kentaro
Kuribayashi paperboy&co.
˒ લͷۈઌͰPuppet ChefΛ͚ͬͯͨͲແࢹͬ ͯͨ ˒ ͍·ͷձࣾͰPuppetΛΘ ͟ΔΛಘͳ͘ͳͬͨͷͰ PuppetͱΘͨ͠
ϒΫϩάͷύϒʔ http://p.booklog.jp/book/70667 ୡਓग़൛ձ http://tatsu-zine.com/books/puppet Amazon http://www.amazon.co.jp/dp/B00CL92JC0
อଘ༻ ؍༻ ීٴ༻
http://tmix.jp/design/detail/518356
ຊॳͷPuppetຊ
˒ ΦʔϓϯιʔεͳγεςϜࣗಈཧπʔϧ Puppet by mizzy ˒ Puppet Best Practice? by
mizzy ˒ Puppetͷεεϝ by mizzy ˒ Puppet Dojo by @trombik ͜Ε·ͰͷPuppetʹؔ͢ΔຊޠϦιʔε ͜Ε·Ͱຊޠॻ੶φγ
None
http://www.flickr.com/photos/bogdansuditu/2377844553/ ຊॻͷλʔήοτ
ΦϖϨʔγϣϯΤϯδχΞΑΓ Ή͠ΖΞϓϦέʔγϣϯ։ൃ ऀΛఆ ΞϓϦ։ൃऀ͕PuppetΛͬͯγεςϜߏங ʹࢀՃͰ͖Δ͙Β͍·Ͱ
lຊॻͷඪɺ͜ͷຊΛಡΜͩಡऀ͕Puppetͷ جຊʹ͍ͭͯͻͱͱ͓ΓΓɺΦϖϨʔγϣϯΤ ϯδχΞͷॻ͍ͨmanifest αʔόͷ͋Δ͖ঢ় ଶΛهड़ͨ͠ઃఆϑΝΠϧͷΑ͏ͳͷɻޙड़ ʹ มߋΛՃ͑ͨΓɺ͋ΔఔͷنͷͷͳΒࣗྗ Ͱ͍͔ͪΒॻ͚ΔΑ͏ʹͳͬͨΓ͢Δ͜ͱͰ͢ɻ ͦͷͨΊɺຊॻ͋͑ͯϦϑΝϨϯεͱͯ͠ͷ ཏੑΛࢦ͠·ͤΜɻ࣮ࡍͷֶशஈ֊Ͱඞཁͱͳ
Δࣝʹ͠΅ͬͯઆ໌͠·͢ɻz ʮ͡ΊʹʯΑΓ
ຊॻͷ༰
جૅฤ 112ষ lHello, World!z͔Βɺͻͱͱ͓ΓͷϦιʔεΛ͑ΔΑ͏ʹͳΔ·Ͱ Ԡ༻ฤ 13ষ td-agentΫϥελΛ࡞͠ɺserverspecͰςετɺσϓϩΠͱద༻·Ͱ
˒ VagrantΛ׆༻ͨ͠։ൃڥ ˒ ϋϯζΦϯͰֶΔΑ͏ߏ ˒ ΄Μͱʹඞཁͳ͜ͱͷΈઆ໌ جૅฤͷϙΠϯτ
˒ class/moduleͳͲେنͳ manifestΛॻ͘ͷʹ͔ܽͤͳ͍ ࣝʹ͍ͭͯղઆ ˒ ࣮ફతtd-agentΫϥελΛ࡞ ˒ serverspecʹΑΔςετʹ͍ͭͯ ˒ capistranoͰmanifestΛద༻
Ԡ༻ฤͷϙΠϯτ
Ԡ༻ฤͰߏங͢ΔγεςϜ
None
Learning Puppet͚ͩͰֶͳ͍ manifestߏͷϊϋʹ͍ͭͯղ આ͍ͯ͠Δͱ͜Ζ͕େ͖ͳҧ͍ɻ Leaning PuppetΑ͍υΩϡϝϯτ ͕ͩɺݴޠཁૉҎ্ͷ͜ͱֶͳ͍
ຊॻΛಡΉ͚ͩ Ͱجૅ͔Β࣮ફ ͰͷԠ༻తࣝ ·ͰशಘՄೳɻ
Infrastructure as Code
։ൃ Πϯϑϥ
γεςϜঢ়ଶΛίʔυͰهड़ pull requestͰ૬ޓϨϏϡʔ ιʔγϟϧγεςϜߏங!!1 ܦݧతɺҰࢠ૬తɺൿͷλϨΛͰ͖Δ͚ͩ ͳ͘͢ɺίʔυԽ͞ΕͨγεςϜߏங
None
ΤϯδχΞ
maglicaͳͲ ։ൃڥ https://github.com/mizzy/maglica AWS EC2ͳͲ ຊ൪ڥ http://aws.amazon.com/ Vagrant ϩʔΧϧڥ http://www.vagrantup.com/
αʔό͕ίʔυͰ͍͡ ΕΔΑ͏ʹͳͬͨ͜ͷ Ϋϥυ࣌Ͱʜʜ http://www.flickr.com/photos/nirak/644337888/
ΤϯδχΞͷڞ௨ݴޠ ͱͯ͠ͷʮίʔυʯͷ ׂ·͢·͢େ͖͍ http://www.flickr.com/photos/trinity-of-one/20562069/
ϓϥοτϑΥʔϜ ݻ༗ͷख࡞ۀ Puppet/Chef ϓϥοτϑΥʔϜ ݻ༗ͷΞηϯϒϥ ߴڃݴޠ says...
http://en.wikipedia.org/wiki/File:Boschsevendeadlysins.jpg ϓϩάϥϚͷࡾେඒಙ
ແਫ਼(laziness) ؾ(impatience) ၗຫ(hubris)
ແਫ਼(laziness) ؾ(impatience) ၗຫ(hubris)
γεςϜߏஙʹ ʮແਫ਼ʯΛ࣋ͪࠐΉ
˒ खॱॻ࡞͕໘ ˒ खॱॻߋ৽͕໘ ˒ εΫϦϓτԽ͢Δͷ͕໘ ˒ εΫϦϓτΛอक͢Δͷ͕໘ ˒ ႈੑΛ୲อ͢Δͷ͕໘
˒ ͱʹ͔͘໘
Ұݟ໘ͳPuppet Chef ΛֶͿͷʮ໘ Λճආ͢ΔͨΊͳΒ ͍͘ΒͰ໘Λ͜ͳ ͢ʯͱ͍͏ʮແਫ਼ʯͷ ൃ࿐ʹଞͳΒͳ͍ɻ
Chefͱͷൺֱ
ݴޠ σΟϨΫτϦߏ Puppet ֎෦DSL ൺֱతࣗ༝ Chef ෦DSL (Ruby) ෆࣗ༝
package { 'zsh': ensure => installed } Puppet package 'zsh'
do action :install end Chef
͍ͨͯ͠มΘΒͳ͍
$ knife configure $ knife cookbook create hello -o cookbooks
$ $EDITOR cookbooks/hello/recipes/default.rb $ $EDITOR localhost.json $ $EDITOR solo.rb $ chef-solo -c solo.rb -j localhost.json ChefͷHello, World! // localhost.json { "run_list" : [ "recipe[hello]" ] } # solo.rb file_cache_path "/tmp/chef-solo" cookbook_path ["/home/ec2-user/chef- repo/cookbooks"] # default.rb log “Hello, World!”
$ $EDITOR hello.pp $ puppet apply hello.pp PuppetͷHello, World! #
hello.pp notice(“Hello, World!”)
େ͖ͳҧ͍
Ͳͬͪʹ͠ΖΕΔ͜ͱಉ͡ PuppetϑΝΠϧຕ͔Β࢝ ΊΒΕΔ ಋೖোน͕͍ ಠࣗDSLͷֶशίετͱ͍ͬͯɺRubyΛΒ ͳ͍ͻͱʹͱͬͯChefͩͬͯίετߴ
·ͱΊ
˒ ຊॳͷPuppetʹؔ͢Δॻ੶ʰೖ PuppetʱΛಡΉͱΫϥυ࣌ ͷڞ௨ޠʮίʔυʯΛֶΔ ˒ Puppet/ChefγεςϜߏஙʹ ʮଵଦʯΛ࣋ͪࠐΉ ˒ Puppet/ChefͲͬͪͰ͍͍͚Ͳ Έͳ͞Μ͕ࢥͬͯΔΑΓPuppet
؆୯Ͱ͢Ϥ
˒ ͲͬͪΛ͏ʹͤΑɺ͘͢ͳ͘ͱ ͜ͷຊʹॻ͔Ε͍ͯΔ͜ͱʹͭ ্͍ͯͬͨͰɺબͼ·͠ΐ͏
ϒΫϩάͷύϒʔ http://p.booklog.jp/book/70667 ୡਓग़൛ձ http://tatsu-zine.com/books/puppet Amazon http://tatsu-zine.com/books/puppet