SaltStack Config enthält vier oder mehr Architekturkomponenten, darunter den RaaS-Server, das Master-Plug-In und zwei zentrale Datenbanken.
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.
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 Zugriff auf von SaltStack Config initiierte Aufträge oder Prozesse sowie auf externe Dateien und Pfeilerdaten, die in der PostgreSQL-Datenbank gespeichert sind.
RaaS
RaaS, die Abkürzung für „Returner as a Service“, ist die zentrale Komponente in SaltStack Config. Tatsächlich sprechen einige Personen häufig von RaaS, obwohl sie sich eigentlich auf SaltStack Config beziehen.
RaaS stellt RPC-Endpoints bereit, um Verwaltungsbefehle über die 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
Bei der SaltStack Config-Benutzeroberfläche handelt es sich um eine Webanwendung, die das grafische Front-End der Benutzeroberfläche für RaaS bereitstellt. 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.
Datenbanken
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.
Weitere Informationen zur Funktionsweise von Salt finden Sie unter Salt-Systemarchitektur.