Chef-environment
シェフ-環境
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よりも属性の優先順位が高くなります。 オーバーライド属性は、ほとんどの場合レシピで定義されますが、役割または環境の属性ファイルで指定することもできます。