Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



Z uporabo ene najnovejših tehnik upravljanja, »Ansible«, predstavljamo, kako navedemo vsega nadzorovanega gostitelja v napravi. V Ansibleu uporabljamo vtičnik »inventar« za seznam vseh gostiteljev v omrežju.

Ključnega pomena je, da imate seznam vseh svojih gostiteljskih naprav v Ansibleu. Ohranjanje organizirane datoteke inventarja je prav tako ključnega pomena kot vzdrževanje priročnikov ali nalog, saj se boste nenehno znašli v stanju negotovosti in se s številnimi pomisleki spraševali, ali je vaša datoteka inventarja napačno upravljana. Poleg zgoraj navedenega definicija zahtevanih spremenljivk v datoteki popisa zmanjša vsebino naloge v priročnikih in pospeši interpretacije. Obstaja skupina spremenljivk, ki jih je mogoče deklarirati tako v vaših priročnikih kot v datotekah inventarja Ansible, ki so odgovorne za povezovanje in konfiguriranje vedenja povezljivosti z gostiteljskim strojem.







Predpogoji:

Sledijo zahteve pred implementacijo ukaza inventar seznama gostiteljev v Ansible:



  • Za začetek implementacije najprej potrebujemo programsko opremo, ki se uporablja za konfiguracijo Ansible in je nameščena v strežniško napravo z najnovejšo različico. Ansible mora biti konfiguriran tako, da lahko preprosto navedemo vse-gostiteljski stroj v našem omrežju.
  • Za izvedbo katerega koli konfiguracijskega opravila v Ansibleu potrebujemo glavnega upravitelja konfiguracije. V tej vadnici uporabljamo strežnik krmilnika kot glavni krmilnik.
  • Za izvedbo kakršnih koli sprememb moramo ciljati na gostiteljske strežnike v vadnici za inventar seznama gostiteljev. Tukaj imamo dva ciljna oddaljena gostitelja.

Primer: Inventar seznama gostiteljev v napravi

Tukaj je primer, ki ga izvajamo v orodju Ansible za preverjanje ali definiranje inventarja seznama gostiteljev. Zato bomo ta primer izvedli v različnih korakih, da bomo zlahka razumeli delovanje in izvajanje te vadnice. Sledijo koraki:



1. korak: Preverite inventar privzetega seznama gostiteljev v ciljni oddaljeni gostiteljski napravi





Najprej preverimo, koliko gostiteljev je v inventarju orodja Ansible. Za to uporabljamo stavek 'ansible' z '—list-hosts', tako da lahko prikažemo privzeto obravnavana vozlišča v inventarju.

[ korenina @ master ansible ] # ansible all --list-hosts



Tukaj je rezultat po pisanju prejšnjega ukaza:

Terminal Ansible prikaže »0 gostiteljev«, kot lahko vidite v posredovanem odgovoru, ker nismo prijavili inventarja. Ustvarimo inventar za seznam gostiteljevega inventarja v terminalu, preden to obravnavamo.

Privzeti inventar:

Ko namestimo Ansible v programsko opremo, Ansible zgradi datoteko inventarja, ki jo najdemo tako, da v terminal napišemo naslednjo izjavo:

[ korenina @ master ansible ] # sudo nano /etc/ansible/hosts

Rezultat se ustvari, ko napišemo prejšnji stavek. Nato vas prosi, da vnesete geslo:

V tem posnetku privzeta datoteka gostiteljev Ansible zagotavlja informacije o nezdruženih gostiteljih in gostiteljih skupin spletnih strežnikov. Ti gostitelji vključujejo URL-je in različne naslove IP.

2. korak: Definirajte inventar po meri v Ansibleu

V Ansibleu lahko svoj inventar definiramo tudi tako, da v terminalu Ansible napišemo več stavkov. Opredelitev inventarja pri izvajanju stavkov in priročnikov je pametna odločitev, ki preprečuje navzkrižje gostiteljev in neuspeh med povezovanjem z gostitelji.

Da začnemo sami definirati inventar, najprej napišemo naslednjo izjavo, da lahko zgradimo inventar v Ansibleu in navedemo gostitelje v njem, tako da vzpostavimo povezavo med krmilnikom Ansible in ciljnimi oddaljenimi gostitelji.

[ korenina @ master ansible ] # nano hosts.yml

Po pisanju prejšnje izjave se inventar ustvari in zažene v novem terminalu Ansible z naslovom 'hosts.yml'. Nato enega za drugim navedemo ciljne gostitelje v popisu. Prvi gostitelj, s katerim se povežemo, je gostitelj Linux. Zagotavljamo naslov IP gostitelja Linux, uporabnika Ansible, geslo Ansible, vrsto povezave in številko vrat Ansible. Enako naredimo tudi z drugo ciljno gostiteljico. Drugi gostitelj, ki ga uporabljamo, je gostitelj Ansible. Vsi gostitelji, ki smo jih navedli, so v popisu pod parametrom Ansible.

Ansible:
gostitelji:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: koren
ansible_geslo: tpstps_22
ansible_connection: ssh
ansible_port: 22

Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: iris
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22

Po izdelavi datoteke popisa in zagotavljanju gostiteljev v njej zdaj prekinemo datoteko popisa in se vrnemo na glavni terminal Ansible.

3. korak: Ustvarite Playbook v Ansible

Nato ustvarimo playbook v orodju Ansible, tako da definiramo naloge. Za to napišemo naslednji ukaz v glavni terminal Ansible:

[ korenina @ master ansible ] # nano ansible_advanced_inventory.yml

Zdaj je playbook zagnan v nov terminal. Najprej napišemo naslov knjižice. V naslednji vrstici podamo ciljnega gostitelja. Uporabljamo možnost zbiranja dejstev, ki se uporablja za pridobitev vseh informacij o gostiteljih. Toda tukaj posredujemo »ne«, kar pomeni, da ne želimo dobiti vseh podatkov o gostiteljih.

Nato naštejemo naloge v učbeniku. Prva naloga se uporablja za prikaz ciljnega gostitelja z imenom gostitelja. V naslednji nalogi natisnemo rezultate gostitelja.

- ime: Ansible napredni inventar gostitelja
gostitelji: Ansible [ 0 ]
zbrati dejstva: ne
naloge:

- ime: Get ime gostitelja upravljanega vozlišča
lupina: 'ime gostitelja'
register: rezultat

- ime: Tisk ime gostitelja
razhroščevanje:
sporočilo: '{{result.stdout}}'

Zdaj želimo izvesti priročnik skupaj z datoteko inventarja. Torej, najprej zaključimo knjigo iger. Sledi izjava, ki jo uporabimo za zagon ukaza:

[ korenina @ master ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Sledi izhodni zaslon, ki prikazuje, da je povezava uspešna. Ker smo prenesli Ansible[0] v priročniku, je v izhodu prikazan prvi gostitelj:

Zaključek

V tej vadnici smo imeli poglobljeno razpravo o popisu Ansible. Naučili smo se, kako ustvariti inventar v Ansibleu in jih nato povezati s ciljnimi oddaljenimi gostitelji. Implementirali smo tudi primer, da lahko zlahka razumemo koncepte inventarja Ansible.