Vagrant + Chef (Solo)って流行ってるんで、使ってみることにしたよ。
概要
やりたいこと
まずは今回目指すことを書いておく。
とあるWeb系のシステムの開発環境を、数名の開発者で共有したい。具体的には、VirtualBox上のVMにCentOS、JDK、nginx, Play! framework、PostgreSQLとかを自動でインストールして環境を作りたい。
Chef Serverは使わず、ChefのレシピはGitHub上に登録する。コミュニティが作成したcookbookも使えるものは使う。
あと、knife-soloを使用。伊藤直也さんの入門Chef Solo – Infrastructure as Codeで紹介されていて初めて知ったんだけど、Chef Soloを使う場合には、knife soloを使うと色々便利。
本記事で扱わないこと
- Chefのレシピの書き方。これはサイトなり書籍で色々情報があるので、わざわざ書く必要はないと判断。
- Vagrantの使い方。理由は上に同じ。
基本情報
知ってると思うけど簡単に説明。
Vagrant → VirtualBoxとかVMware上のVMを簡単に作れるツール。
Chef → 構成管理ツール、みたいなもん。事前に定義した設定ファイルに従って、サーバーの環境を構築してくれる。
上の2つに比べると、Berkshelf は比較的知名度が低いかもしれない。という自分も、今回はじめて知ったんだけど・・・
Berkshelf が何をするものかというと、Chefのcookbookを管理してくれるもの。まぁそれだけだと分かりづらいと思うので、追々実例を見ながら説明、と。
環境情報
MacBook Pro上で作業してます。
- Vagrant 1.6.2
- VirtualBox 4.3.12
- Chef と Berkshelf は Chef DK (Chef Development Kit)を使って入れた。バージョンはChef 11.14.0.alpha.1とBerkshelf 3.0
- knife-solo 0.4.2
- VMではCentOSを動かす。
世の中のBerkshelf関連の情報は2.0以前のものが多いみたいだけど、Berkshelf 3.0だといろいろ変わっている事が多いので注意。移行ガイドみたいなのはこちら。