Ansible per chi gestisce pochi server: automatizzare senza diventare uno sviluppatore

Se ripeti a mano le stesse operazioni su più server, Ansible può farle per te in modo identico e documentato. Non servono agenti, basta SSH: i concetti di base, un primo playbook e le abitudini che ripagano.

Ansible per chi gestisce pochi server: automatizzare senza diventare uno sviluppatore

Ti è mai capitato di aggiornare a mano cinque server e scoprire una settimana dopo che su uno avevi dimenticato un pacchetto? Su due macchine certi lavori si fanno a mano senza problemi. Su dieci diventano lenti, e soprattutto pieni di piccole differenze che nessuno ricorda di aver introdotto.

Ansible nasce per questo. È uno strumento di automazione che esegue le stesse operazioni su molti sistemi in modo identico e lascia una traccia scritta di cosa è stato fatto. Per un piccolo ambiente ha un vantaggio decisivo: non richiede agenti. Si collega ai server via SSH, e sui sistemi gestiti basta Python, già presente nelle principali distribuzioni.

Quattro concetti e un file

L’inventario è l’elenco dei server, organizzati in gruppi come «web» o «database». I moduli sono le azioni disponibili: installare pacchetti, copiare file, gestire servizi e utenti. Un playbook dice, per ogni gruppo, quali compiti eseguire, e i ruoli raccolgono compiti, file e modelli riutilizzabili, come un ruolo per l’hardening di SSH. Le istruzioni si scrivono in YAML e descrivono lo stato desiderato, non i comandi da lanciare:

- hosts: web
  become: true
  tasks:
    - name: Aggiorna i pacchetti
      apt:
        upgrade: dist
        update_cache: true
    - name: Installa fail2ban
      apt:
        name: fail2ban
        state: present

Con ansible-playbook -i inventario.ini base.yml lo stesso lavoro gira su tutti i server del gruppo. Puoi rilanciarlo quante volte vuoi: Ansible cambia solo ciò che non è già nello stato richiesto. È la proprietà che chiamano idempotenza, e significa che il secondo giro non rompe ciò che il primo ha sistemato.

Abitudini che ripagano

Tieni playbook e inventario in un repository Git, così hai storico e documentazione gratis. Le password e le chiavi vanno in Ansible Vault, mai in chiaro nei file. Prima di applicare una modifica, provala con --check e --diff per vedere cosa cambierebbe.

Il modo giusto per cominciare è piccolo. Installa Ansible sul tuo computer, scrivi l’inventario e verifica la connessione con ansible all -m ping. Poi automatizza l’operazione che ripeti più spesso, e solo quella. Aggiungi un compito alla volta: fra qualche mese ti accorgerai che la configurazione dei tuoi server è descritta in un file, e non più nella tua memoria.

Condividi LinkedIn X Telegram

Continua a leggere