だれかのメモ帖

テクノロジー全般のメモ

Chefのまとめ

chefの勉強したので記録。
とりあえず、chefはここまでにして次は違うことをやるつもり。

1. 準備

$ knife solo init chef-repo
$ cd chef-repo
$ knife solo prepare [host名]
※[host名]はsshで接続できる名前
$ knife cookbook create [name] -o site-cookbooks/

そうするとこんな感じでディレクトリ・ファイルができる

chef-repo/
----- site-cookbooks/
------ [name]/
------ recipes/
------ default.rb =>編集対象、nodeで実行する内容を書く
------ template/ ノードに送信するファイルを格納する。
------ nodes/
| |------ [host名].json =>レシピの実行などをjson形式で記述

2. ノードで任意の処理を実行

やること
・default.rbの編集
・[host名].jsonの編集

その後、以下を実行。

$ knife solo cook [host名]

するとdefault.rbに書かれた内容が実行される。

何ができるの?
defaut.rbに書けるノードで実行するさまざまな命令を総称してResourcesという。

resourcesの例(一部)
package
さまざまなパッケージをインストールする

service
OSサービスをコントロールする

template
ファイルを操作する。erbファイルをtemplateフォルダに置くことで、その内容がノードに書かれる。
値を変数として埋め込むことができる。

gem_package
gemパッケージをインストールする

cookbook_file
ファイルを転送する


あとは、http://docs.opscode.com/chef/resources.html
を見て勉強すべし。