Una guida pratica da zero a uno per installare Ansible, organizzare i file di inventario, creare il tuo primo playbook YAML e orchestrare i task del server.
🔗 Related: Cheat Sheet base di Ansible · Cheat Sheet dei ruoli Ansible · Esempi di Ansible Playbook
Installazione
# macOS (Homebrew)
brew install ansible
# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible
# Python Pip (Universal)
pip install ansible
Vedi: Documentazione ufficiale di installazione di Ansible: Ansible Installation Docs
Configurazione del progetto
mkdir -p ~/ansible-setup
cd ~/ansible-setup
Crea una directory di lavoro dedicata per inventario, playbook e definizioni delle variabili.
File di configurazione
File di inventario (Inventory)
hosts
[webservers]
192.168.0.10
192.168.0.11
[databases]
192.168.0.20
[local]
localhost ansible_connection=local
Gli inventari definiscono i nodi di destinazione raggruppati logicamente. Puoi scegliere come target localhost con ansible_connection=local per testare l'automazione localmente senza SSH.
Vedi: Guida alla creazione dell'inventario in Ansible: Ansible How to build your inventory
Definizione del Playbook
playbook.yml
---
- name: Basic Server Provisioning
hosts: webservers
become: true
tasks:
- name: Update apt package cache
apt:
update_cache: yes
cache_valid_time: 3600
- name: Ensure Nginx is installed
apt:
name: nginx
state: present
- name: Start Nginx and enable on boot
service:
name: nginx
state: started
enabled: yes
- name: Create hello world banner
shell: echo "Managed by Ansible" > /tmp/motd.txt
Esecuzione
Validazione ed esecuzione
Verifica la connettività tramite un ping ad-hoc:
ansible -i hosts all -m ping
Esegui il playbook completo sul tuo inventario:
ansible-playbook -i hosts playbook.yml
Esecuzione di prova (Modalità Check)
Visualizza l'anteprima delle modifiche potenziali senza applicarle ai nodi remoti:
ansible-playbook -i hosts playbook.yml --check --diff