Om dit te doen, zullen we het hebben over ansible-module: Gathers facts
💬 Officiële webpagina:
- Ontdek feiten van alle hosts en sla ze op in /tmp/facts geïndexeerd op hostnaam
- Om de feiten direct in uw playbook op te nemen, moet u gather_facts: True in uw playbook
- het IP-adres van de huidige doelhost ophalen en gebruiken in uw ansible role of playbook
- Om de waarde in uw vars file
- te zetten gebruikt u case
- update: 2018-04-19
Ontdek feiten van alle hosts en sla ze op in /tmp/facts geïndexeerd op hostnaam
$ ansible all -m setup --tree /tmp/facts
➡ Controleer nu het bestand om een duidelijk beeld te krijgen van alle variabelen (feiten) die ansible voor uw host heeft verzameld, zoals de bekende {{ inventory_hostname }}
Om de feiten direct in uw playbook op te nemen, moet u gather_facts: True in uw playbook
gather_facts: True tasks:
- debug: var=hostvars
het IP-adres van de huidige doelhost ophalen en gebruiken in uw ansible role of playbook
U kunt in uw template.j2{{ ansible_eth0.ipv4.address }}
op dezelfde manier {{ inventory_hostname }}
Om de waarde in uw vars file
---
host_ip: "{{ ansible_enp0s3.ipv4.address }}"
te zetten gebruikt u case
➡ hier is een voorbeeld: https://github.com/orsius/ansible-dtx-cassandra-3
⚠ Deze git repository is niet bedoeld om in productie te worden gebruikt, maar dient slechts ter illustratie van deze blogpost.
Ik hoop dat het ooit iemand zal helpen ッ
kr,
G.
update: 2018-04-19
Je kunt ook “setup” gebruiken in je .yaml bestand.
Bijv. In mijn huidige use case moet ik de default ipv4 addr
:
- name: Gather facts from new server
setup:
filter: ansible_default_ipv4.address
Je kunt nu {{ ansible_default_ipv4.address }}
aanroepen in je playbook.
(setup laadt alle ansible_** variabelen)
ℹ️ Voor degenen die geïnteresseerd zijn om meer te leren met ansible raad ik deze website aan: www.educba.com ; Ik vond de informatie compleet en makkelijk te lezen.