Sie können Statusdateien und Pfeilerdaten in den Automation Config-Arbeitsbereichen „Dateiserver“ und „Pfeiler“ erstellen oder hochladen. Wenn Sie den Dateiserver nicht verwenden möchten, unterstützt Automation 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 Automation Config Statusdateien erstellen, die auf viele Knoten gleichzeitig angewendet werden können. Diese Statusdateien können eine Reihe von Anweisungen enthalten, die Automation 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 Automation Config Knoten und Anwendungen in den kompatiblen Konfigurationszustand zurückversetzen. Wenn eine Konfiguration geändert werden muss, kann Automation 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
- 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
- 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 Automation Config Pillar Store gespeicherte Daten werden mithilfe des Raas-Verschlüsselungsschlüssels verschlüsselt, der mit der spezifischen Instanz von Automation Config verknüpft ist (z. B. „/etc/raas/pki/.raas.key“). Sobald die Pfeilerdaten in der Automation 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 Automation 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 Automation 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.
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:
- 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.
- 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.
- Klicken Sie auf der Automation Config-Benutzeroberfläche im seitlichen Menü auf Konfigurieren > Dateiserver, um den Arbeitsbereich „Dateiserver“ zu öffnen.
- 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.
- 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.
- Geben Sie im Feld Pfadname den Dateipfad und Dateinamen mit der Dateierweiterung
.sls
ein. Beispiel:/my-directory/my-state-file.sls
. - Erstellen Sie den Code der Statusdatei im Textkörper der Datei oder kopieren Sie ihn. Beispiel:
- 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 Automation 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 Automation 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 Automation Config erstellten Aufträgen verweisen. Weitere Informationen hierzu finden Sie unter Wie erstelle ich Aufträge?.