Ansible avansert vertslisteinventar

Ansible Avansert Vertslisteinventar



Ved å bruke en av de nyeste administrasjonsteknikkene, «Ansible», introduserer vi hvordan vi lister opp hver overvåket vert på enheten. I Ansible bruker vi 'inventory'-pluginen for å liste opp alle verter i nettverket.

Det er avgjørende å ha en liste over alle vertsmaskinene dine i Ansible. Å holde en inventarfil organisert er like viktig som å vedlikeholde spillebøkene eller oppgavene, fordi du hele tiden vil befinne deg i en tilstand av usikkerhet og spørre deg selv med flere bekymringer om inventarfilen din er feiladministrert. I tillegg til det foregående, minimerer inventarfilens definisjon av de nødvendige variablene oppgavens innhold i lekebøker og fremskynder tolkningene. Det er en gruppe variabler som kan deklareres i både playbooks og Ansible-inventarfiler som er ansvarlige for å koble til og konfigurere tilkoblingsadferden til vertsmaskinen.







Forutsetninger:

Følgende er kravene før implementering av vertslisteinventarkommandoen i Ansible:



  • For å starte implementeringen trenger vi først en programvare som brukes til Ansible-konfigurasjon som er installert i serverenheten med siste versjon. Ansible må konfigureres slik at vi enkelt kan liste opp all-host-maskinen i nettverket vårt.
  • For å utføre en konfigurasjonsoppgave i Ansible, trenger vi en hovedkonfigurasjonsbehandling. I denne opplæringen bruker vi kontrollerserveren som hovedkontroller.
  • For å implementere eventuelle endringer, må vi målrette mot vertsserverne i inventaropplæringen for vertslisten. Her har vi to eksterne målverter.

Eksempel: Vertslistebeholdning i maskinen

Her er eksemplet som vi implementerer i Ansible-verktøyet for å sjekke eller definere vertslistebeholdningen. For det vil vi gjøre dette eksemplet i forskjellige trinn, slik at vi enkelt kan forstå arbeidet og implementeringen av denne opplæringen. Følgende er trinnene:



Trinn 1: Kontroller standardvertslistebeholdningen i Target Remote Host Device





Først sjekker vi hvor mange verter som er i beholdningen til Ansible-verktøyet. For det bruker vi 'ansible'-setningen med '—list-hosts' slik at vi kan vise standard håndterte noder i inventaret.

[ rot @ mester ansible ] # ansible alle --list-verter



Her er utgangen etter å ha skrevet forrige kommando:

Ansible-terminalen viser '0 verter' som du kan se i det oppgitte svaret fordi vi ikke deklarerte inventaret. Vi genererer inventaret for å liste vertens inventar i terminalen før vi tar opp dette.

Standard beholdning:

Når vi installerer Ansible i programvaren, bygger Ansible en inventarfil som finnes ved å skrive følgende setning i terminalen:

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

Utfallet genereres når vi skriver forrige utsagn. Deretter blir du bedt om å skrive inn passordet:

I dette øyeblikksbildet gir standard Ansible-vertsfilen informasjonen om ugrupperte verter og nettservergruppeverter. Disse vertene inkluderer URL-ene og forskjellige IP-adresser.

Trinn 2: Definer den tilpassede beholdningen i Ansible

I Ansible kan vi også definere beholdningen vår ved å skrive flere utsagn i Ansible-terminalen. Å definere beholdningen når du kjører setningene og spillebøkene er en klok beslutning som forhindrer sammenstøt med vertene og feil mens du kobler til vertene.

For å begynne å definere inventaret på egen hånd, skriver vi først følgende setning slik at vi kan bygge inventaret i Ansible og liste opp vertene i det slik at vi oppretter forbindelsen mellom Ansible-kontrolleren og de målrettede eksterne vertene.

[ rot @ mester ansible ] # nano hosts.yml

Etter å ha skrevet forrige setning, opprettes inventaret og lanseres i en ny Ansible-terminal med tittelen 'hosts.yml'. Deretter viser vi de målrettede vertene en etter en i inventaret. Den aller første verten vi kobler til er en Linux-vert. Vi oppgir IP-adressen til Linux-verten, Ansible-brukeren, Ansible-passordet, tilkoblingstypen og Ansible-portnummeret. Vi gjør også det samme med den andre målverten. Den andre verten vi bruker er Ansible-verten. Alle verter som vi listet opp er under Ansible-parameteren i inventaret.

Ansible:
verter:
Linux_Vert:
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

Etter å ha laget inventarfilen og gitt vertene i den, avslutter vi nå inventarfilen og går tilbake til hovedterminalen Ansible.

Trinn 3: Lag Playbook i Ansible

Deretter lager vi spilleboken i Ansible-verktøyet slik at vi definerer oppgavene. For det skriver vi følgende kommando i Ansible-hovedterminalen:

[ rot @ mester ansible ] # nano ansible_advanced_inventory.yml

Nå er spilleboken lansert i en ny terminal. Først skriver vi tittelen på lekeboken. I neste linje gir vi målverten. Vi bruker alternativet samle fakta som brukes for å få all informasjon om verter. Men her sender vi 'nei' som betyr at vi ikke ønsker å få alle dataene til vertene.

Deretter viser vi oppgavene i spilleboken. Den første oppgaven brukes til å vise målverten med vertsnavnet. I neste oppgave skriver vi ut vertsresultatene.

- navn: Ansible avansert vertsbeholdning
verter: Ansible [ 0 ]
samle_fakta: nei
oppgaver:

- navn: Få vertsnavn av den administrerte noden
skall: 'vertsnavn'
register: resultat

- navn: Print vertsnavn
feilsøke:
melding: '{{result.stdout}}'

Nå ønsker vi å kjøre spilleboken sammen med inventarfilen. Så vi avslutter først lekeboken. Følgende er setningen vi bruker for å kjøre kommandoen:

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

Følgende er utgangsdisplayet som viser at tilkoblingen er vellykket. Siden vi passerte Ansible[0] i spilleboken, vises den første verten i utdataene:

Konklusjon

Vi hadde en grundig diskusjon på Ansible-inventaret gjennom denne opplæringen. Vi lærte hvordan vi bygger opp beholdningen i Ansible og deretter kobler dem til de eksterne målvertene. Vi implementerte også et eksempel slik at vi enkelt kan forstå konseptene til Ansible inventar.