それならいっそ何度再インストールしようが痛くないようにchef使っておくことにした。
knife-soloを入れる。
% gem install knife-solo
何故かやたら時間かかった。Chefレポジトリを作成する。
% knife solo init chef-repo
作成はされたけどwarningが出てた。
WARNING: No knife configuration file found
設定しておく。
% knife configure
色々聞かれたけどとりあえずreturnを連打してデフォルト設定にした。とりあえず練習を兼ねてnginx用のクックブックを作る。
% cd chef-repo
% knife cookbook create nginx -o site-cookbooks
そうすると site-cookbooks以下にnginxフォルダとか出来る。site-cookbooks/nginx/recipes/default.rbを編集して、
package "nginx" do
action :install
end
とか書くと、サーバーにこのレシピを適用したときにOSの違いとか吸収してnginxをインストールしてくれるはず。クライアント側からサーバーにchefをインストールさせることができる。
knife solo prepare user@host
sshと同じように -i とか -pとか -Pを付けて実行できる。この時のユーザーはsudoできるユーザーじゃないといけない(たぶん)。
上の例だとクライアント側のnodesフォルダ内にhost.jsonっていうJSONファイルが生成されているはず。
こいつを編集してやって、どのレシピを使うかを指定する。
{"run_list":[]}
とかなってると思うので、こうする。{"run_list":["nginx"]}
そしてサーバーにレシピを適用する。
% knife solo cook user@hoge
prepareの時と同じで、ここでもsshで接続するときと同じようにオプションを指定する。ここまで正しくできてればnginxがインストールされる。
同じように他のレシピも作っていく。
0 件のコメント:
コメントを投稿