Intensiv DevOps-uddannelse · Lektion

Brug ansible_facts i tasks

Forgren ud fra facts om operativsystem, memory og IP.

Lektion 3 af 413 trin

Brug ansible_facts i tasks er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Fra data til beslutninger

Indsamlede fakta er kun nyttige, hvis du handler på dem. Nu henter du værdier fra ansible_facts direkte ind i dine opgaver. 🌟

Referér til et faktum

Brug den samme {{ }}-syntaks som til enhver anden variabel. Skriv navnet på det faktum, du vil bruge, inden i klammerne, f.eks. værtens distribution.

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

Du kan også bruge ordbogsadgang

Du kan også læse fakta gennem ordbogen ansible_facts med nøgler i kantede parenteser. Begge skrivemåder peger på de samme data.

{{ ansible_facts['distribution'] }}

Forgren efter operativsystemet

Kombinér et faktum med when for kun at køre en opgave på matchende værter, f.eks. kun at installere en pakke på Debian-systemer.

when: ansible_os_family == "Debian"

Vælg den rigtige pakke

Fakta lader én opgave betjene mange distributioner. Vælg apache2 eller httpd ud fra operativsystemets familie i stedet for at skrive to playbooks.

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

Brug numeriske fakta

Fakta som ansible_memtotal_mb er tal, så du kan sammenligne dem og springe arbejde over på værter, der er for små.

when: ansible_memtotal_mb > 2048

Nå indlejrede værdier

For indlejrede fakta skal du kæde nøglerne sammen med punktummer. Den normale IPv4-adresse ligger under ansible_default_ipv4 og derefter address.

{{ ansible_default_ipv4.address }}

Fakta i skabeloner

De samme faktanavne fungerer i Jinja2-skabeloner. Indsæt en værts hostname eller IP-adresse direkte i en genereret konfigurationsfil.

server_name {{ ansible_hostname }};

Gennemløb lister af fakta

Nogle fakta er lister, f.eks. ansible_interfaces. Du kan gennemløbe dem for at udføre handlinger på hver netværksgrænseflade, værten har.

loop: "{{ ansible_interfaces }}"

Bekræft før du stoler på det

Er du ikke sikker på et faktums nøjagtige værdi? Udskriv den først med debug, og byg derefter den logik, der afhænger af den.

- debug:
    var: ansible_distribution_version

Én playbook, mange værter

Fordi fakta gælder pr. vært, får faktabaserede opgaver én playbook til at fungere korrekt på tværs af en blandet samling maskiner.

Hurtigt tjek

Hvordan ville du kun køre en opgave på værter fra Debian-familien?

Opsummering

Du læste fakta med {{ }}, forgrenede med when, hentede indlejrede værdier og gennemløb lister af fakta for at gøre opgaver tilpasningsdygtige. ✨

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse 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
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Brug ansible_facts i tasks” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Brug ansible_facts i tasks”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Brug ansible_facts i tasks”?

Forgren ud fra facts om operativsystem, memory og IP. Du øver dig i Intensiv DevOps-uddannelse 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å Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse 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 3 af 4.

Hvor lang tid tager lektionen “Brug ansible_facts i tasks”?

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 Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-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. Hvad facts er, og hvorfor de er vigtige
  2. Udforsk facts med setup-modulet
  3. Brug ansible_facts i tasks
  4. Deaktivér fact-indsamling for hastighed
← Tilbage til Intensiv DevOps-uddannelse