Chef-environment

提供:Dev Guides
移動先:案内検索

シェフ-環境

Chefは、環境固有の構成の実行を支援します。 開発、テスト、実稼働用に個別の環境を用意することは常に良い考えです。

Chefでは、ノードを個別の環境にグループ化して、順序付けられた開発フローをサポートできます。

環境を作成する

その場で環境を作成するには、knifeユーティリティを使用します。 次のコマンドは、シェルのデフォルトエディターを開き、環境定義を変更できるようにします。

vipin@laptop:~/chef-repo $ knife environment create book {
   "name": "book",
   "description": "",
   "cookbook_versions": {
   },
   "json_class": "Chef::Environment",
   "chef_type": "environment",
   "default_attributes": {
   },
   "override_attributes": {
   }
}
Created book

作成された環境のテスト

vipin@laptop:~/chef-repo $ knife environment list
_default
book

すべての環境のリストノード

vipin@laptop:~/chef-repo $ knife node list
my_server

_default環境

各組織は、常にデフォルト環境と呼ばれる少なくとも1つの環境から開始します。デフォルト環境は、常にChefサーバーで使用可能です。 とにかくデフォルト環境を変更することはできません。 あらゆる種類の変更は、作成したカスタム環境でのみ対応できます。

環境属性

環境で属性を定義してから、ノードのデフォルト設定をオーバーライドするために使用できます。 Chefクライアントの実行が行われると、これらの属性は、ノードに既に存在するデフォルトの属性と比較されます。 環境属性がデフォルトの属性よりも優先される場合、Chefクライアントは各ノードで実行されるときにこれらの設定と値を適用します。

環境属性は、default_attributeまたはoverride_attributeのみです。 通常の属性にすることはできません。 default_attributeまたはoverride_attributeメソッドを使用できます。

属性タイプ

デフォルト-デフォルト属性は、すべてのChefクライアントの実行の開始時に常にリセットされ、属性の優先順位が最も低くなります。

オーバーライド-オーバーライド属性は、すべてのChefクライアントの実行の開始時に常にリセットされ、デフォルトのforce_defaultおよびnormalよりも属性の優先順位が高くなります。 オーバーライド属性は、ほとんどの場合レシピで定義されますが、役割または環境の属性ファイルで指定することもできます。

属性を適用する順序

注文属性