SaltStack è stato svi­lup­pa­to su GitHub, uno spazio virtuale per gli svi­lup­pa­to­ri e nel marzo 2011 questo software open source è stato reso ac­ces­si­bi­le al pubblico. “Salt”, così come viene ab­bre­via­to lo strumento per la gestione della con­fi­gu­ra­zio­ne, serve alla gestione e al mo­ni­to­rag­gio au­to­ma­ti­ci di sistemi di server. Con SaltStack è possibile in­stal­la­re e con­fi­gu­ra­re dei software da un computer centrale, nonché eseguire tanti comandi di con­fi­gu­ra­zio­ne quanti se ne desidera. Qui sco­pri­re­te quali sono le par­ti­co­la­ri­tà di Salt, come viene uti­liz­za­to dagli am­mi­ni­stra­to­ri e quali sono i vantaggi che potete trarre da questo strumento di gestione.

Cosa rende così par­ti­co­la­re SaltStack?

SaltStack è un software mul­ti­piat­ta­for­ma della Apache Software Foun­da­tion che non richiede una licenza. Consente di ef­fet­tua­re ma­nu­ten­zio­ni a distanza, di rea­liz­za­re con­di­zio­ni obiettivo pre­de­fi­ni­te e di avviare delle verifiche, e ciò sia nel proprio centro dati che in un cloud esterno (in­di­pen­den­te­men­te dal gestore). Il pro­dut­to­re indica come vantaggi prin­ci­pa­li di SaltStack la facile in­stal­la­zio­ne, la rapida gestione della co­mu­ni­ca­zio­ne in mil­li­se­con­di così come la pos­si­bi­li­tà di poter gestire pa­ral­le­la­men­te un gran numero di server.

Se con­fron­ta­to di­ret­ta­men­te con sistemi che fun­zio­na­no in maniera similare come Terraform o Puppet, SaltStack spicca per i mol­te­pli­ci campi ap­pli­ca­ti­vi e la rapidità. Il principio però è lo stesso: l’am­mi­ni­stra­to­re definisce su un server centrale la con­fi­gu­ra­zio­ne degli altri computer. Il software per la gestione della con­fi­gu­ra­zio­ne li converte in singoli client. Per la co­mu­ni­ca­zio­ne tra server e client SaltStack utilizza la libreria per scambio di messaggi ZeroMQ. Questa consente di di­stri­bui­re in modo rapido sia piccole che grandi quantità di dati. La co­mu­ni­ca­zio­ne viene garantita tramite la cifratura dei dati con il pro­to­col­lo di crit­to­gra­fia sim­me­tri­ca AES. Il Feature Reliable Asyn­chro­nous Event Transport (RAET), im­ple­men­ta­to nel 2014, ga­ran­ti­sce una sicurezza ulteriore nel passaggio dei dati.

Le con­fi­gu­ra­zio­ni vere e proprie in SaltStack fun­zio­na­no tramite dati di testo in formato YAML. Il semplice lin­guag­gio di markup consente la rap­pre­sen­ta­zio­ne di dati strut­tu­ra­ti in una forma rap­pre­sen­ta­ti­va se­quen­zia­le. Grazie al lin­guag­gio di pro­gram­ma­zio­ne Python con SaltStack avete la pos­si­bi­li­tà di riunire comandi di con­fi­gu­ra­zio­ne di modo che siano pronti all’uso.

Varietà di gestione con SaltStack

Oltre alla gestione di sistemi come Linux, con SaltStack è possibile or­ga­niz­za­re anche client MacOS e Windows. SaltStack con Salt Cloud fornisce un’in­ter­fac­cia uni­ver­sa­le, che vi consente di con­fi­gu­ra­re e gestire mol­te­pli­ci sistemi. Anche i cloud privati e gli ambienti server virtuali sono così gestibili au­to­ma­ti­ca­men­te.

N.B.

Nel tutorial in lingua inglese di DevOp imparate tutto quello che dovete sapere per l’uso di Terraform e SaltStack.

Vantaggi per gli am­mi­ni­stra­to­ri

  1. In­di­pen­den­te­men­te dal sistema di de­sti­na­zio­ne su cui gli am­mi­ni­stra­to­ri vogliono lavorare, i comandi in SaltStack restano sempre gli stessi. Così l’uso è semplice e facile da ap­pren­de­re.
  2. Lo strumento non gestisce problemi re­la­ti­va­men­te alla di­stri­bu­zio­ne au­to­ma­ti­ca delle con­fi­gu­ra­zio­ni, ma può reagire a eventi, visto che registra il tipo di co­mu­ni­ca­zio­ne scambiata all’interno dell’in­fra­strut­tu­ra.
  3. SaltStack è com­ple­ta­men­te incluso in Salt Open e di­spo­ni­bi­le per tutti nella licenza Apache 2.0. Inoltre potete col­la­bo­ra­re in maniera attiva alla creazione del software e se siete in­te­res­sa­ti a sup­por­ta­re il pro­dut­to­re, avete a di­spo­si­zio­ne la versione En­ter­pri­se.

Spie­ga­zio­ne dei termini prin­ci­pa­li

Quando uti­liz­za­te SaltStack in­con­tre­re­te sempre de­ter­mi­na­ti termini, che sono legati allo strumento di gestione della con­fi­gu­ra­zio­ne. Di seguito abbiamo riassunto per voi i più im­por­tan­ti.

Salt-Master

Il Salt-Master è stato rea­liz­za­to nel lin­guag­gio di pro­gram­ma­zio­ne Python ed è il server per la mes­sag­gi­sti­ca ZeroMQ, che a sua volta porta i dati al client. Quando si parla di server e client troviamo anche i termini master (prin­ci­pa­le) e minion (su­bal­ter­no). Per questo motivo il server di SaltStack è de­no­mi­na­to Salt-Master. At­tra­ver­so quest’ultimo viene ef­fet­tua­ta la re­go­la­zio­ne centrale di tutti i sistemi di de­sti­na­zio­ne associati. Consente la tra­smis­sio­ne di comandi e file.

Salt-Minion

I Salt-Minion ricevono i comandi dei Salt-Master. Con­tem­po­ra­nea­men­te informano gli stessi re­la­ti­va­men­te a tutti gli eventi e i risultati in­te­res­san­ti.

Salt-Syndic

Salt-Syndic è un Salt-Master in­ter­me­dio. In­ter­vie­ne tra Salt-Master e Salt-Minion.

Salt-SSH

Può capitare che un Salt-Minion non sia ese­gui­bi­le in un sistema di de­sti­na­zio­ne. Tramite SSH il Salt-Master può entrare in diretto contatto con questo sistema. Così salta però lo scambio tramite ZeroMQ, ciò può provocare un notevole ral­len­ta­men­to del processo. Inoltre possono anche venire a mancare alcune funzioni e moduli.

Salt-Proxy-Minion

Con Salt-Proxy-Minion è possibile gestire di­spo­si­ti­vi terzi, tra cui ad esempio di­spo­si­ti­vi di rete come router o switch.

Come funziona SaltStack?

I Salt-Minion vengono ali­men­ta­ti dal Salt-Master con comandi per mezzo di “bus” come ZeroMQ, SSH o Proxy-Minion. I Salt-Minion an­ti­ci­pa­no la propria co­mu­ni­ca­zio­ne con una chiave per­so­na­liz­za­ta che il Salt-Master deve con­fer­ma­re al primo contatto, così che venga eseguito il comando. In questo modo tra coppie di chiavi si crea una co­mu­ni­ca­zio­ne cifrata.

Sup­po­nia­mo che vogliate con­fi­gu­ra­re un software: tra­smet­te­te il cor­ri­spon­den­te comando al Salt-Master, che lo inoltra a tutti i Minion. Il software viene poi con­fi­gu­ra­to au­to­ma­ti­ca­men­te in modo tra­sver­sa­le su tutti i di­spo­si­ti­vi della struttura. Il Master può essere anche duplicato in maniera opzionale come Salt-Syndic.

Vai al menu prin­ci­pa­le