10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

chef-soloの概念と基礎をざっくりと

Last updated at Posted at 2014-02-02

chef-soloの基礎

chefの中でも、一番基本になっているchef-soloの仕組みと使い方をざっくりと説明
chef-solo.svg.png

chefについてざっくりと

chef とは Linuxのセットアップ(ユーザーの追加、パッケージのインストール、サービスの設定など)を自動的に行うツール

chefで使われる用語

レシピ
設定を記述したファイル
クックブック
レシピファイル、インストールするrpm、その他必要なファイル等をまとめたディレクトリ
レポジトリ
chef実行時に必要なファイルセット。クックブック、レシピ等をまとめたディレクトリ
knife
レポジトリ、クックブック、レシピ等を扱うコマンド
chef-solo
レシピに従ってOSの設定を変更するコマンド

chefを使う時の流れ

(インストールを行うrootユーザーで作業しています)

  1. 必要なパッケージのインストール
  2. レポジトリを作成
  3. クックブック、レシピを作成
  4. レシピを適用

準備

chefパッケージとknife-soloパッケージをインストールする。

# gem install chef
# gem install knife-solo

初期設定を行う。

# knife configure 

レポジトリの作成

# mkdir /path/to/repository
# cd /path/to/repository
# knife solo init .

クックブックとレシピの作成

クックブックは、レポジトリの cookbooks ディレクトリ、もしくは site-cookbooks ディレクトリに作成する必要がある。

  1. クックブックの作成

site-cookbooksディレクトリの下に hoge というクックブックを作成する場合、以下のように実行する

# cd /path/to/repository/
# knife cookbook create hoge -o site-cookbooks/
  1. レシピを作成

レシピの書式については、http://docs.opscode.com/essentials_cookbook_recipes.html を参照のこと。

例としてzsh パッケージをインストールするレシピを、hogeクックブックの中の defaultレシピとする場合は、以下のように記述する。

/path/to/repository/site-cookboos/hoge/recipes/default.rb
package "zsh" do
    action :install
end

レシピの適用

  • クックブックフォルダのpath
  • どのクックブックを利用するか
    を指定してコマンドを実行する必要がある。
  1. クックブックフォルダのpathを指定するファイル

適当な場所(/path/to/config.rb)に、以下の内容で .rb ファイルを作成する。

file_cache_path "/tmp/chef-solo"
cookbook_path ["/path/to/repository/site-cookbooks"]
  1. どのクックブックを利用するか(Attribute設定ファイル)
    適当な場所に(/path/to/attributes.json)以下の内容で .json ファイルを作成する。 (クックブックhogeのdefault.rbレシピを実行する指定)
{
   "run_list" : [
        "recipe[hoge]"
   ]
}

※ cookbook[hoge]ではなく、recipe[hoge]と記載する理由は調査のToDo。

  1. クックブックの適用
# chef-solo -c /path/to/config.rb -j /path/to/attributes.json
10
10
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
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?