Was ist SaltStack?

SaltStack wurde auf GitHub entwickelt – dem Online-Spielplatz für Developer. Im März 2011 wurde die Open-Source-Software der Öffentlichkeit zugänglich gemacht. „Salt“, wie das Tool für das Konfigurationsmanagement verkürzt genannt wird, dient der automatisierten Steuerung und Überwachung von Serversystemen. Mit SaltStack ist es möglich, von einem zentralen Rechner aus Software zu installieren, zu konfigurieren und Konfigurationsbefehle in beliebiger Anzahl auszuführen. Was das Besondere an Salt ist, wie es von Admins eingesetzt wird und welche Vorteile das Management-Tool für Sie hat, erfahren Sie hier.

Private Cloud powered by VMware

Mit der IONOS Private Cloud nutzen Sie alle Vorteile einer Cloud Umgebung in unseren ISO-zertifizierten Hochleistungsrechenzentren.

Sicher
Kosteneffizient
Flexibel

Was macht SaltStack so besonders?

SaltStack ist eine lizenzfreie Software von der Apache Software Fondation, die plattformübergreifend einsetzbar ist. Sie ermöglicht es, Fernwartungen durchzuführen, zuvor definierte Zielzustände herbeizuführen und Überprüfungen zu starten – und das sowohl im eigenen Rechenzentrum als auch in einer externen Cloud (unabhängig vom Anbieter). Der Hersteller nennt als Hauptvorzüge von SaltStack die einfache Installation, die schnelle Steuerung der Kommunikation in Millisekunden sowie die Möglichkeit, eine Vielzahl von Servern parallel verwalten zu können.

Im direkten Vergleich mit ähnlich arbeitenden Systemen wie Terraform oder Puppet punktet SaltStack mit vielseitigen Anwendungsmöglichkeiten und Schnelligkeit. Das Prinzip ist dennoch gleich: Der Administrator legt auf einem Server zentral die Konfiguration anderer Rechner fest. Die Software zum Konfigurationsmanagement setzt diese dann auf den einzelnen Clients um. SaltStack nutzt für die Kommunikation zwischen Server und Clients die Nachrichtenaustauschbibliothek ZeroMQ. Damit können sowohl kleine als auch große Datenmengen schnell verteilt werden. Gesichert wird die Kommunikation über die Verschlüsselung der Daten mit dem symmetrischen Verschlüsselungsverfahren AES. Das 2014 implementierte Feature Reliable Asynchronous Event Transport (RAET) sorgt für zusätzliche Sicherheit beim Transport der Daten.

Die eigentlichen Konfigurierungen laufen bei SaltStack über eine Textdatei im YAML-Format. Die einfache Auszeichnungssprache ermöglicht die Abbildung von strukturierten Daten in einer sequenziellen Darstellungsform. Mithilfe der Programmiersprache Python haben Sie die Möglichkeit, mit SaltStack viele Konfigurationsbefehle gleich ausführbereit zusammenzufassen.

Verwaltungsvielfalt mit SaltStack

Neben der Verwaltung von Systemen wie Linux lassen sich mit SaltStack auch MacOS- und Windows-Clients organisieren. Eine universelle Schnittstellte bietet SaltStack hierfür mit der Salt Cloud. So können Sie zahlreiche Systeme konfigurieren und steuern. Selbst private Clouds und virtuelle Serverumgebungen sind so automatisiert steuerbar.

Hinweis

In dem englischsprachigen DevOp-Tutorial lernen Sie alles, was Sie für die Nutzung von Terraform und SaltStack wissen müssen.

Vorteile für Administratoren

  1. Ganz gleich welches Zielsystem Administratoren bearbeiten möchten: Die Befehle in SaltStack bleiben immer die gleichen. Das macht die Bedienung einfach und leicht zu erlernen.
  2. Das Tool sorgt nicht nur für die automatisierte Verteilung von Konfigurationen, sondern kann auf Ereignisse reagieren, da es registriert, welche Art der Kommunikation in der Infrastruktur ausgetauscht wird.
  3. SaltStack ist komplett in Salt Open enthalten und in der Apache Lizenz 2.0 für jeden verfügbar. Darüber hinaus können Sie aktiv an der Gestaltung der Software mitwirken. Sollten Sie auf den Support des Herstellers Wert legen, steht Ihnen die Enterprise-Version zur Verfügung.

Die wichtigsten Begriffe erklärt

Wenn Sie SaltStack nutzen, werden Sie immer wieder auf bestimmte Begriffe stoßen, die im Zusammenhang mit dem Konfigurationsmanagement-Tool stehen. Nachfolgend haben wir die wichtigsten für Sie zusammengefasst.

Salt-Master

Der Salt-Master wurde in der Programmiersprache Python erstellt und ist der Server für den Messenger ZeroMQ, der wiederum die Daten zum Client bringt. Man spricht bei Servern und Clients auch von Master (dt. Meister) und Minions (dt. Lakaien). Daher wird der Server von SaltStack als Salt-Master bezeichnet. Über ihn findet die zentrale Regelung aller eingebundenen Zielsysteme statt. Befehle und Dateien werden über ihn übertragen.

Salt-Minion

Salt-Minions empfangen die Befehle des Salt-Masters. Zeitgleich informieren sie diesen über alle relevanten Ereignisse und Ergebnisse.

Salt-Syndic

Der Salt-Syndic ist ein zwischengeschalteter Salt-Master. Er agiert zwischen dem Salt-Master und den Salt-Minions.

Salt-SSH

Hin und wieder kann es vorkommen, dass ein Salt-Minion auf einem Zielsystem nicht lauffähig ist. Via SSH kann der Salt-Master direkt mit diesem System in Kontakt treten. Dabei fällt jedoch der Austausch mittels ZeroMQ weg, was den Prozess deutlich verlangsamen kann. Zudem können dadurch auch einige Funktionen und Module wegfallen.

Salt-Proxy-Minion

Mit dem Salt-Proxy-Minion ist es möglich, Drittgeräte anzusteuern. Darunter fallen zum Beispiel Netzwerkgeräte wie Router oder Switches.

Wie arbeitet SaltStack?

Vom Salt-Master aus werden die Salt-Minions mittels „Bussen“ wie ZeroMQ, SSH oder Proxy-Minion mit Befehlen versorgt. Die Salt-Minions melden sich mit einem individuellen Schlüssel zurück. Der Salt-Master muss diesen bei erster Kontaktaufnahme bestätigen, sodass der Befehl ausgeführt werden kann. Es findet also eine verschlüsselte Kommunikation mit Schlüsselpaaren statt.

Nehmen wir an, dass Sie eine Software konfigurieren möchten: Entsprechend geben Sie den Befehl an den Salt-Master, welcher ihn nun an alle Minions weitergibt. Die Software wird dann übergreifend auf allen Geräten der Infrastruktur automatisch konfiguriert. Der Master kann dabei optional als Salt-Syndic dupliziert werden.