Chef - Umwelt
Chef hilft bei der Durchführung der umgebungsspezifischen Konfiguration. Es ist immer eine gute Idee, eine separate Umgebung für Entwicklung, Test und Produktion zu haben.
Chef ermöglicht das Gruppieren von Knoten in separate Umgebungen, um einen geordneten Entwicklungsablauf zu unterstützen.
Eine Umgebung schaffen
Die Erstellung einer Umgebung im laufenden Betrieb kann mit dem Messer-Dienstprogramm erfolgen. Der folgende Befehl öffnet den Standardeditor einer Shell, sodass die Umgebungsdefinition geändert werden kann.
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
Testen einer erstellten Umgebung
vipin@laptop:~/chef-repo $ knife environment list
_default
book
Listenknoten für alle Umgebungen
vipin@laptop:~/chef-repo $ knife node list
my_server
_Standardumgebung
Jede Organisation beginnt immer mit mindestens einer einzigen Umgebung, der Standardumgebung, die dem Chef-Server immer zur Verfügung steht. Eine Standardumgebung kann ohnehin nicht geändert werden. Änderungen jeglicher Art können nur in der von uns erstellten benutzerdefinierten Umgebung berücksichtigt werden.
Umgebungsattribute
Ein Attribut kann in einer Umgebung definiert und dann zum Überschreiben der Standardeinstellungen im Knoten verwendet werden. Wenn der Chef-Client ausgeführt wird, werden diese Attribute mit den Standardattributen verglichen, die bereits im Knoten vorhanden sind. Wenn die Umgebungsattribute Vorrang vor den Standardattributen haben, wendet der Chef-Client diese Einstellungen und Werte an, wenn der Chef-Client auf jedem Knoten ausgeführt wird.
Ein Umgebungsattribut kann nur entweder default_attribute oder override_attribute sein. Es kann kein normales Attribut sein. Man kann die Methoden default_attribute oder override_attribute verwenden.
Attributtyp
Default - Ein Standardattribut wird immer zu Beginn jedes Chef-Client-Laufs zurückgesetzt und hat die niedrigste Attributpriorität.
Override- Ein Override-Attribut wird immer zu Beginn jedes Chef-Client-Laufs zurückgesetzt und hat eine höhere Attributpriorität als default, force_default und normal. Ein Überschreibungsattribut wird am häufigsten im Rezept definiert, kann aber auch in einer Attributdatei für eine Rolle oder eine Umgebung angegeben werden.