SaltStack, o Salt, è una popolare soluzione di gestione della configurazione open source che può essere utilizzata per implementare l'esecuzione remota, la gestione della configurazione, la distribuzione del codice e molto altro. Salt può gestire decine di migliaia di server in parallelo. Grazie alla sua facilità d'uso, scalabilità e alta efficienza, Salt è stato ampiamente utilizzato per gestire varie infrastrutture in tutto il mondo.
In questo articolo, ti mostrerò come installare Salt su due istanze del server CentOS 7 per implementare il modello di gestione agente e server di Salt. In questo modello, avrai un server principale e un server agente (chiamato minion) e potrai aggiungere altri seguaci in seguito.
Prerequisiti
Prima di procedere, presumo che tu abbia:
- Distribuito due istanze del server CentOS 7 nello stesso centro dati Vultr.
- Configurare la rete privata su entrambe le due istanze del server. Vedi questo articolo: Configurazione della rete privata .
- Creazione di utenti sudo non root su entrambe le due macchine.
Il riepilogo dei nostri due server è il seguente.
Server master SaltStack:
- Sistema operativo: CentOS 7
- nome host: master
- IP privato: 10.99.0.10
Server agente SaltStack 1:
- Sistema operativo: CentOS 7
- nome host: minion1
- IP privato: 10.99.0.11
Passaggio 1: Operazioni sul server principale SaltStack
1.1 Aggiorna il sistema
Utilizzare l'utente sudo per accedere al server master SaltStack, quindi aggiornare il sistema all'ultimo stato stabile:
sudo yum update -y && sudo reboot
Al termine del riavvio, utilizzare lo stesso utente sudo per accedere.
1.2 Installare e configurare il programma salt-master
Usa il repository YUM ufficiale SaltStack per installare l'ultimo programma salt-master:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm
sudo yum clean expire-cache
sudo yum install salt-master
Al termine dell'installazione, modificare il file di configurazione come di seguito:
sudo vi/etc/salt/master
Trova:
#interface: 0.0.0.0
Sostituisci la linea con:
interface: 10.99.0.10
Trova:
#hash_type: md5
Sostituisci la linea con:
hash_type: sha256
Salva ed esci:
:wq
Avviare e abilitare il servizio salt-master:
sudo systemctl start salt-master.service
sudo systemctl enable salt-master.service
1.3 Modifica delle regole del firewall
Per impostazione predefinita, il servizio salt-master utilizzerà le porte 4505 e 4506 per comunicare con i minion. È necessario consentire il traffico attraverso le due porte sul server principale.
Scopri a quale zona appartiene l'interfaccia eth1:
sudo firewall-cmd --get-active-zones
Scoprirai che l'interfaccia eth1 appartiene alla zona "pubblica". Pertanto, è necessario consentire il traffico attraverso le due porte nella zona "pubblica":
sudo firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
sudo firewall-cmd --reload
Questo è tutto ciò che deve essere fatto sul server principale per ora. È ora di configurare il server dell'agente SaltStack.
Passaggio 2: Operazioni sul server agente SaltStack
2.1 Aggiorna il sistema
Utilizzare l'utente sudo per accedere al server dell'agente SaltStack. Ancora una volta, aggiorna il sistema all'ultimo stato stabile:
sudo yum update -y && sudo reboot
Dopo il riavvio, utilizzare lo stesso utente sudo per accedere.
2.2 Installare e configurare il programma salt-minion
Usa il repository YUM SaltStack ufficiale per installare l'ultimo programma Salt-Minion:
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-2015.8-2.el7.noarch.rpm
sudo yum clean expire-cache
sudo yum install salt-minion
Dopo l'installazione, modifica il file di configurazione come di seguito:
sudo vi /etc/salt/minion
Trova:
#master: salt
Sostituisci la linea con:
master: 10.99.0.10
Trova:
#hash_type: sha256
Sostituisci la linea con:
hash_type: sha256
Salva ed esci:
:wq
Avviare e abilitare il servizio salt-minion:
sudo systemctl start salt-minion.service
sudo systemctl enable salt-minion.service
Dopo l'avvio, il servizio salt-minion invierà un segnale per trovare il server SaltStack.
Se si dispone di più server degli agenti SaltStack, è necessario configurarli nello stesso modo.
Passaggio 3: testare la configurazione sul server principale SaltStack
Tornare alla connessione SSH al server master SaltStack, immettere il comando seguente per mostrare tutti gli agenti disponibili:
sudo salt-key -L
Se tutto ha esito positivo, verrà visualizzato il server dell'agente "minion1" elencato nel segmento "Chiavi non accettate".
Accepted Keys:
Denied Keys:
Unaccepted Keys:
minion1
Rejected Keys:
Accetta "minion1" usando questo comando:
salt-key --accept=minion1
Oppure accetta tutti i server degli agenti:
salt-key -A
Infine, puoi testare la tua configurazione usando i comandi di esempio seguenti:
Esempio 1:
sudo salt minion1 test.ping
L'output mostra:
minion1:
True
Esempio 2:
sudo salt minion1 cmd.run pwd
L'output mostra:
minion1:
/root
Questo è tutto. Puoi saperne di più su SaltStack sul suo sito ufficiale. Divertirsi!