Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



Pomocou jednej z najnovších techník správy, Ansible, predstavujeme, ako uvádzame každého monitorovaného hostiteľa v zariadení. V Ansible používame doplnok „inventár“ na zoznam všetkých hostiteľov v sieti.

Je dôležité mať zoznam všetkých vašich hostiteľských strojov v Ansible. Udržiavanie usporiadaného súboru inventára je rovnako dôležité ako udržiavanie príručiek alebo úloh, pretože sa neustále ocitnete v stave neistoty a budete sa s niekoľkými obavami pýtať, či je váš súbor inventára nesprávne spravovaný. Okrem vyššie uvedeného, ​​definícia požadovaných premenných v inventárnom súbore minimalizuje obsah úlohy v príručkách a urýchľuje interpretácie. Existuje skupina premenných, ktoré možno deklarovať vo vašich príručkách aj v súboroch inventára Ansible, ktoré sú zodpovedné za pripojenie a konfiguráciu správania pripojenia k hostiteľskému počítaču.







Predpoklady:

Pred implementáciou príkazu zoznamu hostiteľov v Ansible sú uvedené požiadavky:



  • Na začatie implementácie potrebujeme najskôr softvér, ktorý sa používa na konfiguráciu Ansible, ktorý je nainštalovaný na serverovom zariadení s najnovšou verziou. Ansible musí byť nakonfigurovaný tak, aby sme mohli jednoducho uviesť všetky hostiteľské počítače v našej sieti.
  • Na vykonanie akejkoľvek konfiguračnej úlohy v Ansible potrebujeme hlavného konfiguračného manažéra. V tomto návode používame server radiča ako hlavný ovládač.
  • Na implementáciu akýchkoľvek zmien sa musíme zamerať na hostiteľské servery v návode na inventár zoznamu hostiteľov. Tu máme dvoch cieľových vzdialených hostiteľov.

Príklad: Inventár zoznamu hostiteľov v počítači

Tu je príklad, ktorý implementujeme v nástroji Ansible na kontrolu alebo definovanie inventára zoznamu hostiteľov. Za týmto účelom urobíme tento príklad v rôznych krokoch, aby sme ľahko porozumeli fungovaniu a implementácii tohto návodu. Nasledujú kroky:



Krok 1: Skontrolujte zoznam predvolených hostiteľských zoznamov v cieľovom vzdialenom hostiteľskom zariadení





Najprv skontrolujeme, koľko hostiteľov je v inventári nástroja Ansible. Na tento účel používame príkaz „ansible“ s „—list-hosts“, aby sme mohli zobraziť predvolené obsluhované uzly v inventári.

[ koreň @ majster ansible ] # ansible all --list-hosts



Tu je výstup po napísaní predchádzajúceho príkazu:

Terminál Ansible zobrazuje „0 hostiteľov“, ako môžete vidieť v poskytnutej odpovedi, pretože sme nedeklarovali inventár. Vygenerujeme inventár, aby sme zobrazili inventár hostiteľa v termináli predtým, ako to vyriešime.

Predvolený inventár:

Keď nainštalujeme Ansible do softvéru, Ansible vytvorí súbor inventára, ktorý sa nájde napísaním nasledujúceho príkazu do terminálu:

[ koreň @ majster ansible ] # sudo nano /etc/ansible/hosts

Výsledok sa vygeneruje, keď napíšeme predchádzajúci výrok. Potom vás požiada o zadanie hesla:

Na tejto snímke predvolený súbor Ansible hosts poskytuje informácie týkajúce sa nezoskupených hostiteľov a hostiteľov skupín webových serverov. Títo hostitelia zahŕňajú adresy URL a rôzne adresy IP.

Krok 2: Definujte vlastný inventár v Ansible

V Ansible môžeme tiež definovať náš inventár napísaním viacerých výpisov v termináli Ansible. Definovanie inventára pri spúšťaní príkazov a playbookov je múdre rozhodnutie, ktoré zabraňuje konfliktom hostiteľov a zlyhaniu pri pripájaní sa k hostiteľom.

Aby sme mohli začať samostatne definovať inventár, najprv napíšeme nasledujúce vyhlásenie, aby sme mohli zostaviť inventár v Ansible a uviesť v ňom hostiteľov, aby sme vytvorili spojenie medzi ovládačom Ansible a cieľovými vzdialenými hostiteľmi.

[ koreň @ majster ansible ] # nano hosts.yml

Po napísaní predchádzajúceho výpisu sa inventár vytvorí a spustí v novom termináli Ansible s názvom „hosts.yml“. Ďalej uvádzame cieľových hostiteľov po jednom v inventári. Úplne prvý hostiteľ, s ktorým sa spojíme, je hostiteľ Linuxu. Poskytujeme IP adresu hostiteľa Linuxu, používateľa Ansible, heslo Ansible, typ pripojenia a číslo portu Ansible. To isté robíme aj s druhým cieľovým hostiteľom. Druhý hostiteľ, ktorý používame, je hostiteľ Ansible. Všetci hostitelia, ktorých sme uviedli, sú v inventári pod parametrom Ansible.

Ansible:
hostitelia:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: root
ansible_password: tpstps_22
ansible_connection: ssh
ansible_port: 22

Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: dúhovka
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22

Po vytvorení súboru inventára a poskytnutí hostiteľov v ňom teraz ukončíme súbor inventára a vrátime sa späť do hlavného terminálu Ansible.

Krok 3: Vytvorte Playbook v Ansible

Ďalej si vytvoríme playbook v nástroji Ansible tak, aby sme zadefinovali úlohy. Za týmto účelom napíšeme nasledujúci príkaz do hlavného terminálu Ansible:

[ koreň @ majster ansible ] # nano ansible_advanced_inventory.yml

Teraz je príručka spustená v novom termináli. Najprv napíšeme názov zošita. V ďalšom riadku uvádzame cieľového hostiteľa. Používame možnosť zhromažďovať fakty, ktorá sa používa na získanie všetkých informácií o hostiteľoch. Tu však prejdeme „nie“, čo znamená, že nechceme získať všetky údaje hostiteľov.

Ďalej uvádzame zoznam úloh v zošite. Prvá úloha sa používa na zobrazenie cieľového hostiteľa s názvom hostiteľa. V ďalšej úlohe vytlačíme výsledky hostiteľa.

- názov: Rozšírený inventár hostiteľov Ansible
hostitelia: Ansible [ 0 ]
zhromaždiť_fakty: nie
úlohy:

- meno: Get meno hosťa riadeného uzla
škrupina: 'meno hosťa'
register: výsledok

- názov: Tlač meno hosťa
ladiť:
správa: '{{result.stdout}}'

Teraz chceme spustiť playbook spolu so súborom inventára. Takže najprv ukončíme príručku. Toto je vyhlásenie, ktoré používame na spustenie príkazu:

[ koreň @ majster ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Nasleduje výstupný displej, ktorý ukazuje, že pripojenie je úspešné. Keďže sme v playbooku prešli Ansible[0], vo výstupe sa zobrazí prvý hostiteľ:

Záver

Počas tohto návodu sme mali podrobnú diskusiu o inventári Ansible. Naučili sme sa, ako vytvoriť inventár v Ansible a potom ho prepojiť s cieľovými vzdialenými hostiteľmi. Implementovali sme aj príklad, aby sme mohli ľahko pochopiť koncepty Ansible inventára.