SaltStack Config bevat vier of meer architectuuronderdelen, waaronder de RaaS-server, de masterplug-in en twee centrale databases.
In het volgende diagram ziet u de primaire onderdelen van de basisarchitectuur van SaltStack Config die relevant zijn voor de installatie:
Salt-masters en de masterplug-in
SaltStack Config werkt op Salt, een opensourcesysteem voor configuratiebeheer en automatisering.
De Salt-master is de belangrijkste verbinding tussen SaltStack Config en de rest van de knooppunten in uw netwerk (de minions). Als u een commando geeft vanuit SaltStack Config (zoals een opdracht), gaat het commando naar de Salt-master voor distributie op de getargete minions.
SaltStack Config kan verbinding maken met één Salt-master of vele masters zoals nodig in uw systeem. Om SaltStack Config met een Salt-master te laten communiceren, moet u de masterplug-in op de Salt-master installeren en de sleutel in SaltStack Config accepteren. Met de masterplug-in krijgt de Salt-master toegang tot opdrachten of processen die zijn geïnitieerd door SaltStack Config. De Salt-master heeft toegang tot externe bestanden en pillargegevens die zijn opgeslagen in de PostgreSQL-database.
RaaS
RaaS, oftewel Returner as a Service, is het centrale onderdeel in SaltStack Config. Als sommige mensen naar SaltStack Config zelf verwijzen, hebben zij het vaak over RaaS.
RaaS biedt RPC-eindpunten om beheercommando's te ontvangen van de gebruikersinterface van SaltStack Config, evenals RPC-besturingseindpunten voor de interface met verbonden Salt-masters. Alle communicatie wordt verzonden met behulp van RPC API-aanroepen via WebSockets of HTTP(s).
Gebruikersinterface van SaltStack Config
De gebruikersinterface van SaltStack Config is een webapplicatie die de frontend van de grafische gebruikersinterface voor RaaS levert. Hoewel SaltStack Config API-gericht is, werkt de gebruikersinterface direct met de API (RaaS) om eenvoudig beheer van alle systemen in uw omgeving mogelijk te maken. Verschillende werkplekken bieden gebruikers de mogelijkheid om minions, gebruikers, rollen, opdrachten en meer te beheren.
Databases
PostgreSQL-database
RaaS gebruikt een PostgreSQL-database om miniongegevens, opdrachtresultaten, gebeurtenisgegevens, bestanden en pillargegevens, lokale gebruikersaccounts en andere instellingen voor de gebruikersinterface op te slaan.
Redis-database
RaaS gebruikt een Redis-database om bepaalde typen gegevens in tijdelijke opslag te bewaren, zoals cachegegevens. Er wordt ook tijdelijke gegevensopslag gebruikt om in wachtrijen geplaatst werk te distribueren naar achtergrondwerkers.
Zie Systeemarchitectuur van Salt voor meer informatie over hoe Salt werkt.