ANSIBLE – WIE MAN INFORMATIONEN ÜBER FERNHÄUSER MIT GOTTES FACTS ERHÄLT (2017)

Gautier Franchini

Follow

Nov 14, 2020 – 2 min read

Um das zu tun, werden wir über das Modul ansible diskutieren: Gathers facts

💬 Offizielle Webseite:

Fakten von allen Hosts anzeigen und in /tmp/facts indiziert nach Hostname speichern

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

➡ nun die Datei überprüfen, um eine klare Sicht auf alle Variablen (Fakten) zu haben, die von ansible für deinen Host gesammelt wurden, wie die bekannte {{ inventory_hostname }}

Um die Fakten direkt in deinem Playbook aufzulisten, musst du gather_facts: True in deinem Playbook

gather_facts: True tasks:
- debug: var=hostvars

Die IP-Adresse des aktuellen Zielhosts abfragen und in deiner Ansible-Rolle oder deinem Playbook verwenden

Du kannst in deiner template.j2{{ ansible_eth0.ipv4.address }} die gleiche Art und Weise verwenden wie {{ inventory_hostname }}

Um den Wert in deiner vars-Datei zu setzen

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

verwende case

➡ hier ein Beispiel: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Dieses Git-Repository ist nicht für den Einsatz in der Produktion gedacht, sondern dient nur zur Veranschaulichung dieses Blogposts.

Ich hoffe, es hilft eines Tages jemandem ッ

kr,
G.

update: 2018-04-19

Du kannst auch „setup“ in deiner .yaml-Datei verwenden.

In meinem aktuellen Anwendungsfall brauche ich z.B. die default ipv4 addr:

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

Sie können nun {{ ansible_default_ipv4.address }} in Ihrem Playbook aufrufen.
(setup load all the ansible_** variables)

ℹ️ Für diejenigen, die daran interessiert sind, mehr über ansible zu erfahren, empfehle ich diese Website: www.educba.com ; Ich fand die Informationen vollständig und leicht zu lesen.