Directory group_vars e host_vars
Organizzi le variabili per host e gruppo
Directory group_vars e host_vars è una lezione Ansible Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ansible Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ansible Academy include 4 lezioni in totale.
Basta variabili hardcoded
Inserire valori direttamente nei playbook diventa rapidamente complicato. Ansible carica automaticamente le variabili dalle directory group_vars e host_vars. 🗂️
Come viene caricato group_vars
Un file in group_vars denominato secondo un gruppo viene applicato a ogni host di quel gruppo, senza bisogno di alcun include manuale.
# group_vars/webservers.yml
http_port: 80
worker_processes: 4Il gruppo all
Un file speciale, group_vars/all.yml, imposta i valori predefiniti per ogni host nell'inventory, una soluzione perfetta per le impostazioni dell'intera organizzazione.
# group_vars/all.yml
timezone: UTC
ntp_server: pool.ntp.orgCome viene caricato host_vars
I file in host_vars sono denominati secondo un singolo host e si applicano solo a quella macchina, una soluzione ideale per le sostituzioni specifiche del server.
# host_vars/web01.example.com.yml
server_id: 1
backup_disk: /dev/sdbIl nome deve corrispondere
Il nome del file deve corrispondere esattamente al nome del gruppo o dell'host così come compare nell'inventory, altrimenti Ansible ignora il file senza segnalarlo.
File o directory
Ogni elemento può essere un singolo file .yml oppure una directory contenente più file. Ansible unisce tutti i file presenti nella directory.
group_vars/
webservers/
network.yml
tuning.ymlhost prevale su group
Quando la stessa variabile compare in entrambe, host_vars prevale su group_vars. L'ambito più specifico ha sempre la precedenza su quello più ampio.
Precedenza dei gruppi figlio
Tra i gruppi, un gruppo figlio prevale sul relativo gruppo padre, consentendo ai gruppi annidati di fornire valori predefiniti stratificati e prevedibili.
Rispetto all'inventory
Ansible cerca innanzitutto queste directory accanto al file inventory, oltre che accanto al playbook in esecuzione.
Farvi riferimento normalmente
All'interno delle attività si utilizzano queste variabili esattamente come tutte le altre, con la sintassi {{ }}. La loro origine non è visibile all'attività.
- name: Open the web port
debug:
msg: "Port is {{ http_port }}"Playbook più ordinati
Con i dati esternalizzati, i play descrivono cosa fare, mentre group_vars e host_vars contengono i valori specifici di ciascun ambiente. 🎯
Verifica rapida
Una variabile è impostata sia in group_vars sia in host_vars. Quale valore prevale?
Riepilogo
È stato appreso come group_vars e host_vars vengano caricati automaticamente in base al nome, che host prevale su group e che il figlio prevale sul padre. Si esternalizzino i dati per mantenere ordinati i play. ✅
Impara YAML con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Directory group_vars e host_vars» è gratuita?
Sì — il testo completo di «Directory group_vars e host_vars» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ansible Academy, passa a CoddyKit PRO. Il corso Ansible Academy include 4 lezioni in totale.
Cosa imparerò in «Directory group_vars e host_vars»?
Organizzi le variabili per host e gruppo Eserciti Ansible Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ansible Academy?
Non è richiesta alcuna esperienza precedente. Ansible Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Directory group_vars e host_vars»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ansible Academy?
Sì. Ogni lezione Ansible Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- La struttura di directory consigliata
- Directory group_vars e host_vars
- Suddividere i playbook con import e include
- Nomi, commenti e stile scalabili