LoginSignup
0
0

More than 5 years have passed since last update.

Chef-soloでcookbook反映までの手順メモ

Last updated at Posted at 2015-08-16

Chefのインストール

Chefは公式からインストール
https://downloads.chef.io/chef-dk/

knife-soloも同時にインストール

sudo chef gem install knife-solo

レポジトリの作成

knife solo init chef-repo-myblog

treeで見ると下記のようなディレクトリが生成

|____.chef
| |____knife.rb
|____cookbooks
|____data_bags
|____environments
|____nodes
|____roles
|____site-cookbooks

cookbookの作成

今回はMysqlのモジュールをインストール

knife cookbook create mysql -o site-cookbooks

-o site-cookbooksで生成するディレクトリの指定。サードパーディからとってきたcookbook以外はすべてsite-cookbooks内に作っていく

モジュールを入れているだけですが、一応レシピの中身

site-cookbooks/mysql/recipes/default.rb
%w{mysql mysql-devel mysql-server}.each do |pkg|
  package pkg do
    action :install
  end
end

service "mysqld" do
  action [ :enable, :start]
end

リモートにchefをアップ

cookbookを反映する準備としてprepareコマンドでchefをリモートにアップします。

knife solo prepare my-blog

~/.ssh/configにホスト情報を書き込んでいるためHost Nameのみで認証可能となっています。

Host my-blog
    HostName IP_Address
    IdentityFile    Path_to 認証ファイル
    User            認証user

nodesの編集

prepareコマンド後にnodesにファイルの追加されているのが確認できる

nodes/my-blog.json
{
  "run_list": [

  ],
  "automatic": {
    "ipaddress": "my-blog"
  }
}

run_listに作成したcookbookを追加

nodes/my-blog.json
{
  "run_list": [
     "recipe[mysql]"
  ],
  "automatic": {
    "ipaddress": "my-blog"
  }
}

Cookbookの反映

これでnodeに追加したレシピがリモートに追加される

knife solo cook my-blog

参考

Chef Soloの正しい始め方
http://tsuchikazu.net/chef_solo_start/

Chefに入門(4) 〜knife-soloの導入〜
http://qiita.com/us10096698/items/fb90e1317349abf1c45c

ちなみにドライランも可能
http://d.hatena.ne.jp/rx7/20120910/p1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0