SaltStack auf zwei CentOS 7 Servern installieren
SaltStack, häufig einfach als Salt bezeichnet, ist eine quelloffene Plattform zur Verwaltung von Konfigurationen, Ausführung von Remote-Befehlen, Softwarebereitstellungen und mehr. Aufgrund der benutzerfreundlichen Oberfläche, der hohen Skalierbarkeit und leistungsstarken Funktionen eignet sich Salt ideal für das gleichzeitige Verwalten großer Serverlandschaften. Dank seiner Effizienz und einfachen Einrichtung wird es weltweit für die Automatisierung von IT-Infrastrukturen eingesetzt.
In dieser Anleitung erfahren Sie, wie Sie Salt auf zwei CentOS 7 Servern im Master-Agent-Modell installieren. In diesem Szenario fungiert ein Server als Master und der andere als Agent (Minion). Weitere Minions können später problemlos hinzugefügt werden.
Voraussetzungen
Stellen Sie sicher, dass folgende Bedingungen erfüllt sind:
- Zwei CentOS 7 Server sind im selben Rechenzentrum bereitgestellt.
- Beide Maschinen verfügen über eine konfigurierte private Netzwerkverbindung (siehe Artikel Configuring Private Network).
- Jede Maschine verwendet einen nicht-root Benutzer mit sudo-Rechten.
Zusammenfassung der Serverkonfiguration:
Salt Master Server
- Betriebssystem: CentOS 7
- Hostname: master
- Private IP: 10.99.0.10
Salt Agent Server 1
- Betriebssystem: CentOS 7
- Hostname: minion1
- Private IP: 10.99.0.11
Schritt 1: Aufgaben auf dem Salt Master Server
1.1 System aktualisieren
Melden Sie sich mit einem Benutzer mit sudo-Rechten auf dem Master-Server an und führen Sie eine Systemaktualisierung durch:
sudo yum update -y && sudo reboot
Nachdem das System neu gestartet wurde, melden Sie sich erneut mit demselben Benutzer an.
1.2 Installation und Einrichtung des salt-master Dienstes
Installieren Sie die aktuelle Version von salt-master
über das offizielle YUM-Repository:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm
sudo yum clean expire-cache
sudo yum install salt-master
Bearbeiten Sie anschließend die Konfigurationsdatei:
sudo vi /etc/salt/master
Suchen Sie die folgende Zeile:
#interface: 0.0.0.0
Ersetzen Sie sie durch:
interface: 10.99.0.10
Dann finden Sie diese Zeile:
#hash_type: md5
Und ersetzen sie durch:
hash_type: sha256
Speichern und schließen Sie den Editor:
:wq
Starten und aktivieren Sie nun den Salt Master Dienst:
sudo systemctl start salt-master.service
sudo systemctl enable salt-master.service
1.3 Firewall-Konfiguration anpassen
Der Salt Master kommuniziert über die TCP-Ports 4505 und 4506 mit den Minions. Diese Ports müssen in der Firewall geöffnet werden.
Ermitteln Sie zuerst, welcher Zone die Schnittstelle eth1
zugewiesen ist:
sudo firewall-cmd --get-active-zones
Sie sehen, dass eth1
zur Zone „public“ gehört. Aktivieren Sie den Verkehr für die benötigten Ports in dieser Zone:
sudo firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
sudo firewall-cmd --reload
Der Master-Server ist damit fertig konfiguriert. Der nächste Schritt ist die Einrichtung des Salt Minion Servers.
Schritt 2: Aufgaben auf dem Salt Minion Server
2.1 System aktualisieren
Melden Sie sich mit einem Benutzer mit sudo-Rechten am Minion Server an und führen Sie eine Systemaktualisierung durch:
sudo yum update -y && sudo reboot
Nach dem Neustart melden Sie sich erneut mit demselben Benutzer an.
2.2 salt-minion Dienst installieren und konfigurieren
Installieren Sie das salt-minion
Paket über das SaltStack Repository:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm
sudo yum clean expire-cache
sudo yum install salt-minion
Bearbeiten Sie danach die Konfigurationsdatei:
sudo vi /etc/salt/minion
Suchen Sie die folgende Zeile:
#master: salt
Und ersetzen Sie sie durch:
master: 10.99.0.10
Als Nächstes finden Sie diese Zeile:
#hash_type: sha256
Und ändern Sie sie zu:
hash_type: sha256
Speichern und schließen Sie den Editor:
:wq
Starten und aktivieren Sie den Minion-Dienst:
sudo systemctl start salt-minion.service
sudo systemctl enable salt-minion.service
Nach dem Start sucht der Minion automatisch nach dem Master-Server.
Wenn Sie weitere Minion-Server hinzufügen möchten, wiederholen Sie den gleichen Ablauf.
Schritt 3: Konfiguration vom Master-Server aus überprüfen
Wechseln Sie zurück in die SSH-Sitzung auf dem Master-Server und listen Sie alle gefundenen Minions auf:
sudo salt-key -L
Bei erfolgreicher Konfiguration erscheint:
Accepted Keys: Denied Keys: Unaccepted Keys: minion1 Rejected Keys:
Um den Minion zu autorisieren:
sudo salt-key --accept=minion1
Oder um alle wartenden Minions zu akzeptieren:
sudo salt-key -A
Testen Sie nun die Verbindung zum Minion.
Beispiel 1: Ping an den Minion senden
sudo salt minion1 test.ping
Die Ausgabe sollte so aussehen:
minion1: True
Beispiel 2: Befehl aus der Ferne ausführen
sudo salt minion1 cmd.run pwd
Die erwartete Ausgabe:
minion1: /root
Fazit
Mit dieser Anleitung haben Sie erfolgreich einen Salt Master und einen Minion Server unter CentOS 7 eingerichtet. Das Master-Agent-Modell ist nun aktiv, sodass Sie Remote-Befehle ausführen, Konfigurationen automatisieren und Ihre Infrastruktur bei Bedarf erweitern können. SaltStack ist eine leistungsstarke und skalierbare Lösung, um Verwaltungsaufgaben über mehrere Systeme hinweg effizient zu automatisieren.