Sie können Statusdateien und Pfeilerdaten in den SaltStack Config-Arbeitsbereichen „Dateiserver“ und „Pfeiler“ erstellen oder hochladen. Wenn Sie den Dateiserver nicht verwenden möchten, unterstützt SaltStack Config auch die Verbindung mit einem externen Repository (z. B. einem Git-Repository), in dem Sie Ihre Statusdateien und Pfeilerdaten speichern können.

Definition von Statusdateien

Statt jeden Knoten oder jede Anwendung einzeln manuell zu konfigurieren, können Sie mithilfe des Zustandsverwaltungssystems von SaltStack Config Statusdateien erstellen, die auf viele Knoten gleichzeitig angewendet werden können. Diese Statusdateien können eine Reihe von Anweisungen enthalten, die SaltStack Config darüber informieren, welche Vorgänge auf dem Knoten in welcher Reihenfolge ausgeführt werden sollen. Sie können auch erläutern, welche Konfigurationsdateien oder Einstellungen angewendet werden sollen.

Nach dem Erstellen oder Ändern einer Statusdatei können Sie diese Statusdatei automatisch ausführen und auf zahlreiche Knoten gleichzeitig anwenden. Sie können Knoten auf der Grundlage ihrer inhärenten Eigenschaften (z. B. des Betriebssystems) oder basierend auf von Ihnen festgelegten benutzerdefinierten Bezeichnungen als Ziel verwenden. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Erstellen von Zielen.

Darüber hinaus stellt das Statusverwaltungssystem sicher, dass jeder Knoten ordnungsgemäß und möglichst effizient konfiguriert wird. Bei abweichender Konfiguration kann SaltStack Config Knoten und Anwendungen in den kompatiblen Konfigurationszustand zurückversetzen. Wenn eine Konfiguration geändert werden muss, kann SaltStack Config diese Änderungen schnell auf den betroffenen Knoten bereitstellen.

Beispiel einer Statusdatei

Statusdateien werden in der Regel in YAML und Jinga erstellt, aber auch andere Formate wie JSON sind mit Salt kompatibel. Eine typische Statusdatei kann folgendermaßen aussehen:

install_apache:
  pkg.installed:
    - name: httpd
    
ensure_service_running:
  service.running:
    - name: httpd
    - watch:
      - pkg: install_apache
      
default_html_page:
  file.managed:
    - name: /var/www/html/index.html
    - source: salt://apache/index.html
Diese Statusdatei enthält drei Schritte zum Ausführen der drei verschiedenen Salt-Ausführungsmodule. Wenn diese Statusdatei auf einen Minion angewendet wird, führt SaltStack Config folgende Aufgaben durch:
  • Installieren von Apache (httpd) auf dem Minion.
  • Starten des Apache-Diensts.
  • Bereitstellen eines Beispiels einer HTML-Indexseite, die auf dem Minion gehostet wird.

Definition der Pfeilerdaten

Eine Beispiel-Pfeilerdatei im Dateiserver-Arbeitsbereich

Hinweis: Es wird als Best Practice empfohlen, Pfeilerdaten für vertrauliche Informationen zu reservieren.
Pfeiler sind Strukturen von Daten, die auf dem Salt-Master gespeichert und an ein oder mehrere Minions weitergegeben werden, die für den Zugriff auf diese Daten berechtigt sind. Pfeilerdaten haben zwei Hauptanwendungsfälle:
  • Mit Pfeilern kann der Benutzerzugriff auf persönliche sensible Daten wie Kennwörter und Konfigurationseinstellungen beschränkt werden. Sie können Pfeiler beispielsweise verwenden, damit ein Benutzer einen Auftrag ausführen kann, der eine Authentifizierung bei einem externen Dienst erfordert, ohne selbst auf diese Authentifizierungsdaten zugreifen zu müssen. In diesem Fall weisen Sie dem Benutzer Zugriff auf den angegebenen Auftrag und das Ziel zu, jedoch nicht auf den Pfeiler, der vertrauliche Authentifizierungsdetails enthält.
  • Pfeiler können Daten senden, die sich je nach Kontext oder Minion ändern, das Daten anfordert. Beispielsweise können Sie verschiedenen Minions unterschiedliche Kennwörter zuweisen und alle Kennwörter in einer Pfeilerdatei speichern. Anschließend können Sie eine Statusdatei erstellen, mit der das Minion angewiesen wird, nach dem eindeutigen Kennwort in der Datei zu suchen, ohne mehrere Dateien erstellen oder Kennwörter an verschiedenen Stellen speichern zu müssen.

Im SaltStack Config Pillar Store gespeicherte Daten werden mithilfe des Raas-Verschlüsselungsschlüssels verschlüsselt, der mit der spezifischen Instanz von SaltStack Config verknüpft ist (z. B. „/etc/raas/pki/.raas.key“). Sobald die Pfeilerdaten in der SaltStack Config-Benutzeroberfläche definiert sind, werden sie mit diesem Schlüssel verschlüsselt und in der PostgreSQL-Datenbank gespeichert. Dieser Schlüssel wird auch verwendet, um die Daten zur Anzeige in der SaltStack Config-Benutzeroberfläche zu entschlüsseln.

Beispiel einer Pfeilerdatei

Pfeilerdateien werden in der Regel in YAML und Jinga erstellt, aber auch andere Formate wie JSON sind mit Salt kompatibel. Pfeilerdaten werden als Wörterbuch gespeichert und verwenden Schlüssel-Wert-Paare für die Suche nach Werten. Eine typische Pfeilerdatei kann folgendermaßen aussehen:

 pillar1: value
 pillar2:
   - value
   - value
 pillar3:
   sub_key:
     - value
     - value

In diesem Beispiel werden drei verschiedene Methoden zum Formatieren Ihrer Pfeilerdaten erläutert. Die von Ihnen ausgewählte Syntax richtet sich nach Ihren Anforderungen und dem zu speichernden Datentyp.

Bevor Sie beginnen

Da SaltStack Config von Salt unterstützt wird, sollten Sie über grundlegende Kenntnisse hinsichtlich Salt und den Konzepten verfügen, die sich auf diese Funktionen beziehen. Die folgende Tabelle enthält einige hilfreiche Ressourcen mit weiteren Informationen:

Weitere Informationen zu... Finden Sie unter...

Grundlagen der Arbeit mit Salt

Salt-Zustände

Pfeilerdaten

Salt-Ausführungs- und Statusmodule

Nachdem Sie Ihre Pfeilerdaten definiert haben, können Sie die Pfeilerdaten einer Gruppe von Minion-Systemen zuweisen, indem Sie auf Ziele aktualisieren klicken, die Zielgruppe auswählen und dann auf Speichern klicken.

Anhängen von Pfeilerdaten an Ziele in SaltStack Config

Wenn Pfeilerdaten einem bestimmten Zielsystem zugewiesen und in Statusdateien enthalten sind, werden sie vom Master für jedes Minion-System verarbeitet und mit einem separaten AES-Schlüssel für jeden Minion verschlüsselt. Mit diesem Schlüssel können die Pfeilerdaten während eines Status- oder Orchestrierungsdateiprogramms an das Zielsystem übertragen werden.

Hinzufügen von Statusdateien zum Dateiserver

So fügen Sie dem Dateiserver eine Statusdatei zur Verwendung in Aufträgen hinzu:

  1. Finden Sie heraus, mit welchen Salt-Ausführungs- oder Statusmodulen das gewünschte Ergebnis erzielt werden kann. Wenn Sie das Ihren Anforderungen entsprechende Salt-Modul gefunden haben, lesen Sie die Dokumentation des Moduls, um sicherzustellen, dass Sie mit den Parametern des Moduls und anderen Anforderungen vertraut sind.
  2. Optional: Es wird empfohlen, einen groben Entwurf der Statusdatei mit einem bevorzugten Code-Editor zu erstellen und mit einem Code-Linter zu überprüfen, ob in der Statusdatei entsprechend konzipierte Syntax verwendet wird.
  3. Klicken Sie auf der SaltStack Config-Benutzeroberfläche im seitlichen Menü auf Konfigurieren > Dateiserver, um den Arbeitsbereich „Dateiserver“ zu öffnen.
  4. Wenn Sie den Arbeitsbereich „Dateiserver“ erstmalig öffnen, werden das Dateiverzeichnis und eine leere neue Datei angezeigt. Verwenden Sie diese leere Datei, um eine neue Statusdatei zu erstellen oder um Ihre Statusdatei aus Ihrem Codeeditor zu kopieren.Ein leere Statusdatei im Dateiserver-Arbeitsbereich in SaltStack Config
  5. Klicken Sie auf das Menü Saltenv und wählen Sie die Umgebung aus, in der die Statusdatei gespeichert werden soll. Verwenden Sie base bei Unsicherheiten bezüglich der auszuwählenden Umgebung aus.
  6. Geben Sie im Feld Pfadname den Dateipfad und Dateinamen mit der Dateierweiterung .sls ein. Beispiel: /my-directory/my-state-file.sls.
  7. Erstellen Sie den Code der Statusdatei im Textkörper der Datei oder kopieren Sie ihn. Beispiel:Code in einer Statusdatei im Dateiserver-Arbeitsbereich
  8. Speichern Sie die Statusdatei und bestätigen Sie, dass die neue Datei im Verzeichnis des Dateiservers angezeigt wird.

Hinzufügen von Pfeilerdaten zu einem Salt-Master

Obwohl Sie den SaltStack Config-Arbeitsbereich „Pfeiler“ zum Hinzufügen von Pfeilerdaten zum Salt-Master verwenden können, ist es möglicherweise einfacher, die Pfeilerdaten direkt zum Salt-Master hinzuzufügen. Verwenden Sie eine der beiden Methoden, um Pfeilerdaten hinzuzufügen, auf die in Statusdateien verwiesen werden kann oder die Zielen zugewiesen werden können:

  • Melden Sie sich per SSH beim Salt-Master an und fügen Sie die Pfeilerdatei mithilfe der Salt-Standardverfahren zum Hinzufügen von Dateien zu einem Master hinzu. Weitere Informationen finden Sie unter Pfeiler und Anleitung zu Pfeilern.
  • Erstellen Sie auf der SaltStack Config-Benutzeroberfläche einen Auftrag, der die Pfeilerdaten mit dem Befehl salt-run zu dem Salt-Master hinzufügt, der den Salt-Runner verwendet. Weitere Informationen hierzu finden Sie unter Wie erstelle ich Aufträge?.

Nächste Schritte

Nach dem Erstellen von Statusdateien und Pfeilerdaten mit Minion-Zugriff können Sie auf diese Dateien in von Ihnen in SaltStack Config erstellten Aufträgen verweisen. Weitere Informationen hierzu finden Sie unter Wie erstelle ich Aufträge?.