ANSIBLE – HVORDAN MAN INDHENTER INFORMATION OM FJERNHOSER MED GATHERS FACTS (2017)

Gautier Franchini

Follow

14. november, 2020 – 2 min read

Med henblik på at gøre dette, vil vi diskutere om ansible-modulet: Gathers facts

💬 Officiel webside:

Vis fakta fra alle værter og gem dem på /tmp/facts indekseret efter værtsnavn

$ ansible all -m setup --tree /tmp/facts

➡ Tjek nu filen for at få et klart overblik over alle variabler (fakta) indsamlet af ansible for din vært som den velkendte {{ inventory_hostname }}

For at liste fakta direkte i din playbook skal du indstille gather_facts: True i din playbook

gather_facts: True tasks:
- debug: var=hostvars

få den aktuelle målværts IP-adresse og bruge den i din ansible-rolle eller playbook

Du kan bruge i din template.j2{{ ansible_eth0.ipv4.address }} på samme måde som du bruger {{ inventory_hostname }}

For at indstille værdien i din vars-fil

---
host_ip: "{{ ansible_enp0s3.ipv4.address }}"

brug case

➡ her er et eksempel: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Dette git-repository er ikke beregnet til at blive brugt i produktion, det er bare for at illustrere dette blogindlæg.

Jeg håber det vil hjælpe nogen en dag ッ

kr,
G.

opdatering: 2018-04-19

Du kan også bruge “setup” i din .yaml-fil.

f.eks. i mit nuværende use case skal jeg hente default ipv4 addr:

- name: Gather facts from new server
setup:
filter: ansible_default_ipv4.address

Du kan nu kalde {{ ansible_default_ipv4.address }} i din playbook.
(setup load all the ansible_** variables)

ℹ️ For dem der er interesseret i at lære mere med ansible anbefaler jeg denne hjemmeside: www.educba.com ; Jeg fandt informationen komplet og let at læse.