Mahdolliset faktat

mahdolliset faktat

mahdolliset faktat

johdatus mahdollisiin faktoihin

mahdolliset faktat ovat etäkoneiden tietoja, jotka mahdollinen ohjain kerää. Nämä tiedot tallennetaan ennalta määritettyihin muuttujiin ohjaussolmussa ja koko joukko näitä tietoja laaditaan JSON-muodossa. Tämä on erittäin tärkeä ominaisuus, koska voimme tehdä päätöksiä siitä, mikä tehtävä on suorittaa minkä etäkoneen perusteella näiden tosiasioiden.

myös reaaliaikaisilla tiedoilla pelattaessa on hyödyllistä hakea nämä faktat ja käyttää niitä pelikirjoissa muuttujina. Nämä tiedot voivat olla isäntänimi, IP-osoite, mac-osoite, asennettuun käyttöjärjestelmään liittyvät tiedot, koneen nykyinen tila jne.

Aloita vapaan ohjelmistokehityksen kurssi

Web development, programming languages, Software testing & muut

selittävät mahdolliset faktat

mahdolliset faktat kootaan setup-moduulilla, joka pyörii taustalla joka kerta. Mutta tämä voidaan kytkeä pois käytöstä mainitsemalla gather_facts: no pelikirjassa. Voimme ajaa setup moduuli ja rekisteröidä lähtö muuttuja, koko joukko tietoja on JSON muodossa, jos tarvitset pala tietoa tästä joukosta, voit ottaa sen erilleen ja käyttää tätä kappaletta vain.

kauko-isännistä koottu faktakokonaisuus voidaan jakaa kolmeen kategoriaan:

  • luettelo: Tämä on asialuettelo. Tämä voi olla luettelo rajapinnoista jne. Listojen sisällä olevat tiedot on sijoitettu hakasulkeisiin .
  • sanakirja: Tämä on avainparin arvojen kokoelma, sanakirjan sisällä oleva tieto on sijoitettu kiharasulkuihin {}.
  • vaarallinen teksti: joka on muuttuja, jolla on arvo, eikä

ole alalukua pieni pätkä kootuista faktoista on alla. Täällä näet, tiedot kauko-isäntä kerätään ja sijoitetaan muuttujia kuten ansible_all_ipv4_addresses muuttuja, joka saa kaikki IPv4 osoitteet.

huomaa myös, että jotkut faktat sisältävät arvoja kuten ansible_all_ipv4_addresses, mikä tarkoittaa, että se on luettelo, jotkut muuttujat kuten ansible_apparmor on tietoa {} , mikä tarkoittaa, että se on sanakirja ja jotkut yksinkertaisesti laittaa arvot jälkeen kaksoispiste (:) kuten ansible_architecture mikä tarkoittaa, että se on mahdollinen vaarallinen tekstiluokka.

ansible host-one –m setup

Ansable Facts output 1

Ansable Facts output 1

saadaksesi faktakategorian käytä suodatintyyppiä_debug, joka kertoo, onko muuttuja/tosiasia on luettelo, sanakirja, tai mahdollinen vaarallinen teksti. Voit tarkistaa tämän luomalla playbook kuten alla:

---
- hosts:
all
tasks:
- set_fact:
check_category: "{{ ansible_hostname|type_debug }}"
- debug:
msg: 'Variable "ansible_hostname" with value "{{ ansible_hostname }}" have category "{{ check_category }}"'

suorita se sitten, saat tulosteen kuten alla, jossa näet faktaluokan ansible_hostname

ansible-playbook ansible_fact_category_check.yaml

Ansible Facts output 2

ansable facts output 2

How facts done in oppable?

mahdolliset faktat noudetaan etäpalvelimilta käyttäen määritysmoduulia, joka toimii automaattisesti joka kerta, jos sitä ei ole poistettu käytöstä. Tämä voidaan tehdä ajamalla asetusmoduuli komentorivillä adhoc-menetelmällä tai oletusarvoisesti PlayBookissa.

Ad hoc-menetelmä

Suorita komennon alapuolella oleva Komentosolmu, jotta saat kaikki saatavilla olevat faktat.

ansible host-one -m setup

myös sama on mahdollista ajamalla alle adhoc-komennon.

ansible all -m gather_facts --tree /tmp/facts

myös, jos tarvitsee näyttää vain tietty fakta, niin voi käyttää kuten alla:

ansible host-two -m setup -a "filter=ansible_mounts"

tuotos on pitkä JSON-muodossa. Kuten alla.

Ansible Facts output 3

Ansable Facts output 3

Playbook method

Jos sinulla on alla oleva pelikirja, jossa ei ole mainittu asetusmoduulia.

---
- hosts:
all
tasks:
- debug:
var: ansible_architecture

sen juoksemisen jälkeen. Vuonna lähtö, näet, että saamme muuttujan ansible_architecture arvo.

ansible-playbook ansible_fact.yaml

Ansable Facts output 4

Ansable Facts output 4

But if you mention gather_facts: no like below.

---
- hosts: all
gather_facts:
no tasks:
debug:
var: ansible_architecture

silloin tulosteessa näkyy muuttuja ansible_architecture määrittelemättömänä.

ansible-playbook ansible_fact.yaml

Ansible Facts output 5

Ansible Facts output 5

Examples of Ansible Facts

nyt esimerkkien avulla, yritämme oppia mahdollisista tosiasioista, joita saatat joutua käyttämään päivittäisessä toiminnassa. Otamme joitakin esimerkkejä, mutta ennen sinne menoa ymmärrämme ensin laboratoriomme, jota käytetään testaustarkoituksiin.

Tässä Meillä on Ansible control server nimeltään ansable-controller ja kaksi kaukosäädintä host – one ja host-two. Luomme pelikirjoja ja suoritamme mahdollisia komentoja ja hallitsemme käyttäjiä etäosastoilla. Alla on muutamia ad hoc-komentoja, jotka ovat helppokäyttöisiä, mutta eivät uudelleenkäytettäviä kuten playbookit.

faktan saamiseksi suodattimella ja setupilla:

ansible all -m setup -a "filter=ansible_distribution"

tuloste on kuin alla:

ansible all -m setup -a "filter=ansible_distribution"

lähtö 6

lähtö 6

saada kaikki avainsanaan liittyvät faktat, kuten prosessori, muisti, tuote jne. Voimme käyttää jokerimerkkejä kuten alla: –

ansible all -m setup -a "filter=ansible_processor*"

lähtö on kuin alla:

lähtö 7

lähtö 7

voit käyttää gather_subset-toimintoa saadaksesi vain aiheeseen liittyviä faktoja. Osajoukon nimi voi olla kaikki, min, laitteisto, verkko, virtuaalinen, ohai ja tekijä. Jos huutomerkki (!) on laittaa alkuperäisen osajoukko, sitten, että osajoukko n tosiasiat ei haeta. Kuten alla olevassa esimerkissä, jossa haemme vain virtuaalinen osajoukko liittyvät tosiasiat ja käyttämällä !kaikki !min, emme salli edes oletus minimitiedot.

ansible host-one -m setup -a 'gather_subset=virtual,!all,!min'

lähtö on kuin alla:

output 8

output 8

alla olevassa esimerkissä käytämme ehtoa, jossa tarkistamme fakta-arvon etäosastoilla, ja tämän arvon perusteella ehtomme mahdollistaa tehtävien suorittamisen.

tässä haluamme luoda tiedoston vain host-Onelle, joten tarkistamme mahdollisia faktoja käyttäen, että jos ansible_hostname on arvo yhtä suuri kuin host-one. Jos tämä on totta, tiedosto luodaan ja muille etäpalvelimille toiminto ohitetaan.

---
hosts:
all
tasks:
name: When hostname is host-one, create a file named example.ini under /tmp file:
path:
/tmp/example.ini
state: touch
when: ansible_hostname == "host-one"
name: This is under debug to ensure it was checked on all remote hosts debug:
msg: Hostname is "{{ ansible_hostname }}"

tuotos on kuin alla:

ansible-playbook ansible_fact_condition.yaml

output 9

output 9

Conclusion

Ansible fact on hyödyllinen työkalu. Mikä toimii ja auttaa sinua keräämään tietoja etäpalvelimiltasi? Mutta saatat tunnustaa, että jos sinulla on paljon isäntiä, joita on mahdollista hallita, faktojen kerääminen ja näiden tosiasioiden käyttämättä jättäminen vain lisää taakkaa kaistanleveydellesi ja käsittelykapasiteetillesi. Joten parempi analyysi ensin, että tarvitaanko faktoja vai ei ja sitten käytetään näitä sen mukaisesti.

suositellut artikkelit

Tämä on opas mahdollisiin faktoihin. Tässä me tarkastelemme sitä, miten tosiasiat tehdään mahdollisine selityksineen ja vastaavien esimerkkien kanssa paremman ymmärryksen saamiseksi. Voit myös katsoa seuraavia artikkeleita oppiaksesi lisää –

  1. Ansable Vault
  2. Ansable Tags
  3. Ansable Loop
  4. What is Oppable?
1 osaketta

Vastaa

Sähköpostiosoitettasi ei julkaista.