L'architettura di SaltStack Config include quattro o più componenti, tra cui il server RaaS, il plug-in Master e due database centrali.

Il seguente diagramma mostra i componenti principali dell'architettura di SaltStack Config di base pertinenti per l'installazione:

Un diagramma dell'architettura che mostra i diversi componenti di SaltStack Config
Nota: Nell'ambito dell'iniziativa di VMware volta a rimuovere la terminologia problematica, il termine Salt Master verrà sostituito con un termine più adatto in SaltStack Config, nonché nei prodotti e nella documentazione correlati. Per il completamento di questo aggiornamento della terminologia possono essere necessari alcuni cicli di rilascio

Salt Master e plug-in Master

SaltStack Config è basato su Salt, un sistema di gestione e automazione della configurazione open source.

Il Salt Master è la connessione principale tra SaltStack Config e il resto dei nodi nella rete (i minion). Quando si esegue un comando da SaltStack Config (ad esempio un processo), il comando passa al Salt Master per la distribuzione ai minion di destinazione.

SaltStack Config può connettersi a un Salt Master o a molti Master in base alle esigenze nel sistema. Per consentire a SaltStack Config di comunicare con un Salt Master, è necessario installare il plug-in Master nel Salt Master e accettarne la chiave in SaltStack Config. Il plug-in Master consente al Salt Master di accedere ai processi avviati da SaltStack Config. Il Salt Master può accedere ai file esterni e ai dati dei pillar archiviati nel database PostgreSQL.

Il plug-in si integra con i punti di estensione esistenti forniti da Salt. Ad esempio, le restituzioni dei processi vengono raccolte utilizzando una cache dei processi esterni di Salt sul lato Salt Master e il file server RaaS utilizza un plug-in del file server Salt.
Nota: È possibile connettere più Salt Master a SaltStack Config. In ogni Salt Master che si connette a SaltStack Config deve essere installato il plug-in Master

RaaS

RaaS, acronimo di Returner as a Service, è il componente centrale in SaltStack Config. Alcune persone si riferiscono infatti a RaaS chiamandolo SaltStack Config.

RaaS fornisce endpoint RPC per ricevere comandi di gestione dall'interfaccia utente di SaltStack Config, nonché endpoint di controllo RPC per interfacciarsi con i Salt Master connessi. Tutte le comunicazioni vengono inviate tramite chiamate API RPC su WebSocket o HTTP(S).

Interfaccia utente di SaltStack Config

L'interfaccia utente di SaltStack Config è un'applicazione Web che fornisce il front-end dell'interfaccia utente grafica per RaaS. Sebbene SaltStack Config dia la precedenza all'API, l'interfaccia utente comunica direttamente con l'API (RaaS) per abilitare la gestione semplice di tutti i sistemi nell'ambiente. Le diverse aree di lavoro consentono di gestire minion, utenti, ruoli, processi e molto altro.

Database

Database PostgreSQL

RaaS utilizza un database PostgreSQL per archiviare i dati dei minion, le restituzioni dei processi, i dati degli eventi, i file e i dati del pillar, gli account utente locali e le altre impostazioni per l'interfaccia utente.

Database Redis

RaaS utilizza un database Redis per archiviare determinati tipi di dati nell'archivio temporaneo, ad esempio i dati memorizzati nella cache. Utilizza inoltre l'archiviazione temporanea dei dati per distribuire il lavoro in coda ai worker in background.

Per ulteriori informazioni sul funzionamento di Salta, vedere Architettura del sistema Salt.