Uno dei motivi principali per cui si può utilizzare SaltStack Config è quello di migliorare la gestione della configurazione del sistema. È possibile utilizzare i processi in SaltStack Config per semplificare e automatizzare le attività e le procedure comuni eseguite regolarmente dall'utente o dal proprio team. L'utilizzo di processi per la gestione della configurazione riduce il tempo trascorso dal team a installare, configurare, monitorare e sottoporre a manutenzione manualmente i nodi nel sistema. Garantisce inoltre che il sistema sia sempre in uno stato desiderato coerente.
La creazione e l'esecuzione di processi è un processo in più passaggi che richiede l'utilizzo di alcuni strumenti e aree di lavoro diversi in SaltStack Config. Il seguente diagramma offre una panoramica del workflow dei processi complessivo:
Ciascun passaggio è descritto nelle sezioni seguenti:
Creazione di destinazioni
Per poter iniziare a eseguire i processi, è necessario creare e definire le destinazioni. Una destinazione è un gruppo di minion, appartenenti a uno o più controller Salt, a cui viene applicato il comando Salt di un processo. Un controller Salt può anche essere gestito come un minion e può essere una destinazione se esegue il servizio dei minion. In altre parole, una destinazione determina in quali nodi verrà eseguito il processo. È possibile creare destinazioni utilizzando un semplice elenco di minion oppure creare destinazioni più complesse in base alle proprietà di base dei minion, come ad esempio il tipo di sistema operativo o di server.
Le destinazioni verranno create tramite l'area di lavoro Minion. Per ulteriori informazioni, vedere Minion.
Creazione di processi
Per eseguire un processo, è innanzitutto necessario crearlo. I processi vengono utilizzati per eseguire le attività di esecuzione remote, applicare gli stati e avviare i runner Salt. In altre parole, il processo determina quali attività, procedure o file di stato devono essere applicati ai nodi di destinazione.
Anche se si possono eseguire comandi per i minion ogni volta che è necessario eseguire un'attività specifica, è consigliabile creare un processo per registrare gli stati o le procedure esatti da applicare ai minion. I processi consentono di applicare le procedure in modo coerente e di salvarle per riutilizzarle in futuro.
Quando si crea un processo, è possibile lasciare la destinazione indefinita in modo che possa essere applicata quando il processo viene eseguito in un secondo momento.
I processi verranno creati tramite l'area di lavoro Processi. Per ulteriori informazioni, vedere Processi.
Definizione dei ruoli
Per garantire la sicurezza del sistema, il team deve avere accesso solo ai nodi o ai processi specifici a cui sono autorizzati. Questo approccio viene in genere definito controllo degli accessi basato sui ruoli. Il controllo degli accessi basato sui ruoli indica che l'accesso deve essere limitato alle risorse in base al ruolo dell'utente nel team. I membri del team devono poter accedere solo alle risorse di cui hanno bisogno per adempiere alle proprie responsabilità lavorative.
È possibile definire ruoli e autorizzazioni in modo nativo in SaltStack Config oppure mappare l'accesso a destinazioni e processi al sistema RBAC dell'organizzazione, ad esempio i sistemi basati su LDAP come Active Directory o i sistemi basati su SAML come Google.
Per ulteriori informazioni, vedere:
Esecuzione dei processi
Per poter eseguire processi, è necessario definire i seguenti elementi degli stessi:
- Destinazione
- Funzione (il comando che deve essere eseguito o lo stato che deve essere applicato)
- Autorizzazioni (chi può eseguire il processo rispetto alla destinazione)
Una volta definite queste impostazioni, è possibile eseguire i processi a intervalli regolari oppure solo in base alle esigenze. In genere, i processi eseguiti solo quando necessario vengono definiti processi ad-hoc.
Creazione di una pianificazione
È possibile pianificare l'esecuzione dei processi a un orario specifico (ad esempio in un periodo di manutenzione pianificato) o a intervalli ripetuti periodicamente.
Le pianificazioni verranno create tramite l'area di lavoro Pianificazioni. Per ulteriori informazioni, vedere Pianificazioni.
Esecuzione di processi ad-hoc
È possibile eseguire processi ad-hoc utilizzando l'area di lavoro Minion o l'area di lavoro Processi.
Per ulteriori informazioni, vedere:
Revisione dello stato e dell'output dei processi
Mentre il processo è in esecuzione o quando è stato completato, è possibile rivedere lo stato e l'output dettagliato del processo tramite l'area di lavoro Attività. Per ulteriori informazioni, vedere Attività.