Ansible Academy · Lektion

group_vars- och host_vars-kataloger

Organisera variabler efter värd och grupp

Lektion 2 av 413 steg

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: 4

Gruppen 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.org

Så 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/sdb

Namnet 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.yml

Host 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. ✅

Gratis att börja

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

  1. Den rekommenderade katalogstrukturen
  2. group_vars- och host_vars-kataloger
  3. Dela upp playbooks med import och include
  4. Namngivning, kommentarer och skalbar kodstil
← Tillbaka till Ansible Academy