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:

Ein Architekturdiagramm, das die verschiedenen Komponenten von SaltStack Config zeigt
Hinweis: Im Rahmen der VMware-Initiative zum Entfernen problematischer Terminologie wird der Begriff Salt-Master in SaltStack Config und verwandten Produkten und Dokumentationen durch einen geeigneteren Begriff ersetzt. Es kann mehrere Versionszyklen dauern, bis diese Aktualisierung der Terminologie vollständig abgeschlossen ist

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.

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. Das Master-Plug-In muss auf jedem Salt-Master installiert sein, der eine Verbindung zu SaltStack Config herstellt.

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.