Melpomene - Fotolia

Die wichtigsten Komponenten zur Konfigurations-Verwaltung mit Chef

Von Cookbooks bis Recipes: Die Konfigurationsverwaltung mit Chef basiert auf einigen zentralen Komponenten. Ein Überblick für Einsteiger.

Chef gehört wie Ansible, Puppet oder Salt zu den Tools zur Konfigurationsverwaltung und gewinnt vor allem im DevOps-Bereich zwischen Private und Public Cloud zunehmend an Popularität. Chef automatisiert die Prozesse zum Erstellen, Bereitstellen und Verwalten von Infrastruktur, wodurch Administratoren nicht mehr unzählige Skripte in den unterschiedlichsten Sprachen erstellen müssen, sondern sich auf Chef als gemeinsamen Deployment-Standard festlegen können.

Damit sind DevOps-Teams in der Lage, sehr schnell und mit einem hohen Standardisierungsgrad Systemkonfigurationen bereitzustellen.

Primäre Chef-Komponenten

Die grundlegenden Komponenten zur Konfigurationsverwaltung mit Chef umfassen einen Chef-Server, eine Chef-Workstation und verwaltete Nodes. Diese Komponenten können dabei entweder auf firmeninternen Servern oder in der Private und Public Cloud ausgeführt werden.

Auf der Chef-Workstation erstellen Administratoren Konfigurationen, im Chef-Jargon Cooking genannt, hierfür kommt entweder die Kommandozeile oder die Weboberfläche von Chef zum Einsatz. Über diese Konfigurationsdateien wird definiert, welche Arbeiten die einzelnen Chef-Komponenten ausführen.

Die wichtigsten Chef-Komponenten zur Konfigurationsverwaltung.
Abbildung 1: Die wichtigsten Chef-Komponenten zur Konfigurationsverwaltung.

Auf dem Chef-Server werden alle Teile der Chef-Konfiguration gespeichert, inklusive der Rollen, Recipes und Konfigurationsdaten. Diese Repositories werden Cookbooks genannt. Ein Cookbook definiert also die Systemkonfiguration und ihre Verteilung. Recipes enthalten eine Liste der zu verwendenden Ressourcen und die Reihenfolge, in der sie bereitgestellt werden. Der Chef-Server agiert bei all dem als zentrale Kontaktstelle für alle Chef-Clients.

Nodes kommunizieren mit dem Chef-Server über HTTP- oder HTTPS-Verbindungen. Chef-Nodes verwenden ein Chef-Client-Skript, um eine Run-Liste der durchzuführenden Arbeiten auf dem jeweiligen Node herunterzuladen. Diese Liste wiederum enthält Cookbooks, die dann die Recipes für die auszuführende Node-Konfiguration enthalten.

Cookbooks und Recipes für Chef

Cookbooks sind Chef-Komponenten, die auf einem verwalteten Node einen gewünschten Zielzustand definieren. Chef-Cookbooks speichern Recipes, die auf Nodes ausgeführt werden, sowie alle nötigen Dateien und Konfigurationsvorlagen, die zum Ausführen der Recipes nötig sind. Recipes sind in Chefs domänenspezifischer Sprache geschrieben, die auf Ruby aufbaut.

Ressourcen sind wichtige Zusätze für Chef-Komponenten wie Cookbooks. Diese Ressourcen erledigen die eigentliche Arbeit der Konfigurationsverwaltung: Sie vergleichen den Code im Recipe mit dem tatsächlichen Systemzustand und führen alle nötigen Änderungen durch, um das System in den gewünschten Zielzustand zu bringen.

Bereitstellungsoptionen für Chef-Komponenten

Typische Chef-Installationen nutzen einen einzelnen zentralen Chef-Server, es gibt aber auch Alternativen. Etwa eine gehostete Chef-Umgebung, die direkt vom Unternehmen Chef Software unterhalten wird. Eine weitere Option wäre das Hochfahren eines Images von einem Cloud-Marktplatz. Chef lässt sich beispielsweise sehr gut in Cloud-Umgebungen von Microsoft oder Amazon integrieren.

Chef bietet Unternehmen für diese Bereitstellungsmöglichkeit auch Lizenzoptionen in der Cloud an. Wird Chef beispielsweise auf Microsoft Azure bereitgestellt, hat man die Wahl zwischen Chef Server BYOL (Bring Your Own License) und Chef Cloud-Instanzen, die bereits Lizenzen enthalten.

Chef-Clients werden über Bootstrap-Skripte durch das Installieren von Agents aufgesetzt. Chef unterstützt unterschiedliche Client-Plattformen, etwa Windows, Mac OS oder übliche Linux-Betriebssysteme, sogar manche Unix-Distributionen wie AIX und Solaris werden unterstützt. Die Client-Entscheidungen für Chef hängen dabei maßgeblich vom gewählten Deployment-Modell ab. Die volle Integration in Microsoft Azure beispielsweise ist auf Windows- und Linux-Plattformen begrenzt und schließt Betriebssysteme wie Unix oder Mac OS aus.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Juli 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Data-Center-Systems-Management

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close