もふもふ技術部

Vagrant + Chef solo + Berkshelfのセットアップ用ひな形まで


そろそろ開発環境をvagrantで統一したくなってきたので、もう少し実践的なところまで踏み込んでみます。

vagrantのインストールは以前にやっているので飛ばしますね。
Vagrantで簡単にUbuntu 12.04を動かしてみるところまで。

Vagrant + Chef solo + Berkshelf

作業ディレクトリを作ります。

.boxファイルから box addしてVagrantfileを生成します。今回はveeweeで自作したCentOS 6.4の64bit版を使います。

berkshelfと各種プラグインをインストールします。

vagrant-omnibusは仮想OS上にchef soloがインストールされていない場合、chef実行時に自動的に指定バージョンのchef soloをインストールしてくれます。

vagrant-berkshelfはvagrantのprovisioningにchef soloを使用出来るようにするプラグインです。便利。

個別の環境設定用のレシピを作って行きます。自作レシピは site-cookbooks というディレクトリ配下におくのがお決まり。

ログ出力するだけのレシピを記述。

Berksfileを作成。

Vagrantfileに設定を記述。

これで準備完了。これでvagrant up時にprovisioningで自動的にchef soloが走るはずですが、世の中そんなに甘くありませんでした。。

共有ディレクトリが使えねーぞオラって怒られます。

一応この状態でもゲストOSはちゃんと起動しています。

この現象の詳細は他で説明されているので、ひとまず対処法だけ。たぶん対処した状態でboxを作るのが正解だと思うけど、まあね、いろいろね。

下記を叩けと書いてありますが、そんなパッケージねーよと怒られます。怒られてばっかりじゃやってらんないっすよね。こんな世の中じゃポイズン。

下記を追記すればyum installできるようになります。CentOS 6.4を使用しているのですが、6.4のリポジトリの記述がなかった。これが正しい対処かはわかりません。

一旦ゲストOSを抜けて、reload, provisionします。reloadした時点でcookbookが転送されて、provisionしたら、chef soloが走ります。

ログの中に hello chef! があれば成功。
やったあ!出来ましたね!

おまけ

下記のようなエラーが出てちょっとハマりました。

ポイントは2カ所。

Vagrantfileの下記設定を確認。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。