Ansible – Introduzione & Installazione

In questo articolo affronteremo i seguenti temi:

Ansible Part 1

Tra i tool di automazione e di configuration management, Ansible sta velocemente affermandosi per la sua semplicità per la sua ampia compatibilità con ambienti cloud, ibridi e non solo. Inoltre, la sua architettura agentless lo rende particolarmente accattivante. Ansible offre la possibilità di automatizzare diversi tasks e riducendo di gran lunga errori umani e trattando l’intera infrastruttura come se fosse codice (come già spiegato in “Perché adottare Infrastructure as Code?”)

In questa serie di articoli vedremo come installare Ansible, creare un file di configurazione basilare e creare un account con cui collegarci in ssh.

Requirements

Ansible lancia l’automazione su una macchina (control node) e la lancia verso alcuni nodi o hosts.
Possiamo dividere i requirements in due macrocategorie:

– Requirements per il control node
– Requirements per i managed nodes

Sul control node è necessario avere un OS UNIX-like (es. Red Hat, Debian, Ubuntu, macOS, etc…) – infatti sulle macchine Windows non è possibile installare ansible a meno che non si disponga di una distribuzione WSL. Oltre ad un OS UNIX-like è necessario avere installato python.

Sui managed nodes, invece, abbiamo bisogno di Python e la connessione SSH abilitata. Quindi ovviamente abbiamo bisogno delle credenziali (una chiave SSH o eventualmente username e password) ed anche eventuale indirizzo IP o il FQDN qualora avessimo implementato una risoluzione dei nomi.

Installazione di Ansible

Per l’installazione possiamo procedere in diverso modo, ad ogni modo seguiremo il metodo raccomandato dalla documentazione ufficiale – utilizzeremo PIP (Python Package Index).

Verifichiamo innanzi tutto di avere a disposizione pip e lo possiamo fare semplicemente con il comando python3 -m pip -V.

Se otteniamo un output simile a quello nella figura precedente vuol dire che non abbiamo pip sul nostro sistema. Per installarlo possiamo dare i seguenti comandi:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python3 get-pip.py –user

Una volta dati i comandi, installeremo il tutto ed avremo a nostra disposizione pip.

Installiamo ora l’ultima versione di Ansible per l’utente in uso e per farlo usiamo il seguente comando:

python3 -m pip install –user ansible

Vedremo un output con una barra di progresso ed infine se tutto sarà andato a buon fine vedremo qualcosa del genere.

Come è possibile notare i binari disponibili non sono attualmente richiamabili e per questo dobbiamo inserire il PATH all’interno del file .bashrc, cosa che possiamo fare molto facilmente con il seguente comando:

echo ‘export PATH=$PATH:/home/<NOME_UTENTE>/.local/bin’ >> ~/.bashrc

Per poi far rileggere il file .bashrc con il comando source ~/.bashrc.

A questo punto possiamo verificare che tutto sia andato a buon fine con il seguente comando:

ansible –-version

L’output, come è possibile vedere,  ci darà la versione installata di Ansible.

Notiamo che che il percorso del config file è settato su “None“.

Nel prossimo articolo vedremo come creare un file di configurazione ansible.cfg e creare un account di servizio. Se desiderate approfondire la vostra conoscenza di questo indispensabile strumento, sentitevi liberi di dare un’occhiata al nostro corso dedicato ad Ansible!