ANSIBLE – JAK ZBIERAĆ INFORMACJE O ZDALNYCH HOSTACH Z GATUNKAMI FAKTÓW (2017)

Gautier Franchini

Follow

Nov 14,

W tym celu, porozmawiamy o module ansible: Gathers facts

💬 Official webpage:

Display facts from all hosts and store them at /tmp/facts indexed by hostname

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

➡ teraz sprawdź ten plik, aby mieć jasny widok wszystkich zmiennych (faktów) zebranych przez ansible dla twojego hosta jak dobrze znany {{ inventory_hostname }}

Aby wymienić fakt bezpośrednio w twoim playbooku musisz ustawić gather_facts: True w swoim playbooku

gather_facts: True tasks:
- debug: var=hostvars

uzyskaj bieżący adres IP hosta docelowego i użyj go w swojej roli ansible lub playbooku

Możesz użyć w swoim szablonie.j2{{ ansible_eth0.ipv4.address }} w ten sam sposób, w jaki używasz {{ inventory_hostname }}

Aby ustawić wartość w swoim pliku vars

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

użyj case

➡ oto przykład: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ To repozytorium git nie jest przeznaczone do użycia w produkcji, to tylko w celu zilustrowania tego wpisu na blogu.

Mam nadzieję, że to pomoże komuś pewnego dnia ッ

kr,
G.

update: 2018-04-19

Możesz również użyć „setup” w swoim pliku .yaml file.

e.g. W moim obecnym przypadku użycia, potrzebuję uzyskać default ipv4 addr:

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

Możesz teraz wywołać {{ ansible_default_ipv4.address }} w swoim playbooku.
(setup załaduj wszystkie zmienne ansible_**)

ℹ️ Dla tych, którzy są zainteresowani, aby dowiedzieć się więcej z ansible polecam tę stronę: www.educba.com ; Znalazłem informacje kompletne i łatwe do odczytania.