CentOS6.3でchef-soloを試してみた

こんな感じになりました

sudo yum install git -y

mkdir workspace
cd workspace

git clone git://github.com/wiredool/chef-repo.git
cd chef-repo
git submodule init
git submodule update

sudo sh run-chef-solo.sh

実行するとApacheとかインストールされます。
よくわかっていないので、おかしなところがあるかも知れなません。
実際に利用してみる時は、もっと良さげなところを参考にしましょう。

思ったより簡単にできた

Ruby準備面倒そうだ、とか思っていました。
が、shなインストールスクリプト1つでバイナリ降ってきたのであっさり完了。便利なものですね。
途中の変なところでハマって、案外時間を取られたのが悲しかったです。

作業内容

実行したい作業のかたまりをこの辺の書く。

repo/site-cookbooks/hoge/recipes/default.rb

あるいは、誰かが作ったものを貰ってくる。

[submodule "cookbooks/man"]
	path = cookbooks/man
	url = git://github.com/opscode-cookbooks/man.git

準備した中で実行したいものの一覧をjsonに書く。

{
	"run_list": [
		"hoge",
		"man"
	]
}

あとは実行するだけ。

sudo chef-solo -c 設定ファイル -j jsonファイル

試した環境とか

AzureのCentOS6.3なVMにて。
利用したファイルはこのあたり。
https://github.com/wiredool/chef-repo

参考サイト

chef-soloとgitでCentOSの環境構築をらくらく自動化
http://kohkimakimoto.hatenablog.com/entry/2013/02/15/121741
chef-soloを使ってサーバ設定を自動化して楽をしよう! 〜chef-soloの使い方〜
http://blog.engineer.adways.net/archives/17808773.html

ハマった内容

sudo curl -L https://www.opscode.com/chef/install.sh | bash

で、権限がないよ的な。

正しくはこう。
権限が必要なのは「拾う」部分ではなくて「インストール」ですものね……

curl -L https://www.opscode.com/chef/install.sh | sudo bash