ANSIBILITATE – CUM SĂ COLECTĂM INFORMAȚII DESPRE HOSTELE REMOTE CU FAPTE DE GÂNDURI (2017)

Gautier Franchini

Follow

Nov 14, 2020 – 2 min read

.

Pentru a face acest lucru, vom discuta despre modulul ansible: Gathers facts

💬 Pagina web oficială:

Afișează faptele de la toate gazdele și stochează-le în /tmp/facts indexate după numele gazdei

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

➡ acum verificați fișierul pentru a avea o vedere clară asupra tuturor variabilelor (faptelor) colectate de ansible pentru gazda dvs. ca și binecunoscutul {{ inventory_hostname }}

Pentru a lista faptele direct în playbook-ul dvs. trebuie să setați gather_facts: True în playbook-ul dumneavoastră

gather_facts: True tasks:
- debug: var=hostvars

obțineți adresa IP a gazdei țintă actuale și folosiți-o în rolul ansible sau în playbook-ul dumneavoastră

Puteți folosi în șablonul dumneavoastră.j2{{ ansible_eth0.ipv4.address }} în același mod în care folosiți {{ inventory_hostname }}

Pentru a seta valoarea în fișierul dumneavoastră vars

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

utilizați case

➡ iată un exemplu: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Acest depozit git nu este menit să fie folosit în producție, este doar pentru a ilustra acest articol de blog.

Sper că va ajuta pe cineva într-o zi ッ

kr,
G.

actualizare: 2018-04-19

De asemenea, puteți folosi „setup” în .yaml file.

e.g. În cazul meu actual de utilizare, am nevoie să obțin default ipv4 addr:

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

Acum puteți apela {{ ansible_default_ipv4.address }} în playbook-ul dumneavoastră.
(setup load all the ansible_** variables)

ℹ️ Pentru cei care sunt interesați să învețe mai mult cu ansible recomand acest site: www.educba.com ; am găsit informațiile complete și ușor de citit.