Per la maggior parte degli utenti è utile comprendere che cos'è SaltStack Config e come funziona prima di iniziare il processo di installazione. 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.

Che cos'è SaltStack Config?

Con SaltStack Config, è possibile eseguire il provisioning, configurare e distribuire software alle macchine virtuali su qualsiasi scala, utilizzando l'automazione basata su eventi. È inoltre possibile utilizzare SaltStack Config per definire e applicare gli stati del software ottimali e conformi nell'intero ambiente.

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.

SaltStack Config estende la piattaforma di gestione della configurazione automatizzata e basata su eventi di Salt fornendo funzionalità aggiuntive, come:

  • Controlli degli accessi basati sui ruoli: garantiscono che i tecnici della rete abbiano accesso solo alle risorse e ai processi necessari per eseguire le loro attività lavorative specifiche.
  • Interfaccia utente intuitiva: oltre alla possibilità di eseguire comandi dalla riga di comando, SaltStack Config fornisce anche un'interfaccia utente grafica per semplificare l'uso.
  • Automazione della sicurezza: componenti aggiuntivi facoltativi consentono di correggere automaticamente le vulnerabilità e garantire la conformità continua per i sistemi IT ibridi.

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

Nelle sezioni seguenti vengono descritti i componenti principali dell'architettura di SaltStack Config.

Nota: SaltStack Config supporta due scenari di installazione di base, che comportano due architetture di sistema diverse. Nello scenario di installazione di Lifecycle Manager, un Salt Master, SaltStack Config, un database Redis e un database PostgreSQL vengono tutti eseguiti nello stesso nodo. Nello scenario di installazione con più nodi, un Salt Master, SaltStack Config, un database Redis e un database PostgreSQL vengono distribuiti in almeno due nodi. Ogni servizio può essere eseguito in un nodo separato oppure è possibile combinare due o più servizi in un determinato nodo.

Salt Master e plug-in Master

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.

Il plug-in Master è installato nel Salt Master. Consente al Salt Master di comunicare con il server back-end di SaltStack Config, ovvero il nodo RaaS. 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.

SaltStack SecOps

vRealize Automation SaltStack SecOps è un componente aggiuntivo per SaltStack Config che sfrutta la tecnologia dell'automazione basata sugli eventi per fornire conformità alla sicurezza e correzione delle vulnerabilità. Fornisce i seguenti tipi di contenuti:

  • Conformità: rilevamento e correzione automatizzati della conformità per l'infrastruttura. La libreria di contenuti di conformità è costituita dai contenuti di conformità e sicurezza delle procedure consigliate del settore, ad esempio CIS.
  • Vulnerabilità: gestisce le vulnerabilità in tutti i sistemi dell'ambiente. La sua libreria di contenuti include avvisi basati sulle voci CVE (Common Vulnerabilities and Exposures) più recenti.

SaltStack SecOps include contenuti aggiornati regolarmente e può supportare anche contenuti di conformità personalizzati creati all'interno dell'organizzazione. I nuovi contenuti possono essere scaricati automaticamente o manualmente non appena vengono sviluppati e rilasciati.