EC2でChef使ってみる
OSはEC2のAmazonLinuxです。
Chefのインストール
curl -L https://www.opscode.com/chef/install.sh | sudo bash・Chefでは、コード化された手順書あるいは、サーバの状態をレシピと呼びます。 ・クックブックはレシピの入れ物です。 ・クックブックを含む実行に必要な一連のファイルを入れる入れ物もあり、それはリポジトリとかキッチンと呼ばれます。 ・Chefを始めるには、最初にリポジトリを作成します。リポジトリは特定のシステムに1個くらいつくるイメージだそうです。
リポジトリ(キッチン)の作成
git clone git://github.com/opscode/chef-repo.gitknifeの設定ファイルの作成
knife configureこれだけです。あとはデフォルトでEnterでOKということです。
knifeでクックブック作成
cd chef-repoknife cookbook create hello -o cookbooksこれでhelloというクックブックをcookbooksディレクトリに作成します。
レシピの編集
package "httpd" do action :installendservice "httpd" do supports :status => true, :restart => true, :reload => true action [ :enable , :start ]endjsonファイルと、solo.rbファイルを作る
localhost.json
{ "run_list": [ "recipe[hello]" ]}solo.rb
file_cache_path '/tmp/chef-solo'cookbook_path ['/home/ec2-user/chef-repo/cookbooks']lolcahost.jsonとsolo.rbはどこに置いてもいいみたいだけど、リポジトリ直下に入れておく。
chef soloの実行
sudo chef-solo -c solo.rb -j ./localhost.jsonこれで、アパッチがインストールされて起動した。