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.

Reihenfolge der Anwendung eines Attributs