DevOps-bootcamp · leksjon

Bruke ansible_facts i oppgaver

Velg gren basert på facts om operativsystem, minne og IP.

Leksjon 3 av 413 trinn

Bruke ansible_facts i oppgaver er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Fra data til beslutninger

Innsamlede facts er bare nyttige hvis du bruker dem. Nå skal du hente verdier fra ansible_facts direkte inn i oppgavene dine. 🌟

Referer til et fact

Bruk samme {{ }}-syntaks som for enhver variabel. Inne i klammeparentesene angir du factet du vil ha, for eksempel vertens distribution.

- debug:
    msg: "OS is {{ ansible_distribution }}"

Du kan også bruke ordboktilgang

Du kan også lese facts gjennom ordboken ansible_facts med nøkler i hakeparenteser. Begge stilene peker på de samme dataene.

{{ ansible_facts['distribution'] }}

Velg gren basert på operativsystemet

Kombiner et fact med when for å kjøre en oppgave bare på verter som passer, for eksempel å installere en pakke bare på Debian-systemer.

when: ansible_os_family == "Debian"

Velg riktig pakke

Facts gjør at én oppgave kan fungere med mange distribusjoner. Velg apache2 eller httpd basert på OS-familien i stedet for å skrive to playbooks.

name: "{{ 'apache2' if ansible_os_family == 'Debian' else 'httpd' }}"

Bruk numeriske facts

Facts som ansible_memtotal_mb er tall, så du kan sammenligne dem og hoppe over arbeid på verter som er for små.

when: ansible_memtotal_mb > 2048

Få tilgang til nestede verdier

For nestede facts kobler du nøklene sammen med punktum. IPv4-adressen som er standard, ligger under ansible_default_ipv4 og deretter address.

{{ ansible_default_ipv4.address }}

Facts i maler

De samme fact-navnene fungerer i Jinja2-maler. Sett inn vertens hostname eller IP direkte i en generert konfigurasjonsfil.

server_name {{ ansible_hostname }};

Gå gjennom facts som lister

Noen facts er lister, for eksempel ansible_interfaces. Du kan gå gjennom dem for å utføre noe på hvert nettverksgrensesnitt en vert har.

loop: "{{ ansible_interfaces }}"

Bekreft før du stoler på det

Usikker på et facts nøyaktige verdi? Skriv den først ut med debug, og bygg deretter logikken som avhenger av den.

- debug:
    var: ansible_distribution_version

Ett playbook, mange verter

Fordi facts gjelder per vert, gjør faktadrevne oppgaver at ett playbook oppfører seg riktig på tvers av en blandet maskinpark.

Hurtigsjekk

Hvordan kjører du en oppgave bare på verter i Debian-familien?

Oppsummering

Du leste facts med {{ }}, valgte grener med when, hentet nestede verdier og gikk gjennom facts som lister for å gjøre oppgavene tilpasningsdyktige. ✨

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Bruke ansible_facts i oppgaver» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Bruke ansible_facts i oppgaver», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bruke ansible_facts i oppgaver»?

Velg gren basert på facts om operativsystem, minne og IP. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Bruke ansible_facts i oppgaver»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hva facts er, og hvorfor de er viktige
  2. Utforske facts med setup-modulen
  3. Bruke ansible_facts i oppgaver
  4. Deaktivere fact-innsamling for hastighet
← Tilbake til DevOps-bootcamp