Capitolo 6 – Primo Playbook Reale: Setup Base Server
Dopo aver visto i comandi ad-hoc, è il momento di passare ai playbook, il cuore dell’automazione con Ansible.
Un playbook permette di definire lo stato desiderato dei server in modo dichiarativo e ripetibile.
6.1 Struttura di un Playbook
Un playbook è un file YAML composto da:
hosts→ gruppo di host targetbecome→ se abilitare l’escalation privilegitasks→ elenco di attività da eseguire
Esempio concettuale:
- name: Configurazione base server
hosts: all
become: true
tasks:
- name: Aggiornare cache pacchetti
apt:
update_cache: yes
6.2 Playbook Base
File: playbooks/base.yml
- name: Configurazione base server
hosts: all
become: true
tasks:
- name: Aggiornamento cache apt
apt:
update_cache: yes
when: ansible_os_family == "Debian"
- name: Installazione pacchetti base
package:
name:
- vim
- curl
- htop
- git
state: present
- name: Creazione utente deploy
user:
name: deploy
groups: sudo
append: yes
shell: /bin/bash
Spiegazione
when→ condizione per eseguire il taskpackage→ modulo cross-distribution per installare pacchettiuser→ modulo per creare utenti con gruppo e shell
6.3 Esecuzione del Playbook
Esecuzione base:
ansible-playbook playbooks/base.yml
Modalità di check (simulazione senza modifiche):
ansible-playbook playbooks/base.yml --check
Modalità verbose:
ansible-playbook playbooks/base.yml -vvv
6.4 Best Practice per Playbook
- Non usare shell se esiste modulo nativo
- Testare con
--checkprima di eseguire in produzione - Versionare i playbook con Git
- Separare ambienti (production, staging, dev)
- Usare variabili per parametri ripetuti
- Creare ruoli per componenti specifici (nginx, mysql, common)
6.5 Prossimi Passi
Dopo aver creato e testato il primo playbook:
- Strutturare progetti con ruoli
- Gestire variabili e segreti con
group_vars,host_varseansible-vault - Configurare playbook per deploy applicativi reali
- Implementare hardening base dei server
- Creare playbook modulari e riutilizzabili
Conclusione
Il primo playbook rappresenta il primo passo concreto verso l’automazione.
Da questo momento è possibile standardizzare setup, gestire pacchetti, utenti e configurazioni in modo ripetibile e sicuro.
Nei capitoli successivi approfondiremo la gestione di ruoli, variabili avanzate e segreti, e la strutturazione professionale di progetti Ansible.
No comments to display
No comments to display