SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Chefのはじめの一歩

@_zoo/Misa Kondo/近藤美沙
Chefとはなんぞや
・料理ツールではありません

・cookbookとかknifeとか出てき
ますが、リアルな料理とは全く
関係ありません
Chefとはなんぞや
一言でいうとサーバの構成管
理ツール。

構成設定ファイル(以下、
cookbooks)に従ってサーバ内
の構成を管理してくれる。
Puppetとどう違う?
・Puppetは外部DSL
・Chefは内部DSL

端的にいうと、
Chefのcookbookは、rubyでか
ける!
実際に使ってみよう
自分用の開発VMを作る。
最低限、下記は欲しい。
・git
・emacs
Chefの構成図
Chefの構成
Chefサーバ
:cookbookを管理するサーバ
:cookbookに従ってNodeサーバを
管理する
Nodeサーバ
:Chefサーバに管理されるサーバ
Chefの構成
WorkStation
:cookbookを作成し、Chefサーバ
にupする場所
Chefをインストール
$ gem install chef
Knifeの準備
$ knife configure
#=> ~/.chef/knife.rb

knife.rbに下記を追記
cookbook_path='your/cookbook'
knife.rb
coocbookを作る前に
cookbookは構成設定ファイル
のセット

サーバにつき1つ→NG
パッケージにつき1つ→
coocbookの作成(apt)
今回gitとemacsはaptから入れ
るので、事前にupdateしたい。
aptのcookbookを作成。

$ knife cookbook create apt
default.rb
coocbookの作成(git)
$ knife cookbook create git
default.rb
coocbookの作成(emacs)
$ knife cookbook create emacs
default.rb
coobooksの作成完了
今回は自分の開発用なので、
chef-soloという1台構成。

複数台で使う場合はchefサーバ、
Node、Workstationという構成にな
る。
VMの共有ディレクトリに
coocbooksを移動
$ cd ~/vagrant_ubuntu-
1110_sample/data
$ cp -r your/cookbooks ./
VMにログイン
サンプルのため、既にchefはインス
トールしている状態。

$ vagrant ssh
cookbookを確認
$ ls /vagrant_data/
$ ls /vagrant_data/cookbooks
cookbookへのパス設定
$ mkdir ~/.chef
$ cd .chef
$ emacs solo.rb
solo.rb
読み込むレシピの指定
$ emacs chef.json
chef.json
chef-solo実行!
$ sudo chef-solo -c ./solo.rb -j ./chef.json
作業終了

Mais conteúdo relacionado

Mais procurados

LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたLT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたShingo Inoue
 
Chefについて数週間勉強してみた
Chefについて数週間勉強してみたChefについて数週間勉強してみた
Chefについて数週間勉強してみたAkira Kaneda
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Hiro H.
 
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4Taku Unno
 
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築Masahiro Wakame
 
Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+Tsuyoshi Torii
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化greenasparagus
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudyTakeshi Komiya
 
やってよかったOS作り
やってよかったOS作りやってよかったOS作り
やってよかったOS作りHidemi Kawai
 
UbuntuやChromiumの紹介
UbuntuやChromiumの紹介UbuntuやChromiumの紹介
UbuntuやChromiumの紹介勝 熊崎
 
20090704rubyist九州
20090704rubyist九州20090704rubyist九州
20090704rubyist九州koki_h
 

Mais procurados (20)

Chef study
Chef studyChef study
Chef study
 
Chef
ChefChef
Chef
 
Go+revel
Go+revelGo+revel
Go+revel
 
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたLT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
 
Chefについて数週間勉強してみた
Chefについて数週間勉強してみたChefについて数週間勉強してみた
Chefについて数週間勉強してみた
 
OSC 2011 KeySnail
OSC 2011 KeySnailOSC 2011 KeySnail
OSC 2011 KeySnail
 
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
 
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
 
ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築ReVIEW & CI - ChefでCI環境構築
ReVIEW & CI - ChefでCI環境構築
 
Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+Chef SoloからItamaeに完全移行した話+
Chef SoloからItamaeに完全移行した話+
 
Ansible超入門
Ansible超入門Ansible超入門
Ansible超入門
 
Vagrant chef
Vagrant chefVagrant chef
Vagrant chef
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
 
Memcache Queue
Memcache QueueMemcache Queue
Memcache Queue
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy
 
やってよかったOS作り
やってよかったOS作りやってよかったOS作り
やってよかったOS作り
 
UbuntuやChromiumの紹介
UbuntuやChromiumの紹介UbuntuやChromiumの紹介
UbuntuやChromiumの紹介
 
20090704rubyist九州
20090704rubyist九州20090704rubyist九州
20090704rubyist九州
 
apasec001-kawai
apasec001-kawaiapasec001-kawai
apasec001-kawai
 
K初めてのstylus
K初めてのstylus K初めてのstylus
K初めてのstylus
 

Semelhante a Chefのはじめの一歩

Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacTakeshi Komiya
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Yoshinori Nakanishi
 
Chef概論とレシピ実践入門
Chef概論とレシピ実践入門Chef概論とレシピ実践入門
Chef概論とレシピ実践入門Kazuto Ohara
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 Hideo Takahashi
 
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfChef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfMasahiro NAKAYAMA
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalkBIGLOBE Tech Talk
 
20130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.020130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.0NIFTY Cloud
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成Microsoft Azure Japan
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較Sugawara Genki
 
Chef windows linux環境構築
Chef windows linux環境構築Chef windows linux環境構築
Chef windows linux環境構築靖 小田島
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChefMasahiro NAKAYAMA
 
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -Masaya Konishi
 
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba PiggUsing Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba PiggYuuki Namikawa
 
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithackChef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack満徳 関
 

Semelhante a Chefのはじめの一歩 (20)

Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
 
Chef概論とレシピ実践入門
Chef概論とレシピ実践入門Chef概論とレシピ実践入門
Chef概論とレシピ実践入門
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
 
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfChef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
 
Chef on azure
Chef on azureChef on azure
Chef on azure
 
Chef on azure
Chef on azureChef on azure
Chef on azure
 
Chef on azure
Chef on azureChef on azure
Chef on azure
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
Chef入門
Chef入門Chef入門
Chef入門
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
 
20130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.020130723 ecシステムにchefを導入してみた v1.0
20130723 ecシステムにchefを導入してみた v1.0
 
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
Chef windows linux環境構築
Chef windows linux環境構築Chef windows linux環境構築
Chef windows linux環境構築
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChef
 
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
 
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba PiggUsing Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
 
Yohes kitchen
Yohes kitchenYohes kitchen
Yohes kitchen
 
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithackChef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
 

Mais de Misa Kondo

Application Release Utilizing MCollective
Application Release  Utilizing MCollectiveApplication Release  Utilizing MCollective
Application Release Utilizing MCollectiveMisa Kondo
 
Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.Misa Kondo
 
バージョン管理
バージョン管理バージョン管理
バージョン管理Misa Kondo
 
Git introduction2
Git introduction2Git introduction2
Git introduction2Misa Kondo
 
Introduction git
Introduction gitIntroduction git
Introduction gitMisa Kondo
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introductionMisa Kondo
 
ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会Misa Kondo
 
Rubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでRubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでMisa Kondo
 
PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例Misa Kondo
 

Mais de Misa Kondo (11)

Application Release Utilizing MCollective
Application Release  Utilizing MCollectiveApplication Release  Utilizing MCollective
Application Release Utilizing MCollective
 
Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.Jenkinsとpull requestを利用した、継続的なbundle update.
Jenkinsとpull requestを利用した、継続的なbundle update.
 
バージョン管理
バージョン管理バージョン管理
バージョン管理
 
Tired to tdd
Tired to tddTired to tdd
Tired to tdd
 
Git introduction2
Git introduction2Git introduction2
Git introduction2
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
 
ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会ワンクリックデプロイ見習い勉強会
ワンクリックデプロイ見習い勉強会
 
Rubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでRubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまで
 
PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例PinQAでのMongoDB活用事例
PinQAでのMongoDB活用事例
 
TDDの神秘
TDDの神秘TDDの神秘
TDDの神秘
 

Chefのはじめの一歩