Brug ansible_facts i tasks
Forgren ud fra facts om operativsystem, memory og IP.
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 > 2048Nå 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. ✨
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
- Hvad facts er, og hvorfor de er vigtige
- Udforsk facts med setup-modulet
- Brug ansible_facts i tasks
- Deaktivér fact-indsamling for hastighed