Hvordan bruke Ansible Ping -modulen

Hvordan bruke Ansible Ping -modulen

For å utføre en automatisert oppgave på en ekstern vert med Ansible, er det nødvendig å fylle og jobbe med visse variabler, som å forvente. For eksempel er denne typen oppgaver nødvendig for å sette en ekstern vert på nettet, tillate pålogging og brukerrettigheter og sette opp et Python -miljø.

Det er mulig å SSH til en ekstern vert og sjekke om verten oppfyller alle kriteriene. Som et automatiseringsverktøy gir Ansible imidlertid moduler som lar deg utføre disse kjedelige, tidkrevende oppgavene i en enkelt kommandolinje.

Denne opplæringen viser deg hvordan du bruker den innebygde pingmodulen for å utføre forskjellige settvariabler på eksterne verter. Ansible Ping -forespørselen er et enkelt, men nyttig verktøy som du kan bruke for å teste tilgjengeligheten og praktisk for eksterne verter.

Vi vil nå se nærmere på hvordan Ansible Ping fungerer.

MERK: Denne delen er noe teoretisk. Hvis alt du trenger er den tekniske delen av artikkelen, kan du hoppe over denne delen. Likevel anbefaler vi å lese denne delen, ettersom den gir noen nyttige innsikter og informasjon om Ping -modulen.

Med det bemerket, vil vi nå gå videre for å introdusere ping -modulen.

Om Ansible Ping -modulen

Ansible ping -forespørselen sjekker opp den eksterne verten. Denne modulen sjekker spesifikt for:

  • Om den eksterne verten er oppe og tilgjengelig.
  • Om Python -miljøet kan drive de nødvendige spillbøkene.
  • Brukerens pålogging og privilegier.

Etter at en ping -forespørsel er sendt til den eksterne verten, returnerer modulen en verdi som indikerer om pingen var vellykket. Som standard returnerer Ping -modulen strengen 'Pong' på suksess, og et unntak på feil (hvis spesifisert).

Pro tips: For å sikre at dine Ansible Playbooks på Target Remote -vertene ikke mislykkes, bruk ping -modulen for å sjekke om kravene er oppfylt, og bare utføre oppgavene hvis en vellykket utgang er oppnådd.

Funksjoner i Ansible Ping -modulen

Ping -modulen er ganske enkel, og følgende er en liste over funksjonene levert av denne modulen:

  • Ikke en ICMP ping; Snarere er det en liten modul som krever et gyldig Python -miljø på eksterne verter.
  • Windows Remote -verter bør bruke WIN_PING -modulen i stedet.
  • Gir en net_ping -modul for nettverksenheter.
  • Godtar bare en enkelt parameter for å heve et unntak.
  • Brukes som standard når du ringer Ansible -kommandoen i/USR/Bin/Ansible -katalogen for å bekrefte påloggingstillatelser og et gyldig Python -miljø.
  • Returnerer strengen 'Pong' på suksess.

Hvordan bruke Ansible Ping -modulen

Vi vil nå se på noen få eksempler som bruker Ansible Ping -modulen.

Bruke ad hoc ping -kommandoen

Den enkleste måten å kjøre Ansible Ping -modulen er å kjøre en enkel ad hoc -kommando i terminalen.

Ad hoc -kommandoen er som følger:

Ansible All -m ping -v

Kommandoen ovenfor starter med å ringe Ansible, etterfulgt av det spesifikke mønsteret til verten. I dette tilfellet ønsker vi å pinge 'alle' verter. Neste del, '-m,' spesifiserer modulen som vi vil bruke. '-V' står for ordre.

Ved suksess vil du få en utdata som den som er vist nedenfor:

Bruker/etc/ansible/ansible.CFG som konfigurasjonsfil 35.222.210.12
| Suksess =>
"Ansible_facts":
"Discovered_Inpreter_Python": "/usr/bin/python",
"endret": falsk,
"bordtennis"

Hvis de eksterne vertene ikke er tilgjengelige (kanskje de er offline), vil du få en utgang som den som er vist nedenfor:

Bruker/etc/ansible/ansible.CFG som konfigurasjonsfil 35.222.210.12
| Utilgjengelig! =>
"endret": falsk,
"MSG": "Kunne ikke koble til verten via SSH: SSH: Koble til vert 35.222.210.12 Port 22: Tilkobling tidsbestemt ",
"Utilgjengelig": True

Bruke Ping -modulen i spillbøker

Du kan også bruke ping -modulen i en lekebok. I de fleste tilfeller vil du ikke bygge en spillbok som bare utfører en ping -forespørsel. Du kan imidlertid pakke alle oppgavene i forholdene til pingforespørselen.

Tenk på følgende enkle spillbok:

- Verter: Alle
Bli: Ja
oppgaver:
- ping

Du vil kanskje legge merke til at jeg i ovennevnte spillbok inkluderte "bli" -direktivet. Dette er ikke et krav, men jeg har møtt tilfeller der pingmodulen mislykkes for en standard bruker. Du kan nå kjøre spillboken og sjekke om vertsserveren oppfyller kravene til en vellykket 'Pong' svar.

Ansible-Playbook Ping.yml

Hvis pingen ikke lykkes, vil du få følgende "uoppnåelige" feil:

Fatal: [35.222.210.12]: Utilgjengelig! => "endret": falsk, "Msg": "Kunne ikke koble til verten via SSH: SSH: Koble til vert 35.222.210.12 Port 22: Tilkobling tidsbestemt "," Utilgjengelig ": True

Bruker Raise -unntaket med ping -modulen

Du kan også spesifisere data som et krasj for å indusere et unntak. Dette endrer standardavkastningen fra 'Pong' til 'Crash.'

Tenk på følgende spillbok:

- Verter: Alle
Bli: Ja
oppgaver:
- Ping:
Crash: Data

Å kjøre spillboken med unntak skal returnere følgende verdi:

Ansible-playbook ping_except.yml

Konklusjon

Denne opplæringen viste deg den mangfoldige bruken av ping -modulen. Selv om denne modulen ikke inneholder komplekse parametere som de fleste ansettelige moduler, inneholder den fremdeles kraftige funksjoner. For eksempel kan du bruke Ping -modulen for å sjekke om en feil skyldes et manglende Python -miljø og lage en oppgave for å installere det nødvendige miljøet på den eksterne verten.