SaltStack Config umfasst vier oder mehr Architekturkomponenten, einschließlich des RaaS-Servers, des Master-Plug-Ins und zwei zentraler Datenbanken.

Hinweis: Im Rahmen der Initiative von VMware zum Entfernen problematischer Terminologie wird der Begriff Salt-Master in SaltStack Config und verwandten Produkten und Dokumentationen durch einen besseren Begriff ersetzt. Es kann einige Versionszyklen dauern, bevor diese Aktualisierung der Terminologie vollständig abgeschlossen ist.

Das folgende Diagramm zeigt die primären Komponenten der grundlegenden SaltStack Config-Architektur, die für die Installation relevant sind:

Salt-Master und das Master-Plug-In

SaltStack Config wird von Salt, einem Open-Source-Konfigurationsverwaltungs- und -Automatisierungssystem, unterstützt. Wenn Sie Salt noch nicht verwendet haben und mit seiner Funktionsweise nicht vertraut sind, finden Sie unter Salt-Systemarchitektur weitere Informationen.

Der Salt-Master ist die Hauptverbindung zwischen SaltStack Config und den restlichen Knoten in Ihrem Netzwerk (den Minions). Wenn Sie einen Befehl über SaltStack Config (z. B. einen Auftrag) ausführen, wird der Befehl zum Salt-Master für die Verteilung an die Ziel-Minions weitergeleitet.

SaltStack Config kann je nach Bedarf eine Verbindung mit einem Salt-Master oder mehreren Mastern in Ihrem System herstellen. Für die Kommunikation zwischen SaltStack Config und einem Salt-Master muss das Master-Plug-In auf diesem Master installiert sein, und der zugehörige Schlüssel muss in SaltStack Config akzeptiert werden. Das Master-Plug-In ermöglicht dem Salt-Master den Zugriff auf Aufträge oder Prozesse, die von SaltStack Config initiiert wurden, sowie auf externe Dateien und Pfeilerdaten, die in der PostgreSQL-Datenbank gespeichert sind.

Das Plug-In ist in die vorhandenen Erweiterungspunkte integriert, die von Salt bereitgestellt werden. Beispielsweise werden Aufgabenrückgaben mithilfe eines externen Salt-Auftragscaches auf Salt Master-Seite erfasst, und der RaaS-Dateiserver verwendet ein Salt-Dateiserver-Plug-In.

Hinweis: Sie können mehr als einen Salt-Master mit SaltStack Config verbinden. Auf jedem Salt-Master, der eine Verbindung zu SaltStack Config herstellt, muss das Master-Plug-In installiert sein.

RaaS

RaaS, die Abkürzung für „Returner as a Service“, ist die zentrale Komponente in SaltStack Config. Tatsächlich sprechen manche Benutzer oft, wenn sie sich eigentlich auf SaltStack Config selbst beziehen, über RaaS.

RaaS stellt RPC-Endpoints bereit, um Verwaltungsbefehle von der SaltStack Config-Benutzeroberfläche zu erhalten, sowie RPC-Steuerungs-Endpoints, um mit verbundenen Salt-Mastern zu kommunizieren. Die gesamte Kommunikation wird mithilfe von RPC-API-Aufrufen über WebSockets oder HTTP(S) gesendet.

SaltStack Config-Benutzeroberfläche

Die SaltStack Config-Benutzeroberfläche ist eine Webanwendung, die das grafische Front-End der Benutzeroberfläche für RaaS bietet. Obwohl SaltStack Config eine „API-First“-Komponente ist, wird die Benutzeroberfläche direkt mit der API (RaaS) verbunden, um eine einfache Verwaltung aller Systeme in Ihrer Umgebung zu ermöglichen. Verschiedene Arbeitsbereiche bieten Benutzern die Möglichkeit, Minions, Benutzer, Rollen, Aufträge und mehr zu verwalten.

PostgreSQL-Datenbank

RaaS verwendet eine PostgreSQL-Datenbank zum Speichern von Minion-Daten, Auftragsrückgaben, Ereignisdaten, Dateien und Pfeilerdaten, lokalen Benutzerkonten sowie zusätzlichen Einstellungen für die Benutzeroberfläche.

Redis-Datenbank

RaaS verwendet eine Redis-Datenbank, um bestimmte Arten von Daten im temporären Speicher zu speichern, z. B. zwischengespeicherte Daten. Außerdem wird temporärer Datenspeicher verwendet, um Arbeiten in der Warteschlange an Worker im Hintergrund zu verteilen.