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
Vagrant+Chef Hands-on
Search
Kenichi Takahashi
May 27, 2013
Technology
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vagrant+Chef Hands-on
2013/05/23に開催した60min.での資料です。
Kenichi Takahashi
May 27, 2013
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
2k
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
230
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
3
1.1k
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2.2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.6k
負債と言わないことが負債と向き合うこと
kenchan
5
4.8k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
200
カラーミーショップは私たちが作っています
kenchan
0
1.8k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
770
Other Decks in Technology
See All in Technology
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
840
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
220
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
120
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
2026_devsumi_ozono.pdf
o3
3
470
データ_AIの事業の勝敗をわけるもの
nek0128
0
260
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
140
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
500
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
360
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.8k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Building an army of robots
kneath
306
46k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Amusing Abliteration
ianozsvald
1
300
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
460
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
900
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
HDC tutorial
michielstock
2
870
Transcript
Vagrant & Chef ハンズオン @kenchan
今日のゴール Vagranの使い方がなんとなくわかる knifesoloの使い方がなんとなくわかる おまけで screen と apache がインストールされたCentOSの VMをお持ち替えりいただけます。
事前の準備
各種インストール VirtualBox のインストール Vagrant のインストール
BaseBox の登録 $ vagrant box add opscode-centos-64 \ https://opscode-vm.s3.amazonaws.com/vagrant/opscode_centos-6.4_chef-11.4.4.box $
vagrant box list opscode-centos-64 (virtualbox)
ハンズオン開始
vagrant init $ mkdir vagrant-handson $ cd vagrant-handson $ vagrant
init opscode-centos-64 Vagrantfile というものができていますね。
Vagrantfileを見てみよう config.vm.box config.vm.box_url vm.box はBase Boxの名前、 vm.box_url は Base Box
がな いときのダウンロードURL。名前の衝突は注意。
VMの作成と起動 vagrant up VirtualBoxの画面を開いておくと、VMができあがって起動する 様子を確認できます。
SSHで繋いでみよう vagrant ssh ユーザはvagrant。パスワード無しで sudo できる。
普通にSSHしてみよう $ vagrant ssh-config --host melody $ vagrant ssh-config --host
melody >> ~/.ssh/config $ ssh melody
knifesolo のインストール Gemfileを書いて bundle install しましょう。 source 'https://rubygems.org' gem 'knife-solo',
'~> 0.3.0.pre3'
knifesoloのセットアップ(1) $ bundle exec knife configure $ bundle exec knife
solo init . $ bundle exec knife solo prepare melody configureはchefの設定します。(今回は不要かも?) initはcookbookなどを置くディレクトリの作成します。
knifesoloのセットアップ(2) prepareは、以下の2ステップを行うので、chefが入っている VMで、nodesのjsonを自分で書けば不要です。 nods/melody.json を作る sshでVMに入り chef をインストールする
knifeを実行してみよう $ bundle exec knife solo cook melody エラーが出ないこと確認しましょう。
VMにscreenをインストール $ bundle exec knife cookbook create screen -o site-cookbooks
sitecookbooksに入れるべきかは議論の余地がありますが、今 回はsitecookbooksとします。
レシピの書き方 sitecookbooks/screen/recipes/default.rb package 'screen' do action :install end ふつうにRubyが書けますよ。
melodyにscreenを入れる nodes/melody.json { "run_list": [ "screen" ] } インストールしてみよう $
bundle exec knife solo cook melody
動作確認 $ vagrant ssh $ screen screenの中でscreenにならないように注意してね。
外部のcookbookを使う cookbookの管理ツールはいろいろありますが、今回 は Berkshelf を使ってみましょう。 Gemfileに gem 'berkshelf' を追加し て
bundle install します。
apache2のcookbookを利用 Berksfile site :opscode cookbook 'apache2' install $ bundle exec
berks install -p cookbooks
困っていること(1) berks install だけだ と、 ~/.berksfile/cookbooks に入ってしま い、 .chef/knife.rb のcookbookにpathを入れても見つけ
てくれない…
困っていること(2) berks install -p すると、ディレクトリ空っぽにしてか らインスールするので、実は vendor/cookbook とかにした ほうがいい? (たとえば自作のscreenのcookbook
を cookbooks に入れるとここで消されてしまう)
apache2をインストール nodes/melody.json { "run_list": [ "screen", "apache2" ] } $
bundle exec knife solo cook melody
起動しているか確認 $ vagrant ssh $ curl localhost > 404 Not
Found!!!
ホストからアクセス(1) VMを停止します。 $ vagrant halt Vagrantfileでコメントアウトされている箇所を戻します。 config.vm.network :private_network, ip: "192.168.33.10"
ホストからアクセス(2) $ vagrant up $ curl http://192.168.33.10/ > 404 Not
Found!!!
おわり なにかご質問は
おまけ VMの消し方 $ vagrant destroy
おまけ バージョン管理について .vagrant は環境依存なのでignoreに。 あとは全部管理した ほうがいいのでは。
おまけ VMのスナップショットでどうするの? VirtualBox上でやってもいいけど、Vagrantのプラグインがある よ。