Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



Folosind una dintre cele mai recente tehnici de gestionare, „Ansible”, vă prezentăm modul în care listăm fiecare gazdă monitorizată de pe dispozitiv. În Ansible, folosim pluginul „inventar” pentru a lista toate gazdele din rețea.

Este esențial să aveți o listă cu toate mașinile dvs. gazdă în Ansible. Menținerea unui fișier de inventar organizat este la fel de crucială ca și menținerea manualelor sau sarcinilor, deoarece vă veți găsi în mod constant într-o stare de incertitudine și vă veți întreba cu mai multe îngrijorări dacă fișierul dvs. de inventar este gestionat greșit. În plus față de cele de mai sus, definiția fișierului de inventar a variabilelor necesare minimizează conținutul sarcinii în manuale și accelerează interpretările. Există un grup de variabile care pot fi declarate atât în ​​manualele dvs., cât și în fișierele de inventar Ansible, care sunt responsabile pentru conectarea și configurarea comportamentului conectivității la mașina gazdă.







Cerințe preliminare:

Următoarele sunt cerințele înainte de implementarea comenzii de inventar listă de gazde în Ansible:



  • Pentru a începe implementarea, avem nevoie mai întâi de un software care este utilizat pentru configurarea Ansible care este instalat în dispozitivul server cu cea mai recentă versiune. Ansible trebuie configurat astfel încât să putem lista cu ușurință toate mașinile gazdă din rețeaua noastră.
  • Pentru a face orice sarcină de configurare în Ansible, avem nevoie de un manager de configurare principal. În acest tutorial, folosim serverul de controler ca controler principal.
  • Pentru a implementa orice modificări, trebuie să vizam serverele gazdă în tutorialul de inventar al listei de gazde. Aici, avem două gazde la distanță țintă.

Exemplu: Inventar listă gazdă în mașină

Iată exemplul pe care îl implementăm în instrumentul Ansible pentru a verifica sau defini inventarul listei de gazde. Pentru asta, vom face acest exemplu în diferiți pași, astfel încât să putem înțelege cu ușurință funcționarea și implementarea acestui tutorial. Următorii sunt pașii:



Pasul 1: Verificați inventarul implicit al listei de gazde din dispozitivul gazdă la distanță țintă





În primul rând, verificăm câte gazde sunt în inventarul instrumentului Ansible. Pentru aceasta, folosim declarația „ansible” cu „—list-hosts”, astfel încât să putem afișa nodurile gestionate implicit în inventar.

[ rădăcină @ maestru ansible ] # ansible all --list-hosts



Iată rezultatul după scrierea comenzii anterioare:

Terminalul Ansible afișează „0 gazde”, așa cum puteți vedea în răspunsul oferit, deoarece nu am declarat inventarul. Generăm inventarul pentru a lista inventarul gazdei în terminal înainte de a aborda acest lucru.

Inventar implicit:

Când instalăm Ansible în software, Ansible construiește un fișier de inventar care este găsit scriind următoarea declarație în terminal:

[ rădăcină @ maestru ansible ] # sudo nano /etc/ansible/hosts

Rezultatul este generat atunci când scriem declarația anterioară. Apoi, vă solicită să introduceți parola:

În acest instantaneu, fișierul implicit Ansible hosts oferă informații despre gazdele negrupate și gazdele grupului de servere web. Aceste gazde includ adresele URL și diferite adrese IP.

Pasul 2: Definiți inventarul personalizat în Ansible

În Ansible, ne putem defini și inventarul prin scrierea mai multor instrucțiuni în terminalul Ansible. Definirea inventarului la rularea declarațiilor și a manualelor este o decizie înțeleaptă care împiedică ciocnirea gazdelor și eșecul în timpul conectării cu gazdele.

Pentru a începe să definim singuri inventarul, scriem mai întâi următoarea declarație, astfel încât să putem construi inventarul în Ansible și să enumeram gazdele din el, astfel încât să facem conexiunea între controlerul Ansible și gazdele la distanță vizate.

[ rădăcină @ maestru ansible ] # nano hosts.yml

După scrierea declarației anterioare, inventarul este creat și lansat într-un nou terminal Ansible cu titlul „hosts.yml”. În continuare, listăm gazdele vizate una câte una în inventar. Prima gazdă cu care ne conectăm este o gazdă Linux. Oferim adresa IP a gazdei Linux, utilizatorul Ansible, parola Ansible, tipul de conexiune și numărul portului Ansible. Facem același lucru și cu a doua gazdă țintă. A doua gazdă pe care o folosim este gazda Ansible. Toate gazdele pe care le-am enumerat sunt sub parametrul Ansible din inventar.

Ansible:
gazde:
Linux_Host:
gazdă_ansible: 192.168.3.229
ansible_user: root
parola_ansible: tpstps_22
ansible_connection: ssh
ansible_port: 22

Ansible_Host:
ansible_host: 192.168.7.10
utilizator_ansible: iris
parola_ansible: TpsTps_1
ansible_connection: ssh
ansible_port: 22

După ce am creat fișierul de inventar și am furnizat gazdele în el, acum încheiem fișierul de inventar și ne întoarcem la terminalul principal Ansible.

Pasul 3: Creați Playbook-ul în Ansible

Apoi, creăm playbook-ul în instrumentul Ansible, astfel încât să definim sarcinile. Pentru asta, scriem următoarea comandă în terminalul principal Ansible:

[ rădăcină @ maestru ansible ] # nano ansible_advanced_inventory.yml

Acum, playbook-ul este lansat într-un nou terminal. Mai întâi, scriem titlul cărții de joc. În rândul următor, oferim gazda țintă. Folosim opțiunea de colectare a faptelor care este folosită pentru a obține toate informațiile despre gazde. Dar aici, trecem „nu”, ceea ce înseamnă că nu vrem să obținem toate datele gazdelor.

În continuare, listăm sarcinile din manualul de joc. Prima sarcină este utilizată pentru a afișa gazda țintă cu numele de gazdă. În următoarea sarcină, imprimăm rezultatele gazdei.

- nume: inventarul gazdă avansat Ansible
gazde: Ansible [ 0 ]
gather_facts: nu
sarcini:

- nume: Ia nume de gazdă a nodului gestionat
coajă: 'nume gazdă'
înregistrare: rezultat

- nume: Print nume de gazdă
depanare:
mesaj: „{{result.stdout}}”

Acum, vrem să executăm playbook-ul împreună cu fișierul de inventar. Deci, încheiem mai întâi manualul de joc. Următoarea este instrucțiunea pe care o folosim pentru a rula comanda:

[ rădăcină @ maestru ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Următorul este afișajul de ieșire care arată că conexiunea a avut succes. Deoarece am trecut Ansible[0] în playbook, prima gazdă este afișată în rezultat:

Concluzie

Am avut o discuție aprofundată la inventarul Ansible de-a lungul acestui tutorial. Am învățat cum să construim inventarul în Ansible și apoi să le conectăm cu gazdele de la distanță țintă. De asemenea, am implementat un exemplu, astfel încât să putem înțelege cu ușurință conceptele de inventar Ansible.