IT Automation · 8 min read · Oct 26, 2025
Erste Schritte mit dem Salt IT-Automatisierungsframework auf AlmaLinux 9

Salt oder Saltstack ist ein Open-Source-IT-Automatisierungsframework, das es Administratoren ermöglicht, Befehle remote auf mehreren Maschinen direkt auszuführen. Salt ist hauptsächlich in Python geschrieben und verwendet eine Master- und Minion-Architektur. Der SaltStack-Master ist der zentrale Controller des Salt-Konfigurationsmanagements, und Minions sind Server, die vom SaltStack-Master verwaltet werden, oder Sie nennen Minions Zielserver.
Der SaltStack-Master läuft standardmäßig auf Linux-Betriebssystemen, aber Minions können auf jedem Betriebssystem verwendet werden. Saltstack ist ein revolutionäres Konfigurationsmanagement für die Automatisierung von Bereitstellungen, die Ausführung von Remote-Aufgaben und Infrastruktur als Code. SaltStack kann auch verwendet werden, um mehrere Infrastrukturserver bereitzustellen, einschließlich physischer und virtueller Server sowie in der Cloud.
Dieses Tutorial zeigt Ihnen, wie Sie Salt auf AlmaLinux 9-Servern installieren. Sie werden auch die grundlegende Verwendung von Salt-Modulen lernen und das erste Salt-Statusprojekt erstellen. In diesem Fall werden Sie ein Salt-Statusprojekt zur Installation des LEMP-Stacks erstellen.
Voraussetzungen
Um mit diesem Leitfaden zu beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- 3 AlmaLinux 9-Server.
- Einen Nicht-Root-Benutzer mit sudo-Administratorrechten.
- Ein SELinux mit dem Status Erlaubt oder Deaktiviert.
Firewalld auf Salt Master einrichten
Bevor Sie Salt installieren, müssen Sie die Ports 4505 und 4506 auf dem Salt-Master-Server öffnen, die von den Salt-Minions verwendet werden, um sich mit dem Salt-Master zu verbinden. Um dies zu erreichen, verwenden Sie Firewalld.
Führen Sie den folgenden Befehl aus, um die Ports 4505 und 4506 für den Salt-Master-Server zu öffnen.
sudo firewall-cmd --zone=public --permanent --add-port={4505,4506}/tcpLaden Sie nun die Firewalld neu, um die Änderungen anzuwenden, und überprüfen Sie dann die Liste der offenen Ports auf Firewalld mit dem folgenden Befehl.
sudo firewall-cmd --reload
sudo firewall-cmd --list-allNach dem Ausführen des Befehls sind die Ports 4505 und 4506 zu Firewalld hinzugefügt.

Salt-Repository hinzufügen
Salt-Pakete sind im offiziellen Salt-Repository verfügbar. Jetzt werden Sie das Salt-Repository zu allen Ihren AlmaLinux-Servern hinzufügen, sowohl Salt Master als auch Minions.
Führen Sie den folgenden Befehl aus, um den Salt GPG-Schlüssel zu importieren.
sudo rpm --import https://repo.saltproject.io/salt/py3/redhat/9/x86_64/SALT-PROJECT-GPG-PUBKEY-2023.pubLaden Sie nun das Salt-Repository mit dem folgenden Befehl auf Ihre Systeme herunter.
curl -fsSL https://repo.saltproject.io/salt/py3/redhat/9/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
Sobald der Salt GPG-Schlüssel und das Repository hinzugefügt wurden, führen Sie den dnf-Befehl unten aus, um die Liste der verfügbaren Repositories auf Ihren Systemen zu überprüfen und Metadaten für alle verfügbaren Repositories herunterzuladen.
sudo dnf repolist
sudo dnf makecacheAngenommen, der Befehl war erfolgreich, sollte die Ausgabe ähnlich wie folgt aussehen:

Salt Master installieren und konfigurieren
Nachdem Sie das Salt-Repository hinzugefügt haben, installieren und konfigurieren Sie das Paket salt-master auf dem Haupt-Salt-Master-Server.
Installieren Sie das salt-master-Paket mit dem dnf-Befehl unten. Geben Sie y ein, wenn Sie zur Fortsetzung der Installation aufgefordert werden.
sudo dnf install salt-master
Sobald die Installation abgeschlossen ist, öffnen Sie die Standard-Salt-Konfiguration /etc/salt/master mit dem folgenden Befehl des Nano-Editors.
sudo nano /etc/salt/masterÄndern Sie die Standard-Interface-Option mit Ihrer lokalen IP-Adresse und die ID-Option mit Ihrem Server-Hostnamen. In diesem Fall ist der Salt-Master-Server mit der lokalen IP-Adresse 192.168.5.50 und dem Hostnamen master konfiguriert.
interface: 192.168.5.50
id: masterWenn Sie fertig sind, speichern Sie die Datei und schließen Sie sie.
Führen Sie als Nächstes den folgenden systemctl-Befehl aus, um den salt-master-Dienst zu starten und zu aktivieren.
sudo systemctl start salt-master
sudo systemctl enable salt-masterÜberprüfen Sie schließlich den salt-master-Dienst, um sicherzustellen, dass der Dienst läuft, indem Sie den folgenden Befehl ausführen.
sudo systemctl status salt-masterBei erfolgreicher Ausführung sollte die angezeigte Ausgabe active (running) sein, was darauf hinweist, dass der salt-master-Dienst läuft.

Salt Minion installieren und konfigurieren
Nachdem Sie den Salt Master konfiguriert haben, besteht der nächste Schritt darin, salt-minion zu installieren und die Minion-Server zu konfigurieren, um sich mit dem Salt Master zu verbinden.
Führen Sie den dnf-Befehl unten aus, um das salt-minion-Paket auf Ihren Minion-Servern zu installieren. Geben Sie y ein, um die Installation zu bestätigen.
sudo dnf install salt-minion
Nach der Installation öffnen Sie die Standard-Salt-Konfiguration /etc/salt/minion mit dem folgenden Befehl des Nano-Editors.
sudo nano /etc/salt/minionGeben Sie innerhalb der Master-Option die IP-Adresse des Salt Masters ein.
master: 192.168.5.50Geben Sie die lokale IP-Adresse des Minions in der Interface-Option ein und geben Sie den Server-Hostnamen in der ID-Option ein.
interface: 192.168.5.20
id: minion1Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.
Führen Sie als Nächstes den folgenden systemctl-Befehl aus, um den salt-minion-Dienst zu starten und zu aktivieren.
sudo systemctl start salt-minion
sudo systemctl enable salt-minionSobald der salt-minion-Dienst gestartet ist, überprüfen Sie ihn mit dem folgenden Befehl.
sudo systemctl status salt-minionWenn alles gut geht, wird die Ausgabe active (running) sein, was bestätigt, dass der salt-minion-Dienst läuft.

Salt Minions beim Salt Master registrieren
An diesem Punkt läuft der salt-minion-Dienst. Daraufhin senden die Salt Minions eine Anfrage, um sich beim Salt Master zu registrieren. Um die Registrierung des Salt Minions zu beantragen, müssen Sie den Fingerabdruckschlüssel auf dem Salt Master akzeptieren.
Wechseln Sie zum Salt Master und führen Sie den salt-key-Befehl unten aus, um die Liste der Fingerabdruckschlüssel zu erhalten.
salt-key --finger-allHier sind die Fingerabdrücke der Salt Minion-Server minion1 und minion2, die sich noch im Status ‘ Unaccepted Keys ‘ befinden.

Führen Sie den folgenden Befehl aus, um den Salt Minion-Schlüssel für die Server minion1 und minion2 zu akzeptieren.
salt-key -a minion1
salt-key -a minion2Geben Sie Y ein, wenn Sie zur Annahme des Schlüssels aufgefordert werden, und Sie sollten eine Ausgabe wie ‘ Key for minion minion1/2 accepted ‘ erhalten.

Überprüfen Sie nun die Liste der Fingerabdruckschlüssel auf dem Salt Master erneut mit dem folgenden Befehl.
salt-key --finger-allHier ist der Fingerabdruck des Salt Minions für die Server minion1 und minion2 im Abschnitt Accepted Keys verfügbar.
Sie können jetzt die Salt Minion-Server vom Salt Master aus über die Salt-Befehlszeile steuern.
Führen Sie den folgenden Salt-Befehl aus, um die Verbindung zwischen Salt Master und Minions zu überprüfen und die Salt-Version auf den Minion-Servern zu überprüfen.
salt '*' test.ping
salt '*' test.versionWenn die Verbindung zwischen Salt Master und Minion erfolgreich ist, wird die Ausgabe True angezeigt. Außerdem können Sie sehen, dass Salt 3006.4 installiert ist, was das Ergebnis des test.version-Parameters ist.

Zusätzlich können Sie den Zielminion mit dem Salt-Befehl wie folgt angeben.
salt minion1 test.pingGrundlegende Verwendung des Salt State Moduls
Im folgenden Abschnitt lernen Sie, wie Sie das Salt State-Modul zur Verwaltung von Minion-Servern verwenden. Sie werden einige Salt State-Module erkunden, wie cmd zum Ausführen beliebiger Linux-Befehle, pkg zur Verwaltung von Paketen und Repositories sowie das Service-Modul zur Verwaltung von Diensten.
Ausführen beliebiger Befehle über das cmd-Modul
Führen Sie den folgenden Befehl aus, um spezifische Linux-Befehle über das cmd-Statusmodul auszuführen. In diesem Beispiel überprüfen Sie die Details des Linux-Kernels über den Befehl uname -a.
salt '*' cmd.run 'uname -a'Verwalten von Paketen und Repositories über das pkg-Modul
Verwenden Sie nun das folgende pkg-Statusmodul, um Pakete und Repositories auf Ihren Minion-Servern zu verwalten.
Überprüfen Sie die Liste der Repositories über pkg.list_repos und aktualisieren Sie dann die Repositories über pkg.refresh_db.
salt '*' pkg.list_repos
salt '*' pkg.refresh_dbSie können auch die Liste der verfügbaren Paketaktualisierungen mit dem Argument pkg.list_upgrades unten überprüfen.
salt '*' pkg.list_upgradesUm ein bestimmtes Paket zu installieren, verwenden Sie das folgende pkg.install.
salt '*' pkg.install vim
Verwalten von Diensten über das Service-Modul
Als Nächstes können Sie das Service-Statusmodul verwenden, um Dienste auf Ihren Minion-Servern zu verwalten.
Verwenden Sie das Argument service.available, um sicherzustellen, dass der Dienst auf dem Zielserver verfügbar ist. Oder verwenden Sie das Argument service.enabled, um sicherzustellen, dass der Zielservice aktiviert ist, oder Sie können auch das service.get_running verwenden, um sicherzustellen, dass der Dienst läuft.
salt '*' service.available chronyd
salt '*' service.enabled chronyd
salt '*' service.get_running
Zuletzt können Sie auch den Startbefehl überprüfen, der von einem bestimmten Dienst ausgeführt wird, indem Sie das Argument service.execs verwenden.
salt '*' service.execsErstellen des ersten Salt-Status
In diesem Abschnitt erstellen Sie das erste Salt-Statusprojekt zur Installation des LEMP-Stacks (Nginx, MariaDB und PHP-FPM) auf den Ziel-Minions-Servern.
Bevor Sie fortfahren, führen Sie den folgenden Befehl aus, um das Repository-Modul zu aktivieren, das für die Installation spezifischer Versionspakete verwendet wird.
salt '*' cmd.run 'sudo dnf module enable nginx:1.22 -y'
salt '*' cmd.run 'sudo dnf module enable php:8.1 -y'
Erstellen Sie nun ein neues Konfigurationsverzeichnis /srv/salt/, das zur Speicherung Ihres Salt-Status verwendet wird.
mkdir -p /srv/salt/Führen Sie den folgenden Befehl aus, um ein neues Projektverzeichnis /srv/salt/lemp und die Datei init.sls zu erstellen.
mkdir -p /srv/salt/lemp
nano /srv/salt/lemp/init.slsFügen Sie die folgende Konfiguration in die Datei ein. In diesem Fall installieren Sie die LEMP-Stack-Pakete auf Minion-Servern über das pkg-Statusmodul und stellen sicher, dass jeder Dienst läuft und aktiviert ist, indem Sie das service-Statusmodul verwenden.
lemp_stack:
pkg.installed:
- pkgs:
- nginx
- mariadb-server
- php
- php-fpm
ginx:
service.running:
- enable: True
- reload: True
mariadb:
service.running:
- enable: True
- reload: True
php-fpm:
service.running:
- enable: True
- reload: TrueSpeichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
Führen Sie als Nächstes den folgenden Befehl aus, um die Details der Statuskonfiguration für das lemp-Projekt anzuzeigen.
sudo salt * state.show_sls lempNachdem der Befehl ausgeführt wurde, sollten Sie die detaillierte Konfiguration wie folgt erhalten.

Führen Sie nun den folgenden Befehl aus, um den lemp-Status auf Minion-Servern anzuwenden.
sudo salt '*' state.apply lempSie sollten den generierten Bericht über die automatische Installation sehen. Die Installation der LEMP-Stack-Pakete auf beiden Minion-Servern war in diesem Fall erfolgreich.

Unten sind die Details, wenn die Dienste laufen und aktiviert sind.

Fazit
Zusammenfassend haben Sie nun Salt auf AlmaLinux 9-Servern Schritt für Schritt installiert. Sie haben sowohl den Salt Master als auch die Minions auf AlmaLinux-Servern installiert und konfiguriert und auch die grundlegende Verwendung von Salt-Statusmodulen gelernt sowie Ihr erstes Salt-Statusprojekt zur Installation des LEMP-Stacks erstellt.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.