このエントリーをはてなブックマークに追加

chef-solo

概要

Chefは、Puppet同様に構成管理ツールです。パッケージのインストール、設定、サービスの状態などを自動化出来ます。
chef-soloはserverを用意せずにそのまま実行可能なパッケージです。
詳しくは、 本家のリンク を参照してください。

インストール

chef-soloのインストールですが、chefに含まれていますのでchefをインストールします。

# apt-get update
# apt-get install curl -y
# curl -L get.rvm.io | bash -s stable
# source /etc/profile.d/rvm.sh
# apt-get install -y $(rvm requirements | grep ruby: | egrep -v "jruby|iron" | cut -d " " -f6-7)
# rvm install 1.9.3
# rvm use 1.9.3 --default
# gem install chef

設定

キャッシュ、レシピがある場所を指定します。
# mkdir /etc/chef
# vi /etc/chef/solo.rb
file_cache_path "/var/chef/cache"
cookbook_path "/var/chef/cookbooks"
log_level :debug

レシピの作成

tmuxをインストールするレシピを作成してみます。

# knife cookbook create install
# vi /var/chef/cookbooks/install/recipes/default.rb
%w(tmux).each do |name|
  package name do
    action :install
  end
end

レシピを実行するためのファイルを作成

作成したレシピを実行させるためのコンフィグを作成します。

# vi /var/chef/cookbooks/install/install.json
{
    "run_list": [
       "recipe[install]"
    ]
}

レシピを実行

作成したレシピを実行します。
コンフィグファイルをetc以外に配置している場合は-cで指定する必要があります。
# chef-solo -j /var/chef/cookbooks/install/install.json

目次

このページ