Chef-nodes
提供:Dev Guides
シェフ-ノード
*Knife preflight* は、特定のクックブックを使用するすべてのノードに関する詳細をChefサーバーにアップロードする前に表示します。
入門
開始するには、ナイフプリフライトgemをインストールする必要があります。
- ステップ1 *-gemファイルでパスを定義します。
vipin@laptop:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'knife-preflight'
- ステップ2 *-bundlerを実行してknife-preflight gemをインストールします。
vipin@laptop:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing knife-preflight (0.1.6)
作業方法
指定されたクックブックでナイフプリフライトを実行します。
preflightコマンドを実行して、展開された実行リストで特定のクックブックを持つノードとロールを確認できます。
vipin@laptop:~/chef-repo $ knife preflight ntp
Searching for nodes containing ntp OR ntp::default in their
expanded run_list...
2 Nodes found
www-staging.example.com
cms-staging.example.com
Searching for roles containing ntp OR ntp::default in their
expanded run_list...
3 Roles found
your_cms_role
your_www_role
your_app_role
Found 6 nodes and 3 roles using the specified search
criteria
ノードでクックブックを実行する方法は複数あります。
- ノードの実行リストに追加することで、クックブックをノードに直接割り当てることができます。
- ロールにクックブックを追加し、ノードの実行リストにロールを追加できます。
- ロールを別のロールの実行リストに追加し、その別のロールをノードの実行リストに追加できます。
- クックブックは、使用される別のクックブックの依存関係になる場合があります。
どのようにクックブックがノードの実行リストに追加されても、Chefがロールとレシピのすべての拡張リストをノード属性に保存するため、knife preflightコマンドはそれをキャッチします。 knife preflightコマンドは、これらのノード属性を正確に検索します。