È necessario installare Salt nell'infrastruttura: questa procedura prevede l'installazione dei servizi di Salt Master e dei minion Salt.

Come requisito minimo, è necessario installare Salt e le relative dipendenze nei nodi coinvolti in uno scenario di installazione standard di SaltStack Config.

È consigliabile installare Salt in anticipo in qualsiasi infrastruttura che si prevede di gestire con SaltStack Config. L'installazione di Salt semplifica e ottimizza il processo di aggiornamento alle versioni future di Salt. Prima di avviare l'installazione di SaltStack Config, è consigliabile installare Salt nell'infrastruttura e quindi monitorarlo per un periodo di tempo per assicurarsi che sia stabile e funzioni come previsto.

Consultare queste guide per assicurarsi che nell'ambiente vengano eseguite le seguenti procedure consigliate durante l'implementazione di Salt nell'infrastruttura:

Per preparare le macchine per un'installazione standard di SaltStack Config, è necessario installare o aggiornare Salt e Python. È necessario che Salt e Python siano presenti e aggiornati in tutti i nodi coinvolti nell'installazione. L'installazione non riesce se Salt e le dipendenze del programma di installazione non sono installati nei nodi.

Installazione di Salt nei Salt Master

In un'installazione standard, è necessario installare sia il servizio Salt Master sia il servizio dei minion nell'host del Salt Master.

Queste istruzioni consentono di installare la versione più recente di Salt in Red Hat/CentOS 7 PY3. Se nella macchina viene eseguito un sistema operativo o una versione diversa di Python, lo script non funzionerà. Per informazioni sull'installazione di Salt in altri sistemi operativi o nelle varie versioni di Python, vedere Guida di installazione di Salt.
Nota: Centos 7, per impostazione predefinita, blocca le connessioni al Salt Master. È necessario creare regole del firewall per consentire la connettività:
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
Per ulteriori informazioni, vedere Apertura del firewall per Salt.
  1. Installare la chiave e il repository dei progetti di Salt:
    sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
  2. Svuotare la cache:
    sudo yum clean expire-cache
  3. Installare il servizio Salt Master e il servizio dei minion nel nodo Salt Master:
    sudo yum install salt-master
    sudo yum install salt-minion
  4. Creare un file master.conf nella directory /etc/salt/minion.d. In questo file, impostare l'indirizzo IP del Salt Master in modo che punti a se stesso:
    master: localhost
  5. Avviare il servizio Salt Master e il servizio dei minion:
    sudo systemctl start salt-master
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    Utilizzare service salt-minion restart per riavviare i minion, se necessario.

Installazione di Salt nei minion Salt

Dopo aver installato Salt nel Salt Master come descritto nella sezione precedente, il passaggio successivo consiste nell'installare il servizio dei minion (non il servizio Master) nei tre nodi che diventeranno il RaaS, un database Redis e un database PostgreSQL.

È quindi necessario configurare i minion in modo che comunichino con il Salt Master. Per informazioni più dettagliate sull'installazione del servizio dei minion, vedere Configurazione dei minion nella documentazione di Salt.

Per installare il servizio dei minion:

  1. Installare solo il servizio dei minion eseguendo il comando seguente:
    sudo yum install salt-minion
  2. Rispondere y a tutte le richieste per accettare tutte le modifiche.
  3. Configurare ciascun minion affinché comunichi con il Salt Master creando un file master.conf nella directory /etc/salt/minion.d. In questo file, specificare l'indirizzo IP del Salt Master. Ad esempio:
    master: 192.0.2.1
  4. Avviare il servizio dei minion:
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    Utilizzare service salt-minion restart per riavviare i minion, se necessario.

  5. Ripetere i passaggi precedenti per tutti i nodi rimanenti.

Accettazione delle chiavi dei minion nei Master

A questo punto, è stato installato il servizio Salt Master e il servizio dei minion e ai minion è stato fornito l'indirizzo IP del Salt Master. Per consentire al Salt Master di inviare comandi ai minion, è quindi necessario accettare le chiavi dei minion nel Salt Master.

Prima di procedere:

  • Assicurarsi che il servizio Salt Master sia abilitato e avviato.
  • Assicurarsi che il minion sia abilitato e avviato in tutti i nodi.

Per accettare le chiavi:

  1. Nel terminale del Salt Master, visualizzare l'elenco di tutte le chiavi presenti nel Salt Master:
    salt-key -L
  2. Verificare che tutti gli ID minion siano elencati in Unacceptedkeys.

    Se gli ID minion vengono visualizzati in Acceptedkeys, non è necessario eseguire ulteriori azioni perché questo è l'obiettivo finale.

  3. Accettare ogni ID minion mediante il comando seguente sostituendo <your-minion-id> con l'ID della rete:
    salt-key -a <your-minion-ID>

    L'esecuzione di salt-key-A comporta l'accettazione di tutte le chiavi.

  4. Rispondere y a tutte le richieste.
  5. Eseguire il comando salt-key-L una seconda volta per verificare che tutti i minion vengano visualizzati in Acceptedkeys.

Installazione di Salt in un sistema air gap

L'unica eccezione alla raccomandazione generale di installare Salt in anticipo si ha quando SaltStack Config viene installato in un sistema air gap. Tenere presente che esistono alcuni aspetti da tenere presenti per l'installazione di Salt nell'infrastruttura in un sistema air gap.

Il programma di installazione di SaltStack Config può installare la versione stabile più recente di Salt durante l'esecuzione. Tuttavia, la versione di Salt installata dal programma di installazione di SaltStack Config è chiamata pacchetto Salt Crystal. Questo pacchetto è progettato principalmente per l'uso in sistemi air gap in cui non è possibile aggiornare Salt su Internet. Poiché è stato progettato per l'uso in sistemi air gap, la versione di Salt nel pacchetto Salt Crystal non può essere aggiornata su Internet, ma deve essere aggiornata manualmente. Per informazioni sull'aggiornamento del pacchetto Salt Crystal, vedere Aggiornamento di Salt Crystal.

L'impossibilità di aggiornare periodicamente Salt su Internet può diventare problematica per la rete a meno che la rete non sia air gap. Per tale motivo, è consigliabile installare Salt in anticipo anziché usare il pacchetto Salt Crystal.