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
- For at liste fakta direkte i din playbook skal du indstille gather_facts: True i din playbook
- få den aktuelle målværts IP-adresse og bruge den i din ansible-rolle eller playbook
- For at indstille værdien i din vars-fil
- brug case
- opdatering: 2018-04-19
$ 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.