『入門 Chef Solo -Infrastructure as Code-』を読みました。

伊藤直也さん著『入門 Chef Solo -INFRASTRUCTURE AS CODE-』を読みました。

{% amazon text B00BSPH158 %}

{% amazon medium_image B00BSPH158 %}

Amazonのリンクを貼っておきながら言うのもなんですが、達人出版会でepub/pdfのダウンロード販売があるのを知ってそちらで購入しました。どうも僕は、Kindleなど特定のアプリケーションに関連付いた電子書籍が苦手です。紙の実物か、ファイルがあると安心します。我ながらオールドタイプだとは思いますが。達人出版会さんのページはこちらです。

入門Chef Solo - Infrastructure as Code - 達人出版会

サンプル実行ではまったポイント

サンプルを実行する際にいくつか引っかかった点がありました。はまったポイントはQiitaにまとめました。

「入門 Chef Solo」on MacOSXではまったこと。 - Qiita

Vagrant 1.0.7 で使えるVirtualBoxは4.2まで

Qiitaに書き忘れていましたが、もう一点はまったポイントがありました。Vagrant(バージョンは1.0.7)がサポートしているVirtualBoxのバージョンは4.2までのようです。現在VirtualBoxの最新版は4.3です。Latestをそのままインストールすると4.3で、Vagrantを実行した際にエラーが発生しました。いったん4.3をアンインストールして、4.2をインストールし直しました。

VagrantとChef Soloの基本操作

VagrantとChef Soloの基本操作をまとめておきます。

Vagrant チートシート

Vagrantの基本的な操作

# Vagrantのインストール
gem install vagrant

# boxの追加
vagrant box add <box名> <URL>

# Vagrantの初期化
vagrant init <box名>

# 仮想マシンの起動
vagrant up

# 仮想マシンの停止
vagrant halt

# 仮想マシンの廃棄
vagrant destroy

# ssh-configの確認
vagrant ssh-config --host <ホスト名>

Chef Solo (+ knife solo) チートシート

chef soloとknife soloで仮想マシンを設定する基本操作

# chefリポジトリの作成
knife solo init chef-repo
cd chef-repo
git init
git add .
git commit -m "first commit"

# 仮想マシンにchefをインストール
knife solo prepare <ホスト名>
git add nodes/<ホスト名>.json
git commit -m "add node json file"

# クックブック作成
knife cookbook create <クックブック名> -o site-cookbooks

# レシピとjsonファイルの編集
vi site-cookbooks/<クックブック名>/recipes/default.rb
vi nodes/<ホスト名>.json

# chef solo実行 + バージョン管理
knife solo cook <ホスト名>
git add site-cookbooks/<クックブック名>
git commit -m "add recipe"

以上です。