6

Chefを使い始めたばかりですが、いくつかのレシピでのようなものがあることに気づきましたnode['cpu']['total']

質問やオンラインで「シェフノード属性」などを検索しましたが、使用可能なノード属性のリストが見つかりません。

私が探しているのは:

  1. すべてnode[...]自動的に定義されますか?
  2. 使用可能なすべてのノード属性(CPU ...)のリストはどこにありますか?
4

3 に答える 3

12

すべてのノード[...]は自動的に定義されていますか?

いいえ。それらのいくつかは、シェフの実行の開始時にOhaiによって設定されます。それらのいくつかはクックブックの(デフォルトの)属性によって設定され、それらのいくつかはシステムのさまざまな場所で上書きされます(たとえば、役割、他のレシピなど)。

使用可能なすべてのノード属性(CPU ...)のリストはどこにありますか?

これは、実行しているシステム、インストールしたohaiプラグイン、および実行リストにあるクックブックによって異なります。ohai基本的なOhai属性の完全なリストを取得するには、シェルで実行するだけで、すべての自動属性が出力されます。他の人のために、あなたはあなたの料理本を見なければなりません。

ドキュメントのリファレンスについては、Chefのドキュメントをご覧ください。私は良い出発点をリンクしましたが、属性を実際に理解することは、かなり柔軟な(したがって複雑な)システムであるため、少し複雑です。ドキュメントを少し参照する必要があります。

于 2013-03-15T22:49:01.860 に答える
2

ああ!つまり、属性を設定するのはOhaiレシピ/プラグインです。具体的には、linux/cpuプラグインです。

于 2013-03-14T03:25:19.567 に答える
2

将来的に他の人に役立つかもしれません:

ノードのすべての自動属性のリスト:(ohaiプラグインのバージョンによって異なります)

各chef-clientの実行の開始時にOhaiによって収集される自動属性のリストは、組織ごとに異なり、構成されているさまざまなサーバータイプと、それらのサーバーが実行されているプラ​​ットフォーム間で異なることがよくあります。Ohaiによって収集されたすべての属性は、chef-clientによって変更できません。特定のノードに対してOhaiによって収集される自動属性を確認するには、次のコマンドを実行します。

find  /opt/chefdk/embedded/lib/ruby/gems/*/gems/ohai-*/lib -name "*.rb" -print | xargs grep -R "provides" -h |sed 's/^\s*//g'|sed "s/\\\"/\'/g"|sort|uniq|grep "^provides"

参照元:https ://docs.chef.io/ohai.html

于 2018-12-06T09:53:20.297 に答える