Chefレポジトリをknife-soloで作成
$ knife solo init repo-name $ cd repo-name $ git init $ git add . $ git commit -m "initial commit"対象ノードにchef-soloをインストール
$ knife solo prepare hostname $ git add nodes/hostname.json #自動生成された対象ノード用のjsonファイル $ git commit -m "added nodes/hostname.json"nginxをインストールするレシピの作成
$ knife cookbook create nginx -o site-cookbooks $ vim site-cookbooks/nginx/recipes/default.rbsite-cookbooks/nginx/recipes/default.rb
# # Cookbook Name:: nginx # Recipe:: default # # Copyright 2013, YOUR_COMPANY_NAME # # All rights reserved - Do Not Redistribute # package "nginx" do action :install end service "nginx" do supports :status => true, :restart => true, :reload => true action [ :enable, :start ] end
$ vim nodes/hostname.jsonnodes/hostname.json
{ "run_list":[ "nginx" ] }実行
# Vオプションで詳細が表示されました $ knife solo cook hostname -VVagrantfileの"config.vm.network :private_network, ip:"で指定しているIPアドレスにアクセス
P.S. 実行した時、以下の表示がされ全く進まなくなる現象が出ました。(これでハマった...)
INFO: Chef client is running, will wait for it to finish and then run.Vagrantのイメージ上でゴミ(?)プロセスを消して再度実行したらうまくいきました。
$ ps -ef | egrep "(ruby|chef)" $ sudo kill xxx
No comments:
Post a Comment