chefのサンプルcookbookを作ってサーバをchefからいろいろと弄ってみます
recipeを書いて実際に実行するところまでやってみます
今回はchef-soloという単体で実行できるものを利用してみます
cookbookやrecipeの情報を一括で管理できるchef-serverは今回使用しません
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
cd recipes
vi default.rb
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/git cloneしたchef-repoの中にRakefileがあり、それを元にrakeコマンドを実行しています
実行するにはgemによるchefのインストールも必要です(オムニバスインストールしたchefだと上記が実行できません)
cd recipes
vi default.rb
directory "/tmp/tmpdir" do
mode "0755"
action :create
end
link "/tmp/link" do
to "/tmp/tmpdir"
end
mode "0755"
action :create
end
link "/tmp/link" do
to "/tmp/tmpdir"
end
■solo.rbの作成
cd /etc/chef
vi chef.json
vi solo.rb
vi chef.json
{
"run_list": [
"recipe[test]"
]
}
"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-solocookbook_path ["/chef-repo/cookbooks"]
role_path "/chef-repos/roles"
log_level :debug
■実行
chef-solo -c /etc/chef/solo.rb -j /etc/chef/chef.json
実行後に/tmp/tmpdirが存在し、/tmp/tmpdirにlinkが貼られていればOKです
■実行
solo.rbのcookbooks_pathは配列型なので複数のパスを指定することも可能です
■参考サイト
0 件のコメント:
コメントを投稿