Automatisoidun tehtävän suorittamiseksi etäisännällä Ansible-sovelluksen kanssa on tarpeen täyttää tietyt muuttujat ja työskennellä odotetusti. Tämän tyyppinen tehtävä on esimerkiksi tarpeen etäkoneen asettamiseksi verkossa, sisäänkirjautumisen ja käyttäjän oikeuksien sallimiseksi sekä Python-ympäristön määrittämiseksi.
SSH on mahdollista siirtää etäisäntään ja tarkistaa, täyttääkö isäntä kaikki kriteerit. Automatisointityökaluna Ansible tarjoaa kuitenkin moduuleja, joiden avulla voit suorittaa nämä tylsiä, aikaa vieviä tehtäviä yhdellä komentorivillä.
Tässä opetusohjelmassa kerrotaan, miten sisäänrakennettua Ansible-ping-moduulia voidaan käyttää useiden muuttujien suorittamiseen etäisäntäkoneissa. Ansible ping -pyyntö on yksinkertainen mutta hyödyllinen työkalu, jonka avulla voit testata etäisäntien saatavuutta ja käytännöllisyyttä.
Tarkastelemme nyt tarkemmin, miten Ansible ping toimii.
MERKINTÄ: Tämä osa on jonkin verran teoreettinen. Jos tarvitset vain artikkelin teknisen osan, voit ohittaa tämän osan. Siitä huolimatta suosittelemme lukemaan tämän osan, koska se tarjoaa hyödyllistä tietoa ja tietoa ping-moduulista.
Tämän huomioiden siirrymme nyt ping-moduulin käyttöönottoon.
Tietoja Ansible ping -moduulista
Ansible ping -pyyntö tarkistaa etäisännän. Tämä moduuli tarkistaa erityisesti:
- Onko etäisäntä päällä ja käytettävissä.
- Voiko Python-ympäristö suorittaa vaaditut soittokirjat onnistuneesti.
- Käyttäjätunnus ja käyttöoikeudet.
Kun ping-pyyntö on lähetetty etäisännälle, moduuli palauttaa arvon, joka osoittaa, onko ping onnistunut. Oletusarvoisesti ping-moduuli palauttaa merkkijonon "pong" onnistumisen yhteydessä ja poikkeuksen epäonnistumisesta (jos määritetty).
PRO-VINKKI: Varmista, että kohde-etäisäntäkoneiden Ansible-soittokirjat eivät vikaudu, tarkista ping-moduulin avulla, täyttyvätkö vaatimukset, ja suorita tehtävät vain, jos tulos on onnistunut.
Ansible ping -moduulin ominaisuudet
Ping-moduuli on melko yksinkertainen, ja seuraava on luettelo tämän moduulin tarjoamista ominaisuuksista:
- Ei ICMP-ping; pikemminkin se on pieni moduuli, joka vaatii kelvollisen Python-ympäristön etäisäntäkoneilla.
- Windowsin etäisäntien tulisi käyttää Win_ping-moduulia.
- Tarjoaa net_ping-moduulin verkkolaitteille.
- Hyväksyy vain yhden parametrin poikkeuksen lisäämiseksi.
- Käytetään oletusarvoisesti kutsuttaessa / usr / bin / ansible -hakemistossa olevaa ansible-komentoa kirjautumisoikeuksien ja kelvollisen Python-ympäristön tarkistamiseksi.
- Palauttaa merkkijonon "pong" onnistumisen yhteydessä.
Kuinka käyttää Ansible ping -moduulia
Seuraavassa tarkastellaan muutamia esimerkkejä, jotka käyttävät Ansible ping -moduulia.
AD HOC -pingikomennon käyttäminen
Yksinkertaisin tapa suorittaa Ansible ping -moduuli on suorittaa yksinkertainen AD HOC -komento päätelaitteessa.
AD HOC -komento on seuraava:
mahdollinen all -m ping -vYllä oleva komento alkaa kutsumalla Ansible, jota seuraa isännän erityinen malli. Tässä tapauksessa haluamme pingata 'kaikki' isännät. Seuraava osa '-m' määrittelee moduulin, jota haluamme käyttää. "-V" tarkoittaa sanallista.
Menestyksessä saat alla olevan kaltaisen tuotoksen:
Käyttämällä / etc / ansible / ansible.cfg asetustiedostona 35.222.210.12| MENESTYS =>
"ansible_facts":
"löydetty_interpreter_python": "/ usr / bin / python",
"muutettu": väärä,
"Pöytätennis"
Jos etäkoneita ei ole käytettävissä (ehkä ne ovat offline-tilassa), saat alla olevan kaltaisen tuloksen:
Käyttämällä / etc / ansible / ansible.cfg asetustiedostona 35.222.210.12| SAATAMATON! =>
"muutettu": väärä,
"msg": "Yhteyden muodostaminen isäntään ssh: ssh: yhteyden kautta isäntään 35 epäonnistui.222.210.12 portti 22: Yhteyden aikakatkaisu ",
"saavuttamaton": totta
Ping-moduulin käyttäminen Playbooksissa
Voit myös käyttää ping-moduulia soittokirjan sisällä. Useimmissa tapauksissa et rakenna pelikirjaa, joka suorittaa vain ping-pyynnön. Voit kuitenkin kääriä kaikki tehtävät ping-pyynnön ehtojen sisään.
Harkitse seuraavaa yksinkertaista pelikirjaa:
- isännät: kaikkitullut: kyllä
tehtävät:
- ping
Saatat huomata, että olen sisällyttänyt yllä olevaan pelikirjaan 'tullut' -direktiivin. Tämä ei ole vaatimus, mutta olen havainnut tapauksia, joissa ping-moduuli epäonnistuu tavalliselle käyttäjälle. Voit nyt suorittaa soittokirjan ja tarkistaa, täyttääkö isäntäpalvelin onnistuneen "pong" -vasteen vaatimukset.
ansible-playbook ping.ymlJos ping ei onnistu, saat seuraavan 'tavoittamaton' -virheen:
kohtalokas: [35.222.210.12]: PÄÄTTYMÄTÖN! => "muutettu": false, "msg": "Yhteyden muodostaminen isäntään epäonnistui ssh: ssh: yhteyden kautta isäntään 35.222.210.12-portti 22: Yhteyden aikakatkaisu "," saavuttamaton ": trueKorotuksen poikkeuksen käyttäminen ping-moduulin kanssa
Voit myös määrittää tiedot kaatumisena poikkeuksen aikaansaamiseksi. Tämä muuttaa oletuspalautuksen "pongista" kaatumiseen.'
Harkitse seuraavaa pelikirjaa:
- isännät: kaikkitullut: kyllä
tehtävät:
- ping:
kaatuminen: tiedot
Toistettaessa pelikirjaa pitäisi palauttaa seuraava arvo:
ansible-playbook ping_except.yml
Johtopäätös
Tämä opetusohjelma osoitti ping-moduulin monipuolisen hyödyllisyyden. Vaikka tämä moduuli ei sisällä monimutkaisia parametreja, kuten useimmat Ansible-moduulit, se sisältää silti tehokkaita ominaisuuksia. Voit esimerkiksi tarkistaa ping-moduulin avulla, johtuuko virhe puuttuvasta Python-ympäristöstä, ja luoda tehtävän tarvittavan ympäristön asentamiseksi etäisäntään.