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コマンドは、これらのノード属性を正確に検索します。