シェフ-ノード
Knife preflight Chefサーバーにアップロードする前に特定のクックブックを使用するすべてのノードの詳細を表示します。
入門
開始するには、ナイフプリフライトジェムをインストールする必要があります。
Step 1 −gemファイルでパスを定義します。
vipin@laptop:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'knife-preflight'
Step 2 −バンドラーを実行して、ナイフプリフライトジェムをインストールします。
vipin@laptop:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing knife-preflight (0.1.6)
作業方法
指定されたクックブックでknife-preflightを実行します。
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がロールとレシピのすべての拡張リストをノード属性に格納するため、knifepreflightコマンドがそれをキャッチします。 knife preflightコマンドは、これらのノード属性を正確に検索します。