group_vars- och host_vars-kataloger
Organisera variabler efter värd och grupp
group_vars- och host_vars-kataloger är en gratis lektion i Ansible Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Ansible Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Ansible Academy innehåller totalt 4 lektioner.
Sluta hårdkoda variabler
Att gömma värden i playbooks blir snabbt rörigt. Ansible läser i stället automatiskt in variabler från katalogerna group_vars och host_vars. 🗂️
Så läser group_vars in variabler
En fil i group_vars som namnges efter en grupp tillämpas på alla värdar i gruppen, utan att någon manuell include behövs.
# group_vars/webservers.yml
http_port: 80
worker_processes: 4Gruppen all
En särskild fil, group_vars/all.yml, anger standardvärden för alla värdar i din inventory och passar perfekt för organisationsövergripande inställningar.
# group_vars/all.yml
timezone: UTC
ntp_server: pool.ntp.orgSå läser host_vars in variabler
Filer i host_vars namnges efter en enskild värd och gäller bara den värden, vilket passar bra för värdspecifika överstyrningar.
# host_vars/web01.example.com.yml
server_id: 1
backup_disk: /dev/sdbNamnet måste stämma
Filnamnet måste exakt motsvara grupp- eller värdnamnet exakt som det visas i inventory, annars hoppar Ansible tyst över inläsningen.
Filer eller kataloger
Varje post kan vara en enskild .yml-fil eller en katalog med många filer. Ansible slår samman alla filer i en katalog.
group_vars/
webservers/
network.yml
tuning.ymlHost går före grupp
När samma variabel finns i båda vinner host_vars wins over group_vars. Ett mer specifikt omfång åsidosätter alltid ett bredare.
Prioritet för undergrupper
Bland grupper åsidosätter en undergrupp sin överordnade grupp, så nästlade grupper ger skiktade och förutsägbara standardvärden.
Relativt till inventory
Ansible letar först efter dessa kataloger bredvid din inventory-fil och även bredvid den playbook som körs.
Referera till dem som vanligt
Inuti tasks använder du dessa variabler precis som alla andra, med syntaxen {{ }}. Källan är osynlig för tasken.
- name: Open the web port
debug:
msg: "Port is {{ http_port }}"Renare playbooks
När data ligger separat beskriver dina plays vad som ska göras, medan group_vars och host_vars innehåller de miljöspecifika värdena. 🎯
Snabb kontroll
En variabel anges både i group_vars och host_vars. Vilket värde vinner?
Sammanfattning
Du har lärt dig hur group_vars och host_vars läses in automatiskt utifrån namn, att host går före grupp och att undergrupp går före överordnad grupp. Lägg data separat och håll plays rena. ✅
Lär dig YAML med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”group_vars- och host_vars-kataloger” gratis?
Ja – hela texten till ”group_vars- och host_vars-kataloger” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Ansible Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Ansible Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”group_vars- och host_vars-kataloger”?
Organisera variabler efter värd och grupp Ni övar på Ansible Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Ansible Academy?
Du behöver inga förkunskaper. Utbildningen i Ansible Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”group_vars- och host_vars-kataloger”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Ansible Academy-lektionen?
Ja. Varje Ansible Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Den rekommenderade katalogstrukturen
- group_vars- och host_vars-kataloger
- Dela upp playbooks med import och include
- Namngivning, kommentarer och skalbar kodstil