AWS上に構築したAmazon Linux上でchef-solo実行までのまとめ。
動作環境
- OS:Amazon Linux 2015.03.0 x86_64 HVM
chefのインストール
chef、chef-soloがインストールされます。
$ curl -L http://www.opscode.com/chef/install.sh | sudo bash
knife soloのインストール
chef-solo実行のためにknife soloをインストールします。
$ sudo /opt/chef/embedded/bin/gem install knife-solo --no-ri --no-rdoc
chefリポジトリ作成
$ knife solo init chef-repo
cookbook作成
$ knife cookbook create hello -o chef-repo/site-cookbooks
レシピの編集
レシピにログの出力を設定
$ vi chef-repo/site-cookbooks/hello/recipes/default.rb
log "Hello"
solo.rbを作成
cookbookのパスなどを設定するためのファイルを作成します。
今回のレシピはsite-cookbooks配下に作成したので、site-cookbooksを参照する設定にします。
site-cookbooksまでのパスは自分の環境に合わせて設定してください。
$ vi chef-repo/solo.rb
cookbook_path ["/home/ec2-user/chef-repo/site-cookbooks"]
chef-soloを実行するjsonを作成
chef-soloを実行するターゲットの設定ファイルを作成します。
$ vi chef-repo/nodes/chef.json
{
"run_list": [
"recipe[hello]"
]
}
chef-solo実行
$ sudo chef-solo -c chef-repo/solo.rb -j chef-repo/nodes/chef.json
実行結果に log[Hello] action write が出力されていれば成功です。
これでchef-soloの実行環境が構築できたので、必要なレシピを作成して実行してください。