No.257
【Chef】Chefざっくりまとめ
chef、knife、cookbook、recipe…意味判らん
capistranoと並んで意識高い系ツールの双璧を成すchef。(個人調べ)
厨二病全開でつけたとしか思えない用語の理解だけで数年かかってしまうこと請け合いだ。(個人調べ)
いちいち説明するたびにテキスト書くのもアレなので、コピペ用の大雑把説明をメモしておこう。
…大雑把だからね? ちゃんとと自分で勉強してね?
Chef
rubyベースのサーバー設定ツール。
Cookbook
Chefの環境構築設定ファイル。
ミドルウェア、ソフトウェアのテンプレート設定などが記載される。
RecipeはCookbookに含まれる。
Recipe
Chefの環境構築設定ファイル。 Cookbookを各環境用にカスタマイズしたもの。各マシンで実行されるのはこれ。
Chef Client
Chefで環境構築されるマシン。
Chef Server
Chef管理サーバ経由で複数マシンを一気に設定するときに使うマシン。
Chef Server経由で配下のChef Clientをまとめて管理する。大規模な環境でしか使わないし、自分は使ったことがない。
Chef Solo
環境設定を行うマシン(Chef Client)にRecipeを置き、それを基に環境設定を行う。スタンドアロン版と言えばわかりやすいかも。
単純な構成のマシンや、Vagrantなどの仮想環境構築時に使うのはこれ。
Chef Zero
に統合予定。
Chef Zero
動作としてはChef Solo
と似てる。
Recipeは実行命令を出すマシンにのみ置かれていて、環境設定を行う各マシン(Chef Client)はそこから必要な情報を取得して環境設定を行う。
Knife
Chefの実行コマンド。
Cookbookのベースを作成したりするときにも使う。
Template
各環境の設定ファイルなどのテンプレート。
Resource
各環境ごとに専用に用意された設定ファイル。Templateだけでは足りないものを用意。
Attribute
各環境の設定値。DBのユーザー名&パスワードなど。