Chef Installation · 9 min read · Nov 09, 2025

Wie man Chef Infra Server auf Debian 12 installiert

Chef ist eine leistungsstarke Automatisierungssoftware auf Debian Linux, die für die Verwaltung und Konfiguration von Serverumgebungen in großem Maßstab entwickelt wurde. Es erleichtert die Bereitstellung, Konfiguration und Verwaltung von Anwendungen und Infrastruktur durch die Verwendung von Code und fördert die Prinzipien der Infrastruktur als Code (IaC). Chef verwendet eine domänenspezifische Sprache (DSL), die in Ruby geschrieben ist, um “Rezepte” und “Kochbücher” zu definieren, die angeben, wie Server konfiguriert werden sollen. Dies ermöglicht Systemadministratoren und DevOps-Teams, sich wiederholende Aufgaben zu automatisieren, Konsistenz über Umgebungen hinweg sicherzustellen und die Infrastruktur problemlos zu skalieren. Chef unterstützt eine Vielzahl von Ressourcen und Integrationen und ist somit ein vielseitiges Werkzeug zur Verwaltung komplexer Umgebungen auf Debian, Ubuntu Linux und anderen Plattformen.

In diesem Tutorial zeigen wir Ihnen, wie Sie Chef Server und Chef Workstation auf Debian 12-Servern Schritt für Schritt installieren.

Voraussetzungen

Um diese Anleitung abzuschließen, stellen Sie sicher, dass Sie Folgendes haben:

  • 3 Debian 12-Server.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.

FQDN einrichten

In diesem ersten Schritt konfigurieren Sie den FQDN (Fully Qualified Domain Name) für den Chef-Server, die Chef-Workstation und den Client.

Führen Sie den folgenden hostnamectl-Befehl aus, um den fqdn für jeden Server einzurichten.

sudo hostnamectl set-hostname chef.howtoforge.local  
sudo hostnamectl set-hostname workstation.howtoforge.local  
sudo hostnamectl set-hostname client.howtoforge.local

Öffnen Sie die /etc/hosts-Datei auf jedem Server mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/hosts

Fügen Sie die folgende Konfiguration ein und stellen Sie sicher, dass Sie die detaillierte IP-Adresse, den Hostnamen und den fqdn mit Ihren Einstellungen ändern.

192.168.5.15     chef.howtoforge.local     chef  
192.168.5.20     workstation.howtoforge.local     workstation  
192.168.5.21     client.howtoforge.local     client

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Führen Sie nun den folgenden Befehl aus, um sicherzustellen, dass jeder fqdn auf die richtige IP-Adresse des Servers verweist.

sudo hostname -f  
ping -c3 chef.howtoforge.local

setup fqdn

Zeit zwischen Servern synchronisieren

Nachdem Sie den FQDN konfiguriert haben, stellen Sie sicher, dass jeder Server die Zeit synchronisiert hat. In diesem Fall richten Sie den NTP-Server auf dem Chef-Server ein und konfigurieren die Chef-Workstation und den Client, um sich damit zu verbinden.

Chrony auf dem Chef-Server einrichten

Führen Sie auf dem Chef-Server den folgenden Befehl aus, um das Repository-Paket-Index zu aktualisieren und das Chrony-Paket zu installieren.

sudo apt update  
sudo apt install chrony -y

install chrony

Nachdem Sie Chrony installiert haben, öffnen Sie die Datei /etc/chrony/chrony.conf mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/chrony/chrony.conf

Fügen Sie die folgende Konfiguration hinzu, um den Standard-NTP-Server festzulegen. Stellen Sie sicher, dass Sie den nächstgelegenen Standort Ihres Servers auswählen, überprüfen Sie ntp.org für Details.

Außerdem konfigurieren Sie Chrony innerhalb des Chef-Servers als NTP-Server für sowohl die Chef-Workstation als auch die Clients.

pool 0.nl.pool.ntp.org iburst  
pool 1.nl.pool.ntp.org iburst  
pool 2.nl.pool.ntp.org iburst  
pool 3.nl.pool.ntp.org iburst  
  
allow 192.168.5.0/24

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Führen Sie als Nächstes den folgenden Befehl aus, um die Standardzeitzone festzulegen und NTP zu aktivieren.

sudo timedatectl set-timezone Europe/Amsterdam  
sudo timedatectl set-ntp true

Starten Sie dann den Chrony-Dienst neu, um die Änderungen anzuwenden.

sudo systemctl restart chrony

Überprüfen Sie schließlich die NTP-Quelle mit dem folgenden Befehl.

chronyc sources

Sie sollten eine Ausgabe wie die folgende erhalten:

configure chrony

Auf Chef-Workstation und Client

Wechseln Sie nun zur Chef-Workstation und zur Client-Maschine. Führen Sie dann den folgenden Befehl aus, um das Repository zu aktualisieren und Chrony auf beiden Servern zu installieren.

sudo apt update  
sudo apt install chrony -y

Ändern Sie danach die Chrony-Konfiguration /etc/chrony/chrony.conf mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/chrony/chrony.conf

Kommentieren Sie die Standard-NTP-Quelle aus, um sie zu deaktivieren, und geben Sie dann die IP-Adresse des Chef-Servers als NTP-Server wie folgt ein.

# default chrony  
server 192.168.5.15 iburst

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Führen Sie als Nächstes den folgenden Befehl aus, um die Standardzeitzone festzulegen und NTP zu aktivieren.

sudo timedatectl set-timezone Europe/Amsterdam  
sudo timedatectl set-ntp true

Starten Sie dann den Chrony-Dienst neu, um Ihre Änderungen anzuwenden.

sudo systemctl restart chrony

Überprüfen Sie schließlich die NTP-Quellen sowohl auf der Chef-Workstation als auch auf dem Client mit dem folgenden Befehl.

chronyc sources

Sie sollten sehen, dass die Standard-NTP-Quelle sowohl für die Chef-Workstation als auch für den Client der Chef-Server ist, der die IP-Adresse 192.168.5.15 hat.

setup chrony chef workstation client

Chef Server installieren und konfigurieren

Nachdem Sie den FQDN konfiguriert und die Zeiten zwischen den Servern synchronisiert haben, sind Sie bereit, Chef zu installieren. Zuerst installieren und konfigurieren Sie den Chef-Server.

Der Chef-Server ist ein zentrales Chef-Ökosystem, das jedes Teil verbindet, daher müssen Sie ihn zuerst konfigurieren. In diesem Fall verwenden wir einen Chef-Server mit 8 GB RAM.

Chef Server über DEB installieren

Wechseln Sie zum Chef-Server und führen Sie den folgenden Befehl aus, um das Chef-Server-Paket herunterzuladen. In diesem Beispiel verwenden Sie Chef 15.

VERSION="15.7.0"  
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/22.04/chef-server-core_${VERSION}-1_amd64.deb

Installieren Sie nun den Chef-Server über die .deb-Datei mit dem folgenden Befehl. Die Installation dauert einige Minuten.

sudo apt install ./chef-server-core_*.deb

Sobald die Installation abgeschlossen ist, sollten Sie die Bestätigung ‘ Danke für die Installation von Chef Infra Server ‘ erhalten.

install chef server

Führen Sie als Nächstes den Befehl chef-server-ctl aus, um Ihre Chef-Server-Installation neu zu konfigurieren.

sudo chef-server-ctl reconfigure

Wenn Sie gefragt werden, geben Sie Y ein, um die Chef-Lizenz zu bestätigen.

reconmfigure chef server

Die Initialisierung des Chef-Servers beginnt. Sobald dies abgeschlossen ist, sollten Sie eine Bestätigung wie ‘ Chef Infra Server neu konfiguriert ‘ erhalten.

chef server reconfigure finished

Benutzer und Organisation konfigurieren

Nachdem Sie den Chef-Server neu konfiguriert haben, richten Sie Benutzer und Organisation in Ihrer Chef-Server-Installation ein.

Erstellen Sie ein neues Verzeichnis ~/.chef mit dem folgenden Befehl.

mkdir -p ~/.chef

Erstellen Sie dann einen neuen Chef-Benutzer mit dem folgenden Befehl. In diesem Beispiel erstellen wir einen neuen Benutzer alice mit dem Passwort password, und das TLS-Zertifikat wird unter ~/.chef/alice.pem gespeichert.

sudo chef-server-ctl user-create alice Alice Wonderland [email protected] 'password' --filename ~/.chef/alice.pem

Erstellen Sie nun eine neue Organisation mit dem folgenden Befehl. Stellen Sie sicher, dass Sie die Details des Organisationsnamens, des zugehörigen Benutzers und des Pfads des TLS-Zertifikats ändern.

sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pem

Sobald alles abgeschlossen ist, überprüfen Sie die Liste der Benutzer und Organisationen auf dem Chef-Server mit dem folgenden Befehl.

sudo chef-server-ctl user-list  
sudo chef-server-ctl org-list

Wenn alles gut geht, sollten Sie den Chef-Server mit dem Benutzer alice und der Organisation hworgz wie folgt sehen.

create user and orgz

Zusätzlich können Sie auch die generierten TLS-Zertifikate mit dem folgenden Befehl überprüfen. Sie sollten die Zertifikate alice.pem und hworgz-validator.pem sehen.

ls ~/.chef/

An diesem Punkt haben Sie die Installation des Chef-Servers abgeschlossen.

Chef Workstation installieren und konfigurieren

Nachdem Sie den Chef-Server installiert haben, installieren Sie die Chef-Workstation. Die Chef-Workstation ist ein Knoten, den Administratoren/Benutzer verwenden, um Kochbücher und Rezepte zu erstellen und zu testen.

In diesem Beispiel installieren Sie die Chef-Workstation auf einem Debian 12-Server mit 2 GB RAM.

Chef Workstation über DEB installieren

Wechseln Sie zur Chef-Workstation und führen Sie den folgenden Befehl aus, um das Chef-Workstation-Paket mit dem wget-Befehl herunterzuladen. In diesem Fall installieren Sie Chef Workstation 23.

VERSION="23.7.1042"  
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.deb

Sobald der Download abgeschlossen ist, führen Sie den folgenden Befehl aus, um das Chef-Workstation-Paket auf Ihrem System zu installieren.

sudo apt install ./chef-workstation_*.deb

Wenn Sie fertig sind, sollten Sie die Bestätigung ‘ Danke für die Installation von Chef Workstation ‘ erhalten.

install chef workstation

Führen Sie schließlich den folgenden Befehl aus, um die Chef-Version zu überprüfen.

chef -v

Die folgende Ausgabe bestätigt, dass Sie Chef 23 auf Ihrem Debian-Server installiert haben.

check chef version

Chef Workstation konfigurieren

Nachdem Sie die Chef-Workstation installiert haben, konfigurieren Sie Ihre Installation als Nächstes.

Zuerst generieren Sie einen neuen SSH-Schlüssel mit dem folgenden Befehl. Geben Sie bei Aufforderung ein, um eine Passphrase für den Schlüssel festzulegen.

ssh-keygen -t ed25519

generate ssh key

Führen Sie nun den folgenden Befehl aus, um den Schlüssel auf den Chef-Server chef.howtoforge.local hochzuladen. Dies wird verwendet, um TLS-Zertifikate vom Chef-Server zur Workstation abzurufen.

ssh-copy-id [email protected]

Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

upload key

Generieren Sie als Nächstes ein neues Chef-Repo mit dem folgenden Befehl. In diesem Beispiel erstellen Sie ein neues Chef-Repo test-repo.

chef generate repo test-repo

Erstellen Sie nun ein neues Verzeichnis ~/test-repo/.chef und wechseln Sie in dieses Verzeichnis.

mkdir ~/test-repo/.chef; cd ~/test-repo/.chef

Kopieren Sie die TLS-Zertifikate vom Chef-Server zur Workstation in das aktuelle Verzeichnis mit dem folgenden Befehl.

scp [email protected]:~/.chef/*.pem .

Sobald Sie fertig sind, überprüfen Sie die Liste der Dateien im ~/test-repo/.chef-Verzeichnis.

ls ~/test-repo/.chef/

Stellen Sie sicher, dass Ihre TLS-Zertifikate auf dem Chef-Workstation-Server verfügbar sind.

Knife Utility konfigurieren - Schnittstelle zum Chef-Server

Nachdem Sie die Chef-Workstation installiert haben, konfigurieren Sie Knife auf Ihrer Chef-Workstation. Ein Knife ist ein Befehlszeilenwerkzeug zur Kommunikation mit dem Chef-Server, mit dem Sie Knoten, Kochbücher, Rezepte, Rollen und Umgebungen verwalten können.

Wechseln Sie auf der Chef-Workstation-Maschine in das Verzeichnis ~/test-repo/.chef und erstellen Sie eine neue Datei knife.rb mit dem folgenden nano-Editor-Befehl.

cd ~/test-repo/.chef  
nano knife.rb

Fügen Sie das folgende Ruby-Skript ein und stellen Sie sicher, dass Sie die Details des Benutzers, der Organisationen, der TLS-Zertifikatdateien und der Chef-Server-URL ändern.

current_dir = File.dirname(__FILE__)  
log_level                :info  
log_location             STDOUT  
node_name                'alice'  
client_key               "alice.pem"  
validation_client_name   'hworgz-validator'  
validation_key           "hworgz-validator.pem"  
chef_server_url          'https://chef.howtoforge.local/organizations/hworgz'  
cache_type               'BasicFile'  
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )  
cookbook_path            ["#{current_dir}/../cookbooks"]

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Wechseln Sie nun in das Verzeichnis ~/test-repo und rufen Sie Zertifikate vom Chef-Server mit dem folgenden Knife-Befehl ab.

cd ~/test-repo  
knife ssl fetch

Sobald Sie fertig sind, sollten Sie die folgende Ausgabe erhalten.

setup knife

Von nun an können Sie das Knife verwenden, um mit dem Chef-Server zu kommunizieren und die Client-Maschine zu bootstrappen.

knife client list

Client/Node von der Chef-Workstation bootstrappen

Im folgenden Abschnitt lernen Sie, wie Sie Knife verwenden, um den Knoten 192.168.5.21 automatisch über SSH von der Chef-Workstation aus zu bootstrappen.

Wechseln Sie zuerst in das Verzeichnis ~/test-repo/.chef.

cd ~/test-repo/.chef

Führen Sie den Knife-Befehl aus, um den Client 192.168.5.21 zu bootstrappen. Stellen Sie sicher, dass Sie den Benutzer root und das Passwort password mit Ihren Informationen ändern.

In diesem Beispiel fügen Sie den Knoten 192.168.5.21 hinzu und benennen ihn als client.

knife bootstrap 192.168.5.21 -U root -P password --node-name client

Geben Sie Y ein, um fortzufahren und den Prozess zu starten.

bootstraping node

Sobald dies abgeschlossen ist, sollten Sie die Bestätigung ‘ Infra Phase abgeschlossen ‘ erhalten.

bootstrapping finished

Überprüfen Sie nun die Liste der verfügbaren Knoten in der Chef-Umgebung mit dem folgenden Befehl. Wenn alles gut geht, sollten Sie sehen, dass der Client-Knoten verfügbar ist.

knife node list

Überprüfen Sie dann die Details des Client-Knotens mit dem folgenden Knife-Befehl.

knife node show client

In der folgenden Ausgabe sehen Sie den Client-Knoten Debian 12-Maschine mit FQDN client.howtoforge.local.

knife check node

Zuletzt können Sie jetzt beliebige Befehle auf dem Client-Knoten über den folgenden Knife-Befehl ausführen.

knife ssh "client" "whoami;top" -u alice

Geben Sie das Passwort für den Chef-Benutzer alice ein, wenn Sie dazu aufgefordert werden. Wenn der Befehl erfolgreich ist, sollten Sie Folgendes erhalten.

running Linux command via chef to client

Fazit

Herzlichen Glückwunsch! Sie haben nun die Installation des Chef-Servers und der Workstation auf Debian 12-Servern abgeschlossen. Sie haben auch gelernt, das Knife-Befehlszeilenwerkzeug zu verwenden, um Client-Knoten über SSH zu bootstrappen. Jetzt können Sie neue Client-Knoten hinzufügen und Kochbücher und Rezepte für die Installation von Anwendungen einrichten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.