Ansible è uno strumento Infrastructure as Code che consente ai suoi utenti di controllare molti server da una posizione centralizzata. Il vantaggio dell'utilizzo di Ansible è che utilizza SSH insieme ai file YAML per la configurazione senza che sia necessario richiedere altre configurazioni. In questo tutorial descriverò come installare e configurare Ansible su un sistema Ubuntu 20.04.
Installazione di Ansible su Ubuntu
Per installare Ansible, usa il repository ufficiale di Ubuntu 20.04 nel tuo sistema. Apri la finestra del terminale usando Ctl+Alt+T collegamento o utilizzare Applicazioni-> Terminale. Successivamente, aggiorna il repository utilizzando:
$ sudo apt update
La cache del repository del pacchetto apt verrà quindi aggiornata. Ora installa Ansible usando:
$ sudo apt install ansible
Il sistema chiederà dopo un po', premere Y dalla tastiera, quindi premere il tasto Invio per continuare.
Ansible verrà quindi installato. Verifichiamo questo passaggio utilizzando:
$ ansible –versione
La versione installata verrà visualizzata in questo modo:
Genera una chiave SSH
Ora devi generare una chiave SSH sul tuo sistema in cui viene installato Ansible. Per generare la chiave, aggiungi il comando:
$ ssh-keygen
Una volta entrati nella finestra del terminale, premere il tasto Invio.
Premi di nuovo
Ora, di nuovo, devi premere il tasto
Non appena si preme invio, verrà visualizzato un output abbastanza simile a questo. Avrà una chiave SSH che verrà utilizzata nella prossima metà del tutorial.
Configurazione di host Ubuntu per automatizzare Ansible
Per automatizzare più di un host, è necessario ripetere la stessa procedura rispettivamente per ciascuno degli host. Tutti gli host Ubuntu (Ansible) che devono essere configurati devono avere il pacchetto SSH installato. Ora aggiorneremo il pacchetto apt usando:
$ sudo apt update
Gli aggiornamenti inizieranno in modo abbastanza simile a quello visualizzato di seguito:
Il passaggio successivo consiste nell'installare il server OpenSSH utilizzando:
$ sudo apt install openssh-server -y
Una volta terminato, è necessario controllare lo stato del servizio sshd. Usa il seguente comando per verificarlo:
$ sudo systemctl status sshd
L'output verrà visualizzato non appena si preme
Dopo aver verificato che il comando sshd funzioni correttamente e abilitato, puoi procedere. Se non è abilitato, avvialo manualmente utilizzando:
$ sudo systemctl start sshd
Ora, configuriamo il firewall per consentire l'accesso SSH utilizzando:
$ sudo ufw allow ssh
Apparirà un output simile a quello visualizzato di seguito:
Il passaggio successivo consiste nell'aggiungere un ansible utente e quindi consentire l'accesso senza password. Ora creeremo un utente ansible utilizzando:
$ sudo adduser ansible
Fornisci la password per ansible utente.
Successivamente, compila le informazioni pertinenti con tutti i campi disponibili.
Per configurare l'accesso sudo senza password, digita quanto segue nella finestra del terminale per il tuo utente ansible:
$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible
Esaminiamo l'indirizzo IP dell'host Ansible utilizzando:
$ hostname -I
L'host apparirà nell'output.
Ora, conosci il nome host, quindi copieremo la chiave pubblica SSH sull'host Ansible in questo modo:
$ ssh-copy-id [email protected]
Ora, digita Sì per procedere.
La chiave verrà copiata nell'host.
Per disabilitare l'accesso basato su password usa il comando:
$ sudo usermod -L ansible
Qui siamo in grado di accedere all'host Ansible senza alcuna password ed è pronto per l'automazione.
Test Ansible
Per testare Ansible dopo l'installazione e la configurazione, gli utenti devono creare una nuova directory di progetto. Usa il comando mkdir per farlo:
$ mkdir ~/ansible-demo
Una volta creata la nuova directory, devi accedervi utilizzando:
$ cd ~/ansible-demo/
Successivamente, crea un nuovo file host nella stessa directory del progetto utilizzando:
$nano hosts
Ansible utilizzerà gli host in questo file in SSH. Dopo aver aperto l'editor nano, digita l'indirizzo IP del tuo host, di cui desideri eseguire il ping.
Proviamo a eseguire il ping di tutti gli host utilizzando Ansible utilizzando:
$ ansible all -i ./hosts -u ansible -m ping
Vedrai un successo come questo visualizzato di seguito:
Disinstallazione di Ansible
Per disinstallare Ansible, usa il seguente comando nella finestra del terminale:
$ sudo apt remove ansible
Digita Y per procedere con il processo di disinstallazione.
In questo modo gli utenti possono rimuovere facilmente Ansible dal proprio sistema.
Conclusione
In questo articolo, abbiamo visto il processo di installazione di Ansible su un sistema Ubuntu 20.04 e come configurare e testare Ansible.