Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



Ved at bruge en af ​​de nyeste administrationsteknikker, 'Ansible', introducerer vi, hvordan vi viser hver overvåget vært på enheden. I Ansible bruger vi 'inventory'-plugin'et til at liste alle værter på netværket.

Det er afgørende at have en liste over alle dine værtsmaskiner i Ansible. At holde en inventarfil organiseret er lige så afgørende som at vedligeholde spillebøgerne eller opgaver, fordi du konstant vil finde dig selv i en tilstand af usikkerhed og spørge dig selv med flere bekymringer, hvis din inventarfil er forkert administreret. Ud over det foregående minimerer inventarfilens definition af de nødvendige variabler opgavens indhold i playbooks og fremskynder fortolkningerne. Der er en gruppe af variabler, der kan erklæres i både dine playbooks og Ansible-beholdningsfiler, som er ansvarlige for at forbinde og konfigurere forbindelsesadfærden til værtsmaskinen.







Forudsætninger:

Følgende er kravene før implementering af host list inventory kommandoen i Ansible:



  • For at begynde at implementere skal vi først bruge en software, der bruges til Ansible-konfiguration, som er installeret på serverenheden med den seneste version. Ansible skal konfigureres, så vi nemt kan liste all-host maskinen i vores netværk.
  • For at udføre enhver konfigurationsopgave i Ansible har vi brug for en hovedkonfigurationsmanager. I denne vejledning bruger vi controller-serveren som hovedcontroller.
  • For at implementere ændringer er vi nødt til at målrette mod værtsserverne i værtslistens opgørelsesvejledning. Her har vi to mål-fjernværter.

Eksempel: Host List Inventory in the Machine

Her er eksemplet, som vi implementerer i Ansible-værktøjet for at kontrollere eller definere værtslistebeholdningen. Til det vil vi gøre dette eksempel i forskellige trin, så vi nemt kan forstå arbejdet og implementeringen af ​​denne tutorial. Følgende er trinene:



Trin 1: Tjek standardværtslistebeholdningen i Target Remote Host Device





Først tjekker vi, hvor mange værter der er i beholdningen af ​​Ansible-værktøjet. Til det bruger vi 'ansible'-sætningen med '—list-hosts', så vi kan vise de håndterede standardknuder i inventaret.

[ rod @ mester ansible ] # ansible alle --list-værter



Her er outputtet efter at have skrevet den forrige kommando:

Ansible-terminalen viser '0 værter', som du kan se i det angivne svar, fordi vi ikke erklærede beholdningen. Vi genererer inventaret for at liste værtens inventar i terminalen, før vi behandler dette.

Standardbeholdning:

Når vi installerer Ansible i softwaren, bygger Ansible en inventarfil, som findes ved at skrive følgende sætning i terminalen:

[ rod @ mester ansible ] # sudo nano /etc/ansible/hosts

Resultatet genereres, når vi skriver det foregående udsagn. Derefter bliver du bedt om at indtaste adgangskoden:

I dette øjebliksbillede giver standard Ansible-værtsfilen oplysninger om de ikke-grupperede værter og webservere-gruppeværter. Disse værter inkluderer URL'erne og forskellige IP-adresser.

Trin 2: Definer den tilpassede beholdning i Ansible

I Ansible kan vi også definere vores beholdning ved at skrive flere udsagn i Ansible-terminalen. At definere inventaret, når du kører erklæringerne og spillebøgerne, er en klog beslutning, der forhindrer, at værterne støder sammen og fejler, mens du forbinder med værterne.

For at begynde at definere beholdningen på egen hånd, skriver vi først følgende erklæring, så vi kan bygge beholdningen i Ansible og liste værterne i den, så vi laver forbindelsen mellem Ansible-controlleren og de målrettede fjernværter.

[ rod @ mester ansible ] # nano-værter.yml

Efter at have skrevet den forrige erklæring, oprettes opgørelsen og lanceres i en ny Ansible-terminal med titlen 'hosts.yml'. Dernæst oplister vi de målrettede værter én efter én i opgørelsen. Den allerførste vært, som vi forbinder med, er en Linux-vært. Vi oplyser IP-adressen på Linux-værten, Ansible-brugeren, Ansible-adgangskoden, forbindelsestypen og Ansible-portnummeret. Vi gør også det samme med den anden målvært. Den anden vært, som vi bruger, er Ansible-værten. Alle værter, som vi har angivet, er under Ansible-parameteren i inventaret.

Ansible:
værter:
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: iris
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22

Efter at have lavet inventarfilen og leveret værterne i den, afslutter vi nu inventarfilen og går tilbage til Ansible-hovedterminalen.

Trin 3: Opret Playbook i Ansible

Dernæst opretter vi spillebogen i Ansible-værktøjet, så vi definerer opgaverne. Til det skriver vi følgende kommando i Ansible-hovedterminalen:

[ rod @ mester ansible ] # nano ansible_advanced_inventory.yml

Nu er spillebogen lanceret i en ny terminal. Først skriver vi titlen på legebogen. I næste linje giver vi målværten. Vi bruger muligheden for at indsamle fakta, der bruges til at få alle oplysninger om værter. Men her sender vi 'nej', hvilket betyder, at vi ikke ønsker at få alle data fra værterne.

Dernæst lister vi opgaverne i spillebogen. Den første opgave bruges til at vise målværten med værtsnavnet. I den næste opgave udskriver vi værtsresultaterne.

- navn: Ansible avanceret værtsopgørelse
værter: Ansible [ 0 ]
indsamle_fakta: nej
opgaver:

- navn: Få værtsnavn af den administrerede node
skal: 'værtsnavn'
register: resultat

- navn: Udskriv værtsnavn
fejlfinde:
besked: '{{result.stdout}}'

Nu vil vi udføre afspilningsbogen sammen med inventarfilen. Så vi afslutter først legebogen. Følgende er den erklæring, vi bruger til at køre kommandoen:

[ rod @ mester ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Følgende er output-displayet, der viser, at forbindelsen er vellykket. Siden vi bestod Ansible[0] i afspilningsbogen, vises den første vært i outputtet:

Konklusion

Vi havde en dybdegående diskussion på Ansible-opgørelsen gennem hele denne vejledning. Vi lærte, hvordan man opbygger beholdningen i Ansible og derefter forbinder dem med mål-fjernværterne. Vi implementerede også et eksempel, så vi nemt kan forstå begreberne for Ansible inventory.