Ansible Academy · Lektion

group_vars & host_vars-mapper

Organisér variabler efter vært og gruppe.

Lektion 2 af 413 trin

group_vars & host_vars-mapper er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-kurset indeholder 4 lektioner i alt.

Stop med at indlejre variabler

Det bliver hurtigt rodet at gemme værdier direkte i playbooks. Ansible indlæser i stedet automatisk variabler fra mapperne group_vars og host_vars. 🗂️

Sådan indlæses group_vars

En fil i group_vars, der er opkaldt efter en gruppe, anvendes på alle værter i gruppen uden behov for manuel inkludering.

# group_vars/webservers.yml
http_port: 80
worker_processes: 4

Gruppen all

En særlig fil, group_vars/all.yml, angiver standardværdier for alle værter i dit inventory og er perfekt til organisationsdækkende indstillinger.

# group_vars/all.yml
timezone: UTC
ntp_server: pool.ntp.org

Sådan indlæses host_vars

Filer i host_vars opkaldes efter en enkelt vært og gælder kun for den maskine, hvilket er ideelt til serverspecifikke tilsidesættelser.

# host_vars/web01.example.com.yml
server_id: 1
backup_disk: /dev/sdb

Navnet skal matche

Filnavnet skal matche gruppens eller værtens navn præcis, som det står i inventory, ellers springer Ansible det stille over under indlæsningen.

Filer eller mapper

Hver post kan være en enkelt .yml-fil eller en mappe med mange filer. Ansible sammenfletter alle filer i en mappe.

group_vars/
  webservers/
    network.yml
    tuning.yml

Værter har forrang frem for grupper

Når den samme variabel findes begge steder, har host_vars forrang frem for group_vars. Et mere specifikt anvendelsesområde tilsidesætter altid det bredere.

Prioritet for undergrupper

Blandt grupper tilsidesætter en undergruppe sin overordnede gruppe, så indlejrede grupper giver dig lagdelte, forudsigelige standardværdier.

Relativt til inventory

Ansible leder først efter disse mapper ved siden af din inventory-fil og også ved siden af den playbook, der køres.

Referér til dem normalt

I opgaver bruger du disse variabler præcis som alle andre med syntaksen {{ }}. Kilden er usynlig for opgaven.

- name: Open the web port
  debug:
    msg: "Port is {{ http_port }}"

Renere playbooks

Når dataene er flyttet ud, beskriver dine plays hvad der skal gøres, mens group_vars og host_vars indeholder tallene for hvert miljø. 🎯

Hurtigt tjek

En variabel er angivet både i group_vars og host_vars. Hvilken værdi vinder?

Opsummering

Du har lært, hvordan group_vars og host_vars indlæses automatisk ud fra navnet, at værter har forrang frem for grupper, og at undergrupper har forrang frem for overordnede grupper. Flyt dataene ud, og hold dine plays rene. ✅

Gratis at komme i gang

Lær YAML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “group_vars & host_vars-mapper” gratis?

Ja — hele teksten til “group_vars & host_vars-mapper” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “group_vars & host_vars-mapper”?

Organisér variabler efter vært og gruppe. Du øver dig i Ansible Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Ansible Academy?

Der kræves ingen tidligere erfaring. Ansible Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “group_vars & host_vars-mapper”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Ansible Academy-lektion?

Ja. Alle Ansible Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Det anbefalede mappelayout
  2. group_vars & host_vars-mapper
  3. Opdeling af playbooks med import & include
  4. Navngivning, kommentarer & stil, der skalerer
← Tilbage til Ansible Academy