SaltStack

Was ist SaltStack?

SaltStack ist eine Python-basierte Open-Source Konfigurations-Verwaltungssoftware – kurz: Konfigurationsmanagement – und ein Remote-Ausf├╝hrungsmodul. Es unterst├╝tzt den Ansatz “Infrastruktur als Code” f├╝r die Bereitstellung und das Cloud-Management und konkurriert haupts├Ąchlich mit Ansible, Chef und Puppet.

Konfigurationsmanagement

Konfigurationsmanagement ist ein System-Engineering-Prozess, mit dem die Leistung, die funktionalen und physischen Eigenschaften eines Produkts mit seinen Anforderungen, dem Design und den Betriebsinformationen w├Ąhrend seiner gesamten Lebensdauer konsistent sind. Der Prozess wird h├Ąufig von Organisationen verwendet, um ├änderungen w├Ąhrend des Systemlebenszyklus von komplexen Systemen, wie Informationssystemen, zu verwalten. Der Prozess wird auch mit IT-Service-Management im Sinne von ITIL und mit anderen Dom├Ąnenmodellen verwendet.

Entwicklung

Saltstack entstand aus der Notwendigkeit der Hochgeschwindigkeits-Datenerfassung und -ausf├╝hrung in Systemverwaltungsumgebungen. Der Autor von Salt, Thoms S. Hatch, hatte zuvor eine Reihe von In-House-L├Âsungen f├╝r Unternehmen entwickelt, um das Problem zu l├Âsen, fand jedoch seine und andere Open-Source-L├Âsungen als mangelhaft. Hatch entschied sich f├╝r die ZeroMQ-Messaging-Bibliothek, um die Hochgeschwindigkeitsanforderungen zu erf├╝llen und baute die Software mit ZeroMQ f├╝r alle Netzwerkebenen.

Im Juli 2014 (Version Helium) wurde zuverl├Ąssige Warteschlangen-Transportsystem RAET (Reliable Asynchronous Event Transport Protocol) hinzugef├╝gt. Es wurde in Zusammenarbeit mit einer Reihe gro├čer Unternehmen entwickelt, um eine Alternative zu ZeroMQ zu bieten und eine M├Âglichkeit zu schaffen, Saltstack dazu zu bringen, weit ├╝ber Zehntausende von Servern zu skalieren.

Ende Mai 2011 wurden erste Fortschritte bei der Entwicklung eines zentralen Konfigurationsmanagers erzielt. Dieses Konfigurations-Verwaltungssystem basiert auf dem Speichern aller Konfigurations- oder “Zustands-“Daten in einer leicht verst├Ąndlichen Datenstruktur. Die experimentelle Funktion war noch im selben Monat verf├╝gbar, wurde jedoch bis zur Ver├Âffentlichung der Version 0.9.3 im November 2011 nicht als stabil angesehen.

Design

Saltstack wurde so konzipiert, dass es hochmodular und leicht erweiterbar ist, um die Anpassung an verschiedene Anwendungen zu erleichtern. Das Moduldesign erstellt Python-Module, die bestimmte Aspekte der verf├╝gbaren Saltstacksysteme behandeln. Diese Module erm├Âglichen, dass die Interaktionen innerhalb von Saltstack getrennt und an die Anforderungen eines Entwicklers oder Systemadministrators angepasst werden.

Modultypen

Das System verwaltet viele Modultypen, um bestimmte Aktionen zu verwalten. Module k├Ânnen zu jedem System hinzugef├╝gt werden, das dynamische Module unterst├╝tzt. Diese Module verwalten das gesamte Remote-Ausf├╝hrungs- und Statusverwaltungsverhalten. Die Module k├Ânnen in sechs Gruppen unterteilt werden:

Ausf├╝hrungsmodule

Ausf├╝hrungsmodule sind der Arbeiter f├╝r die Funktionalit├Ąt von Saltstack. Sie stellen die Funktionen dar, die f├╝r die direkte Ausf├╝hrung von der Remote-Ausf├╝hrungsmaschine verf├╝gbar sind. Diese Module enthalten die spezifischen plattform├╝bergreifenden Informationen, die von Saltstack zur Verwaltung der Portabilit├Ąt verwendet werden und bilden den Kern von Funktionen auf Systemebene, die von den Saltstack-Systemen verwendet werden.

Zustandsmodule

Zustandsmodule sind Komponenten, die das Backend für das Konfigurations-Verwaltungssystem bilden. Diese Module führen den Code aus, der zum Erzwingen, Einrichten oder Ändern der Konfiguration eines Zielsystems erforderlich ist. Wie andere Module wird mehr Status verfügbar, wenn sie den Statusmodulen hinzugefügt werden.

Grains

Grains ist ein System zum Erkennen statischer Informationen ├╝ber ein System und zum Speichern in RAM zum schnellen Sammeln.

Renderer-Module

Renderer-Module werden verwendet, um die an das Saltstack-Verwaltungssystem ├╝bergebenen Informationen zu rendern. Das Renderer-System erm├Âglicht es, die Konfigurations-Verwaltungsdaten in jedem serialisierbaren Format darzustellen.

Returners

Die von Saltstack ausgef├╝hrten Fernausf├╝hrungsaufrufe werden vom aufrufenden System getrennt. Dies erm├Âglicht, dass die von der Fernausf├╝hrung generierten R├╝ckgabeinformationen an einen beliebigen Ort zur├╝ckgegeben werden. Die Verwaltung von beliebigen R├╝ckgabeorten wird von den Returner-Modulen verwaltet.

Runners

Runners sind sog. Master-Konfortanwendungen, die vom Run-Befehl ausgef├╝hrt werden.

Fazit

Die Software begann mit einem Tool f├╝r die Remote-Serververwaltung. Mit zunehmender Nutzung hat es eine Reihe erweiterter Funktionen erhalten, darunter einen umfassenderen Mechanismus f├╝r die Hostkonfiguration. Dies ist eine relativ neue Funktion, die durch die Komponente Saltstack-States erleichtert wird. Mit der Traktion, die im letzten Moment erreicht wurde, k├Ânnte die Unterst├╝tzung f├╝r weitere Funktionen und Plattformen weiter zunehmen.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte