Ansible

Hoe de Ansible Ping-module te gebruiken

Hoe de Ansible Ping-module te gebruiken

Om een ​​geautomatiseerde taak uit te voeren op een remote host met Ansible, is het noodzakelijk om, zoals te verwachten, bepaalde variabelen in te vullen en ermee te werken. Dit type taak is bijvoorbeeld nodig om een ​​externe host online te zetten, login- en gebruikersrechten toe te staan ​​en een Python-omgeving op te zetten.

Het is mogelijk om te SSH naar een externe host en te controleren of de host aan alle criteria voldoet. Als automatiseringstool biedt Ansible echter modules waarmee u deze vervelende, tijdrovende taken in één opdrachtregel kunt uitvoeren.

Deze tutorial laat je zien hoe je de Ansible ingebouwde ping-module gebruikt om verschillende set-variabelen uit te voeren op externe hosts. Het Ansible-pingverzoek is een eenvoudig maar handig hulpmiddel dat u kunt gebruiken om de beschikbaarheid en bruikbaarheid van externe hosts te testen test.

We gaan nu nader bekijken hoe de Ansible-ping werkt.

OPMERKING: Dit gedeelte is enigszins theoretisch. Als je alleen het technische gedeelte van het artikel nodig hebt, kun je deze sectie overslaan. Toch raden we aan dit gedeelte te lezen, omdat het nuttige inzichten en informatie over de ping-module biedt.

Met dat opgemerkt, gaan we nu verder met het introduceren van de ping-module.

Over de Ansible ping-module

Het Ansible-pingverzoek wordt gecontroleerd op de externe host. Deze module controleert specifiek op:

Nadat een ping-verzoek naar de externe host is verzonden, retourneert de module een waarde die aangeeft of de ping succesvol was. Standaard retourneert de ping-module de tekenreeks 'pong' bij succes en een uitzondering bij mislukking (indien opgegeven).

PRO-TIP: Om ervoor te zorgen dat uw Ansible-playbooks op de externe doelhosts niet falen, gebruikt u de ping-module om te controleren of aan de vereisten wordt voldaan en voert u de taken alleen uit als een succesvolle uitvoer wordt verkregen.

Kenmerken van de Ansible ping-module

De ping-module is vrij eenvoudig en het volgende is een lijst met de functies die door deze module worden geboden:

Hoe de Ansible ping-module te gebruiken

We zullen nu een paar voorbeelden bekijken die de Ansible ping-module gebruiken.

De AD HOC ping-opdracht gebruiken

De eenvoudigste manier om de Ansible ping-module uit te voeren, is door een eenvoudige AD HOC-opdracht in de terminal uit te voeren.

Het AD HOC-commando is als volgt:

ansible all -m ping -v

De bovenstaande opdracht begint met het aanroepen van Ansible, gevolgd door het specifieke patroon van de host. In dit geval willen we 'alle' hosts pingen. Het volgende deel, '-m', specificeert de module die we willen gebruiken. De '-v' staat voor verbose.

Bij succes krijgt u een uitvoer zoals hieronder weergegeven:

/etc/ansible/ansible gebruiken.cfg als configuratiebestand 35.222.210.12
| SUCCES =>
"ansible_facts":
"discovered_interpreter_python": "/usr/bin/python" ,
"gewijzigd": false,
"ping": "pong"

Als de externe hosts niet beschikbaar zijn (misschien zijn ze offline), krijgt u een uitvoer zoals hieronder weergegeven:

/etc/ansible/ansible gebruiken.cfg als configuratiebestand 35.222.210.12
| ONBEREIKBAAR! =>
"gewijzigd": false,
"msg": "Kan geen verbinding maken met de host via ssh: ssh: verbinding maken met host 35.222.210.12 poort 22: Time-out voor verbinding",
"onbereikbaar": waar

De ping-module gebruiken in Playbooks

Je kunt de ping-module ook in een playbook gebruiken. In de meeste gevallen bouw je geen playbook dat alleen een ping-verzoek uitvoert. U kunt echter alle taken binnen de voorwaarden van het ping-verzoek plaatsen.

Overweeg het volgende eenvoudige draaiboek:

- hosts: alle
worden: ja
taken:
- ping

Het is je misschien opgevallen dat ik in het bovenstaande draaiboek de richtlijn 'worden' heb opgenomen. Dit is geen vereiste, maar ik ben gevallen tegengekomen waarin de ping-module faalt voor een standaardgebruiker. U kunt nu het playbook uitvoeren en controleren of de hostserver voldoet aan de vereisten voor een succesvol 'pong'-antwoord.

ansible-playbook ping.yml

Als de ping mislukt, krijgt u de volgende 'onbereikbare' foutmelding:

fataal: [35.222.210.12]: ONBEREIKBAAR! => "gewijzigd": false, "msg": "Kan geen verbinding maken met de host via ssh: ssh: verbinding maken met host 35.222.210.12 poort 22: Time-out verbinding", "onbereikbaar": true

De raise-uitzondering gebruiken met de ping-module

U kunt gegevens ook specificeren als een crash om een ​​uitzondering te veroorzaken. Dit verandert de standaard terugkeer van 'pong' naar 'crash.'

Beschouw het volgende draaiboek:

- hosts: alle
worden: ja
taken:
- ping:
crash: gegevens

Het uitvoeren van het playbook met uitzondering zou de volgende waarde moeten retourneren:

ansible-playbook ping_behalve.yml

Conclusie

Deze tutorial liet je het diverse nut van de ping-module zien. Hoewel deze module geen complexe parameters bevat zoals de meeste Ansible-modules, bevat deze toch krachtige mogelijkheden. U kunt bijvoorbeeld de ping-module gebruiken om te controleren of een fout te wijten is aan een ontbrekende Python-omgeving en een taak maken om de vereiste omgeving op de externe host te installeren.

Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...