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

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.

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

Salt Master e plug-in Master

SaltStack Config è basato su Salt, un sistema di gestione e automazione della configurazione open source. Se si è nuovi utenti di Salt e non si ha familiarità con il suo funzionamento, vedere Architettura del sistema Salt.

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. Affinché SaltStack Config possa comunicare con un Salt Master, in tale Master deve essere installato il plug-in Master e la relativa chiave deve essere accettata su SaltStack Config. Il plug-in Master consente al Salt Master di accedere ai processi avviati da SaltStack Config, nonché ai file esterni e ai dati del 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 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 impostazioni aggiuntive 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.