defaults e vars: ordine delle sostituzioni
Progetti interfacce chiare per le variabili dei ruoli
defaults e vars: ordine delle sostituzioni è 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.
Due cartelle per le variabili
Un ruolo può definire variabili in due posizioni: defaults/main.yml e vars/main.yml. Sembrano simili, ma si comportano in modo molto diverso.
defaults è poco vincolante
I valori in defaults/main.yml hanno la precedenza più bassa. Sono indicazioni flessibili che quasi qualsiasi altra fonte può sovrascrivere.
# defaults/main.yml
http_port: 80
workers: 4vars è vincolante
I valori in vars/main.yml hanno una precedenza elevata. Sono decisioni vincolanti che il ruolo impone ed è difficile sovrascrivere.
# vars/main.yml
config_path: /etc/myappI defaults sono la Sua API pubblica
Metta in defaults tutto ciò che un utente potrebbe voler modificare. Il messaggio è: può cambiarlo liberamente. È così che si progetta un ruolo riutilizzabile e facile da usare.
vars sono costanti interne
Riservi vars ai valori necessari al funzionamento del ruolo che gli utenti non dovrebbero modificare, come un percorso interno o un nome di pacchetto fisso.
Sovrascrivere facilmente un default
Un utente può sovrascrivere un default da group_vars, host_vars, dal play o dalla riga di comando. La sovrascrittura più semplice ha effetto immediato.
roles:
- role: web
vars:
http_port: 8080Sovrascrivere un valore in vars è difficile
Le vars del ruolo hanno la precedenza su group_vars, host_vars e sulle variabili del play. Solo le extra-vars nella riga di comando le superano, quindi utilizzi vars con parsimonia.
Le extra-vars vincono sempre
Le variabili passate con -e dalla riga di comando superano ogni altra fonte, comprese le vars del ruolo. Sono la sovrascrittura definitiva.
ansible-playbook site.yml -e http_port=9090L'ordine da ricordare
Ricordi la gerarchia: defaults in fondo, poi le variabili dell'inventory e del play, quindi le vars del ruolo quasi in cima e infine le extra-vars al di sopra di tutto.
Consiglio di progettazione
Preferisca defaults per quasi tutto. Ricorra a vars solo quando un valore deve davvero rimanere bloccato. I ruoli flessibili rendono soddisfatti i team.
Documenti i Suoi defaults
Commenti ogni valore in defaults/main.yml. Poiché gli utenti li modificheranno, note chiare trasformano il ruolo in un'automazione autoesplicativa.
Controllo rapido
Consideri quale file un utente può sovrascrivere più facilmente.
Riepilogo
Utilizzi defaults per i valori configurabili che gli utenti possono sovrascrivere e vars per le costanti interne bloccate. Le extra-vars dalla CLI superano tutto. 🎚️
Domande Frequenti
La lezione «defaults e vars: ordine delle sostituzioni» è gratuita?
Sì — il testo completo di «defaults e vars: ordine delle sostituzioni» è 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 «defaults e vars: ordine delle sostituzioni»?
Progetti interfacce chiare per le variabili dei ruoli 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 «defaults e vars: ordine delle sostituzioni»?
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
- Dipendenze dei ruoli in meta/main.yml
- defaults e vars: ordine delle sostituzioni
- include_role e import_role a runtime
- allow_duplicates e idempotenza dei ruoli