Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory



Med hjälp av en av de senaste hanteringsteknikerna, 'Ansible', introducerar vi hur vi listar alla övervakade värdar på enheten. I Ansible använder vi plugin-programmet 'inventory' för att lista alla värdar i nätverket.

Det är viktigt att ha en lista över alla dina värddatorer i Ansible. Att hålla en inventeringsfil organiserad är lika viktigt som att underhålla spelböckerna eller uppgifterna eftersom du ständigt befinner dig i ett tillstånd av osäkerhet och frågar dig själv med flera bekymmer om din inventeringsfil är felaktigt hanterad. Utöver det föregående minimerar inventeringsfilens definition av de nödvändiga variablerna uppgiftens innehåll i spelböcker och påskyndar tolkningarna. Det finns en grupp av variabler som kan deklareras i både dina playbooks och Ansible-inventeringsfiler som är ansvariga för att ansluta och konfigurera anslutningsbeteendet till värddatorn.







Förutsättningar:

Följande är kraven innan du implementerar kommandot host list inventory i Ansible:



  • För att börja implementera behöver vi först en mjukvara som används för Ansible-konfiguration som är installerad i serverenheten med den senaste versionen. Ansible måste konfigureras så att vi enkelt kan lista all-host-maskinen i vårt nätverk.
  • För att göra någon konfigurationsuppgift i Ansible behöver vi en huvudkonfigurationshanterare. I den här handledningen använder vi kontrollservern som huvudkontroller.
  • För att implementera eventuella ändringar måste vi rikta in oss på värdservrarna i värdlistans inventeringshandledning. Här har vi två målfjärrvärdar.

Exempel: Host List Inventory in the Machine

Här är exemplet som vi implementerar i Ansible-verktyget för att kontrollera eller definiera värdlistans inventering. För det kommer vi att göra det här exemplet i olika steg så att vi enkelt kan förstå hur den här handledningen fungerar och implementeras. Följande är stegen:



Steg 1: Kontrollera standardvärdlistans inventering i Target Remote Host Device





Först kontrollerar vi hur många värdar som finns i inventeringen av Ansible-verktyget. För det använder vi 'ansible'-satsen med '—list-hosts' så att vi kan visa de hanterade standardnoderna i inventeringen.

[ rot @ mästare ansible ] # ansible alla --list-hosts



Här är utdata efter att ha skrivit föregående kommando:

Ansible-terminalen visar '0 värdar' som du kan se i det angivna svaret eftersom vi inte deklarerade inventeringen. Vi genererar inventeringen för att lista värdens inventering i terminalen innan vi tar itu med detta.

Standardinventering:

När vi installerar Ansible i programvaran bygger Ansible en inventeringsfil som hittas genom att skriva följande uttalande i terminalen:

[ rot @ mästare ansible ] # sudo nano /etc/ansible/hosts

Resultatet genereras när vi skriver föregående påstående. Sedan ber den dig att ange lösenordet:

I den här ögonblicksbilden tillhandahåller standardfilen Ansible-värdar information om de ogrupperade värdarna och webbservrarnas gruppvärdar. Dessa värdar inkluderar webbadresser och olika IP-adresser.

Steg 2: Definiera anpassat inventering i Ansible

I Ansible kan vi också definiera vårt lager genom att skriva flera påståenden i Ansible-terminalen. Att definiera inventeringen när du kör uttalanden och spelböcker är ett klokt beslut som förhindrar att värdarna kolliderar och misslyckas när du ansluter till värdarna.

För att börja definiera inventeringen på egen hand, skriver vi först följande sats så att vi kan bygga inventeringen i Ansible och lista värdarna i den så att vi gör kopplingen mellan Ansible-kontrollern och de riktade fjärrvärdarna.

[ rot @ mästare ansible ] # nano hosts.yml

Efter att ha skrivit det tidigare uttalandet skapas inventeringen och lanseras i en ny Ansible-terminal med titeln 'hosts.yml'. Därefter listar vi de riktade värdarna en efter en i inventeringen. Den allra första värd som vi ansluter till är en Linux-värd. Vi tillhandahåller IP-adressen för Linux-värden, Ansible-användaren, Ansible-lösenordet, typen av anslutning och Ansible-portnumret. Vi gör också samma sak med den andra målvärden. Den andra värden som vi använder är Ansible-värden. Alla värdar som vi listade finns under parametern Ansible i inventeringen.

Ansible:
värdar:
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 att ha skapat inventeringsfilen och tillhandahållit värdarna i den, avslutar vi nu inventeringsfilen och går tillbaka till Ansibles huvudterminal.

Steg 3: Skapa Playbook i Ansible

Därefter skapar vi spelboken i Ansible-verktyget så att vi definierar uppgifterna. För det skriver vi följande kommando i Ansible-huvudterminalen:

[ rot @ mästare ansible ] # nano ansible_advanced_inventory.yml

Nu lanseras spelboken i en ny terminal. Först skriver vi titeln på spelboken. På nästa rad tillhandahåller vi målvärden. Vi använder alternativet samla fakta som används för att få all information om värdar. Men här skickar vi 'nej' vilket betyder att vi inte vill få alla data från värdarna.

Därefter listar vi uppgifterna i spelboken. Den första uppgiften används för att visa målvärden med värdnamnet. I nästa uppgift skriver vi ut värdresultaten.

- namn: Ansible avancerad värdinventering
värdar: Ansible [ 0 ]
samla_fakta: nej
uppgifter:

- namn: Få värdnamn av den hanterade noden
skal: 'värdnamn'
register: resultat

- namn: Skriv ut värdnamn
felsöka:
msg: '{{result.stdout}}'

Nu vill vi köra spelboken tillsammans med inventeringsfilen. Så vi avslutar först lekboken. Följande är uttalandet som vi använder för att köra kommandot:

[ rot @ mästare ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml

Följande är utgångsdisplayen som visar att anslutningen är framgångsrik. Sedan vi klarade Ansible[0] i spelboken, visas den första värden i utdata:

Slutsats

Vi hade en djupgående diskussion vid Ansible-inventeringen under hela denna handledning. Vi lärde oss hur man bygger upp inventeringen i Ansible och sedan kopplar dem till mål-fjärrvärdarna. Vi implementerade också ett exempel så att vi enkelt kan förstå begreppen Ansible-inventering.