今日改めてやった作業メモ

chef, chef-solo, knife, knife-soloの役割がいまいちわかってなかったので
http://ka-zoo.net/2013/06/chef-solo-knife-solo-%E5%B0%8E%E5%85%A5%E3%83%A1%E3%83%A2/
を読みながらまんまやってみただけのメモ。

knife-soloを使った作業にgit管理が加わった感じ。
細かい説明は昨日のとほぼ同じなので省く。

$ knife solo init chef-repo

File existsとかエラーが出るけどできてる。

$ cd chef-repo
$ git init
$ git add .
$ git commit -m "First commit."
$ git log
$ knife cookbook create mybook -o site-cookbooks
$ git add .
$ git commit -m "Added mybook for cookbook."
$ git log
$ knife solo prepare vagrant@192.168.33.10
  • レシピを書く
$ emacs site-cookbooks/mybook/recipes/default.rb
package "httpd" do
  action :install
end
 
service "httpd" do
  action :start                                                                                                
end
$ emacs nodes/192.168.33.10.json
{
    "run_list":["mybook"]
}
  • 実行
$ knife solo cook vagrant@192.168.33.10
/Library/Ruby/Gems/1.8/gems/chef-11.6.0/lib/chef/mixin/path_sanity.rb:26: warning: Insecure world writable dir /Users/fuzzy31u/bin in PATH, mode 040777
Running Chef on 192.168.33.10...
Checking Chef version...
Uploading the kitchen...
Generating solo config...
Running Chef...
Starting Chef Client, version 11.6.0
Compiling Cookbooks...
Converging 2 resources
Recipe: mybook::default
  * package[httpd] action install
    - install version 2.2.15-28.el6.centos of package httpd

  * service[httpd] action start
    - start service service[httpd]

Chef Client finished, 2 resources updated

やたー!できたー。
うん、昨日はいろんな記事を参考にしすぎてごちゃごちゃなってたけど今日はよく理解した。うん。