Vagrant + Chef soloで仮想環境構築

  • Vagrantを使いVirtualBoxで仮想マシンをサクッと建てられる様に
  • Chefを使い、環境構築をサクッとできるように

全体像

VagrantとChefの役割は以下の通り。

  • Vagrant:仮想マシンの構築(OSインストール・初期設定)に使用
  • Chef:構築したマシンの内部の設定(パッケージインストール・設定)に使用

Vagrantでマシンを建てて、それぞれのマシンの内部の設定をChefが行う感じ。

なぜVagrantを使うのか?

Chefスクリプトを作るためにはテスト環境が必要。
ChefではRollbackができないので、毎回マシンを建て直してテストする必要がある。
これは本当に面倒くさそう。。。

そこで、仮想マシンをサクッと建てられるVagrantを使用する。

Vagrantを使用すると、Vagrantfileというファイルを作成し、あとはvagrant upコマンド1発で新しい仮想マシンを構築することができる。
Chefでテストするために使うだけであれば、サードパーティー(Vagrantboxes)が用意している仮想マシンのイメージを使えば、これだけで作業が済む。

Vagrantで仮想マシンを構築

Vagrantboxesの以下のイメージを使って構築する。

vagrant box add base http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

mkdir /path/to/hello
cd /path/to/hello

vagrant init base
vagrant up

chef-solo, knife-soloの導入

作業マシンからの作業

gem install chef
# もしくはこちら
# curl -L http://www.opscode.com/chef/install.sh | sudo bash
gem install knife-solo

# サーバにChefを導入
knife solo prepare <host>

Chefレポジトリの作成・Cookbookの作成

knife solo init <name>
cd <name>
git init .
git add .
git commit -m 'initial commit'

knife cookbook create hello -o site-cookbooks

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください