kentoh - Fotolia

Tutorial: So installieren Sie Nginx mit Chef

Das Konfigurationswerkzeug Chef bietet vielfältige Möglichkeiten. In unserem Tutorial zeigen wir Ihnen, wie Sie den Webserver Nginx mit Chef installieren können.

Opscode Chef ist ein Konfigurations- und Softwareverteilungswerkzeug ähnlich wie Ansible und Puppet. Chef speichert die Anweisungen, wie Software installiert wird, an einem zentralen Ort und verteilt die Software anschließend auf die Server Ihrer Infrastruktur. Diese Methode zur Modellierung und Automation von Umgebung ist bekannt als Infrastructure as Code.

Chef erfordert einen gewissen Lernaufwand und deswegen sollten Sie zunächst mit einem kleinen Projekt beginnen und erst einmal Sachen ausprobieren. In unserem Opscode Chef Tutorial geben wir Ihnen dazu Hilfestellung.

Die Bestandteile von Opscode Chef

Opscode Chef besteht aus drei Basiskomponenten, erstens das Chef Development Kit, zweitens der Chef Server und drittens der Chef Client.

Das Chef Development Kit benötigen Sie zur Installation der Workstation. Es besteht aus Konfigurationsdateien und Befehlen, die meistens für Ruby und JavaScript Object Notation geschrieben sind.

Die gesammelten Befehle, Cookbooks genannt, werden auf den Chef Server hochgeladen, um anschließend von den Chef Clients bezogen zu werden. Ein Cookbook enthält Rezepte zur Installation und Konfiguration. Chef wird normalerweise zusammen mit Github, dem populärsten Versionskontrollwerkzeug, eingesetzt, weil Chef ein Konfigurations-Management-Werkzeug mit Versionskontrolle ist.

Der Chef Client dient zur Wartung eines Netzwerks an Maschinen. Jede Machine wird Node (Knoten) genannt. Auf diesen Nodes läuft die Chef-Client-Software. Run Lists kontrollieren, welche Cookbooks auf welchen Nodes laufen.

Wenn Sie sich mit Docker auskennen, wissen Sie, dass es vorgefertigte Dockerfiles für die meistverwendeten Anwendungen gibt. Ähnlich ist es auch bei Chef.

Bereiten Sie Chef VMs vor

In diesem Tutorial zeigen wir Ihnen eine Routineaufgabe, die Installation eines Nginx-Webservers. Dafür benötigen Sie drei virtuelle Maschinen (VMs), den Chef Server, die Chef Workstation und eine Chef Node oder Client. Es ist eine lange Liste an Befehlen, aber Sie können diese nachverfolgen und so modifizieren, dass Sie auf Ihren Maschinen und Betriebssystemen laufen.

Bei Ubuntu gilt es zu beachten, dass Sie den Bootstrap Step mit der Root User ID dort nicht verwenden und sich nicht als Root User anmelden können. Melden Sie sich stattdessen als User mit Sudo-Privilegien an.

Wir versuchten dies mit drei Ubuntu Servers mit jeweils vier GB Speicher, aber nach einigen Stunden Untätigkeit meldeten die Server mangelnden Speicherplatz. Mindestens acht GB Speicher werden benötigt.

Installieren Sie Nginx mit Chef

Wir werden Opscode Chef verwenden, um den Nginx-Webserver aus dem Nginx Public Repository herunterzuladen und zu installieren. Die im Repository enthaltene README.md Datei enthält Informationen über Abhängigkeiten und informiert darüber, welche validen Argumente wir ins Cookbook packen können.

Bevor Sie mit der eigentlichen Arbeit mit Chef beginnen, müssen Sie bei Github folgendes eintragen:

cd chef-repot
git add .
git commit -m "some comment"

Wenn die Installation erfolgreich war, können Sie sich auf dem Workstation Server einloggen, auf dem sich das Chef Development Kit befindet. Danach führen Sie die Befehle aus, um die Server aufzulisten, auf denen Sie die Chef Clients installiert haben:

knife list nodes  

In unserem Beispiel ist der Name für die Client Node einfach „Node“.

Laut dem Nginx Cookbook müssen wir zunächst gewisse Abhängigkeiten installieren und diese auf den Chef Server hochladen. Unser Befehlssatz führt nicht alle auf. Abhängig von Ihrer Linux-Distribution und -Version sind vielleicht mehrere weitere erforderlich.

Chef wird angeben, welche Cookbooks sie zur Installation von Nginx benötigen. Finden und beheben Sie etwaige Irrtümer bei der Installation, bevor Sie die unten angegebenen Befehle ausführen.

Das Listing unten zeigt, dass dieses Cookbook den Nginx-Source-Code herunterladen und kompilieren wird. Wenn Sie sich fragen, warum man dies nicht einfach mit apt-get install erledigt: Die nachfolgende Methode ermöglicht Ihnen, Argumente ins Cookbook zu übertragen und die Software mit Chef zu konfigurieren und nicht nur zu installieren.

knife cookbook site install build-essential
knife cookbook site install ohai
knife cookbook site install compat_resource
knife cookbook site install yum-epel
knife cookbook site install zypper
knife cookbook site install seven_zip
knife cookbook upload seven_zip
knife cookbook site install windows
knife cookbook upload windows
knife cookbook upload ohai
knife cookbook upload windows
knife cookbook upload seven_zip
knife cookbook upload compat_resource
knife cookbook upload yum-epel
knife cookbook upload zypper

knife cookbook install mingw
knife cookbook upload mingw
knife cookbook upload nginx
knife cookbook upload build-essential
knife cookbook upload nginx
knife cookbook site install nginx

Anschließend sagen Sie Chef, auf welchen Nodes dies verteilt werden soll und welche Parameter gesetzt werden sollen. Wir schreiben „Default“ und benutzen damit die Standardoptionen von Nginx. Die Parameter differieren, je nachdem, wie das Cookbook aufgebaut ist.

Unser Node heißt „Node“ und so können Sie das Nginx Cookbook zur Node Run_list hinzufügen:

knife node run_list add node 'recipe[nginx::default]'

Chef wird ein Echo geben:

node:

 run_list: recipe[nginx::default]

Wenden Sie Secure Shell auf diesen Node an:

sudo chef-client

Wenn keine Fehler auftreten, können Sie so Nginx-Webserver auf dem Server mit http://Node ausführen.

Dieses Tutorial ist nur eine kleine Einführung. Chef kann viel mehr und ermöglicht Infrastrukturtests und Wartung. Auf der offiziellen Chef-Website gibt es dazu weitere Anweisungen.

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

Artikel wurde zuletzt im Dezember 2017 aktualisiert

Pro+

Premium-Inhalte

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

Erfahren Sie mehr über Virtuelle Maschinen: Bereitstellung und Konfiguration

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