2012年10月30日火曜日

【CentOS】chefでサンプルのcookbookとrecipeを作って実行してみた

■概要
chefのサンプルcookbookを作ってサーバをchefからいろいろと弄ってみます
recipeを書いて実際に実行するところまでやってみます
今回はchef-soloという単体で実行できるものを利用してみます
cookbookやrecipeの情報を一括で管理できるchef-serverは今回使用しません

■cookbook&recipe作成
cd /
git clone git://github.com/opscode/chef-repo.git
cd chef-repo
rake new_cookbook COOKBOOK=test
rakeコマンドからcookbooksのひな形を作成します
git cloneしたchef-repoの中にRakefileがあり、それを元にrakeコマンドを実行しています
実行するにはgemによるchefのインストールも必要です(オムニバスインストールしたchefだと上記が実行できません)
cd cookbooks/test/
cd recipes
vi default.rb
directory "/tmp/tmpdir" do
  mode "0755"
  action :create
end

link "/tmp/link" do
  to "/tmp/tmpdir"
end

■solo.rbの作成
cd /etc/chef
vi chef.json
{
  "run_list": [
    "recipe[test]"
  ]
}

vi solo.rb
file_cache_path "/tmp/chef-solo"
cookbook_path ["/chef-repo/cookbooks"]
role_path "/chef-repos/roles"
log_level :debug
mkdir /tmp/chef-solo

■実行
chef-solo -c /etc/chef/solo.rb -j /etc/chef/chef.json
実行後に/tmp/tmpdirが存在し、/tmp/tmpdirにlinkが貼られていればOKです

■実行
solo.rbのcookbooks_pathは配列型なので複数のパスを指定することも可能です

■参考サイト

0 件のコメント:

コメントを投稿