Grundlagen zum Konfigurationsmanagement-Tool Salt
Sie sind sich nicht sicher, wie Salt Anweisungen an Systeme übermittelt? Sie fragen sich, ob Ihre Programmierkenntnisse für das Tool genügen? Wir haben einige Tipps zu Salt.
Salt, ein Konfigurationsmanagement-Tool, soll manuelle und mühsame Aufgaben für IT-Ops-Teams reduzieren. Wie andere Tools auf dem Markt, kommt es mit einer Reihe von Funktionen und Einschränkungen, die Administratoren vor der Inbetriebnahme prüfen sollten.
Befolgen Sie die folgenden Tipps, um die Funktionen des Salt-Konfigurationsmanagements bewerten, zwei Versionen des Tools vergleichen und die Grundlagen der Installation und Skalierung beherrschen zu können.
Die wichtigsten Vor- und Nachteile von Salt
Wie bei jedem IT-Tool müssen die Betriebsteams vor der Implementierung die Vor- und Nachteile von Salt sorgfältig abwägen.
Salt ist in Python geschrieben. Es arbeitet nach dem sogenannten Master-Minion-Modell. Ein Management-Server hostet den Salt-Master, der Anweisungen wie zum Beispiel ein System-Update an Minions weiterleitet. Die Minions arbeiten auf den verwalteten Maschinen. Ein weiteres wichtiges Merkmal des Konfigurationsmanagement-Tools ist die parallele Ausführung von Remote-Shell-Operationen. Dies ermöglicht es Salt, mehrere Befehle gleichzeitig an mehrere Maschinen auszugeben.
Es gibt jedoch einige Einschränkungen bei Salt. Während Administratoren beispielsweise mit dem Befehl salt-minion -l debug über einen Minion debuggen können, bietet das Tool selbst keine umfangreichen Informationen über Bugs.
Um Salt zum Laufen zu bringen, muss ein IT-Team es installieren und dann Minion-Konfigurationsdaten auf dem Master einrichten, die als Säulen (Pillars) bekannt sind; eine Liste von Systemeigenschaften auf dem Minion, bekannt als Grains; und Überwachung.
Die Kommandosprache: Sprechen Sie Salt?
Diejenigen, denen Salt neu ist und die sich mit dessen Befehlszeilenschnittstelle (CLI) noch nicht auskennen, sollten die Befehle und die Struktur des Tools anhand von Beispielübungen erkunden. Dies hilft Ihnen als Admin, ein Gefühl für Salt im täglichen Gebrauch zu bekommen. Dann können Sie schon einige der wesentlichen Aufgaben mit dem Tool erledigen.
Das Salt-Setup arbeitet mit Statusdateien (State Files). Diese enthalten Informationen zu Konfigurationen von Systemen. Die oberste Statusdatei steuert das Mapping für Gruppen von Maschinen, die Rollen in einem Anwendungs-Stack übernehmen.
Obwohl die Top-Datei wertvoll ist, kann es sein, dass ein Administrator ad hoc mit Salt arbeiten möchte, zum Beispiel um das Setup zu überprüfen oder Software zu installieren. Um beispielsweise die Speicherverfügbarkeit zu messen, kann der Administrator df -h über die CLI eingeben, und Salt gibt den belegten und verfügbaren Festplattenspeicher sowie den Speicherort aus. Kombinieren Sie diesen Befehl mit weiteren Zielparametern, zum Beispiel Hostname, um bestimmte Kennzahlen zu überprüfen.
Kristin Knapp
Es hilft, sich mit dem YAML-Dateiformat auszukennen. Erfahrene Administratoren können die Template Syntax von Jinja Python auf Dateien anwenden.
SaltStack Enterprise mit Salt Open vergleichen
Administratoren können die Funktionen des Salt-Konfigurationsmanagements mit denen gleichartigen Tools wie Ansible, Chef oder Puppet vergleichen. Aber sie müssen auch die Unterschiede zwischen der Open-Source-Version von Salt (SaltOpen) und der kommerziellen Version von Salt (SaltStack Enterprise) berücksichtigen.
Wie der Name schon sagt, ist Salt Open die kostenlose Open-Source-Version des Tools. SaltStack Enterprise basiert auf Salt Open und unterstützt die Administratoren mit zusätzlichen Funktionen, wie beispielsweise Compliance-Tools und LDAP (Lightweight Directory Access Protocol) zur Authentifizierung. SaltStack Enterprise ist kostenpflichtig.
Ein weiterer wichtiger Unterschied zwischen den beiden Versionen von Salt ist die Art und Weise, wie die IT-Teams mit den Systemen kommunizieren und diese verwalten: Salt Open verwendet eine CLI, während SaltStack Enterprise auch eine GUI enthält. Das GUI bietet Berichte und anpassbare Dashboards, mit denen Administratoren Echtzeit-Änderungen und Updates der Infrastruktur verfolgen können. Es bietet auch Informationen über die Historie von Jobs, Minion-Versionen und OS-Versionen.
Salt skalieren
Das Konfigurationsmanagement-Tool Salt muss auch mit der Skalierung einer IT-Landschaft Schritt halten. Das Tool verfügt dazu über mehrere Fähigkeiten und Funktionen zur Skalierung.
Dazu gehört unter anderem die mehrstufige Management- und Kommunikationsstruktur von Salt. Nachdem die Administratoren Salt-Minions beim Master-Server registriert haben, können sie direkt Anfragen an diese Minions senden. In einigen Fällen kann jedoch eine Maschine – wie zum Beispiel ein Netzwerkgerät mit einem proprietären Betriebssystem – einen Standard-Minion nicht unterstützen. Um dies zu umgehen, kann der Master stattdessen mit einem Proxy-Minion kommunizieren, der die Nachricht an das Gerät weiterleitet. Dieses mehrstufige Modell gewährleistet eine zeitnahe und effiziente Kommunikation zwischen dem Master und den von ihm verwalteten Maschinen.
Fortgeschrittene Salt-Tipps
Sobald Administratoren die Grundlagen des Salt Konfigurationsmanagements beherrschen – einschließlich des Master-Minion-Modells, wesentlicher Befehle und der Kernunterschiede zwischen Open-Source- und proprietären Versionen – gilt es, fortgeschrittenere Bereiche zu erforschen.
Lernen Sie, wie Sie Konfigurationsinformationen gleichzeitig an verschiedene Salt Minion auf verschiedenen Maschinen senden und wie Sie die Salt-Zustandsdatei zum Aktualisieren oder Ändern von Konfigurationen verwenden.
ZeroMQ, eine Messaging-Bibliothek, ist eine weitere Funktion in Salt, die das Tool bei der Verwaltung großer IT-Landschaften unterstützt. Mit ZeroMQ können der Master und die Minions über eine Hochgeschwindigkeitsverbindung mit minimaler Latenz kommunizieren.
Salt schützt aber auch nicht immer vor Leistungseinbrüchen. Administratoren müssen beispielsweise auf eine mögliche Verlangsamung achten, wenn eine große Anzahl von Minions versucht, sich beim Master zu authentifizieren.