chef-soloの概念と基礎をざっくりと
chef-soloの基礎
chefの中でも、一番基本になっているchef-soloの仕組みと使い方をざっくりと説明
chefについてざっくりと
chef とは Linuxのセットアップ(ユーザーの追加、パッケージのインストール、サービスの設定など)を自動的に行うツール
chefで使われる用語
- レシピ
- 設定を記述したファイル
- クックブック
- レシピファイル、インストールするrpm、その他必要なファイル等をまとめたディレクトリ
- レポジトリ
- chef実行時に必要なファイルセット。クックブック、レシピ等をまとめたディレクトリ
- knife
- レポジトリ、クックブック、レシピ等を扱うコマンド
- chef-solo
- レシピに従ってOSの設定を変更するコマンド
chefを使う時の流れ
(インストールを行うrootユーザーで作業しています)
- 必要なパッケージのインストール
- レポジトリを作成
- クックブック、レシピを作成
- レシピを適用
準備
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 ディレクトリに作成する必要がある。
- クックブックの作成
site-cookbooksディレクトリの下に hoge というクックブックを作成する場合、以下のように実行する
# cd /path/to/repository/
# knife cookbook create hoge -o site-cookbooks/
- レシピを作成
レシピの書式については、http://docs.opscode.com/essentials_cookbook_recipes.html を参照のこと。
例としてzsh パッケージをインストールするレシピを、hogeクックブックの中の defaultレシピとする場合は、以下のように記述する。
package "zsh" do
action :install
end
レシピの適用
- クックブックフォルダのpath
- どのクックブックを利用するか を指定してコマンドを実行する必要がある。
- クックブックフォルダのpathを指定するファイル
適当な場所(/path/to/config.rb)に、以下の内容で .rb ファイルを作成する。
file_cache_path "/tmp/chef-solo"
cookbook_path ["/path/to/repository/site-cookbooks"]
- どのクックブックを利用するか(Attribute設定ファイル) 適当な場所に(/path/to/attributes.json)以下の内容で .json ファイルを作成する。 (クックブックhogeのdefault.rbレシピを実行する指定)
{
"run_list" : [
"recipe[hoge]"
]
}
※ cookbook[hoge]ではなく、recipe[hoge]と記載する理由は調査のToDo。
- クックブックの適用
# chef-solo -c /path/to/config.rb -j /path/to/attributes.json
Author And Source
この問題について(chef-soloの概念と基礎をざっくりと), 我々は、より多くの情報をここで見つけました https://qiita.com/gigatune/items/01f775fb615df8d1d361著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .