Za izvedbo avtomatiziranega opravila na oddaljenem gostitelju z Ansible je treba napolniti in delati z določenimi spremenljivkami, kot je bilo pričakovano. Takšna naloga je na primer potrebna za vzpostavitev oddaljenega gostitelja v spletu, omogočanje prijave in uporabniških pravic ter nastavitev okolja Python.
Mogoče je SSH v oddaljeni gostitelj in preveriti, ali gostitelj izpolnjuje vse kriterije. Kot orodje za avtomatizacijo pa Ansible ponuja module, ki vam omogočajo izvajanje teh dolgočasnih, dolgotrajnih nalog v eni vrstici ukaza.
Ta vadnica vam prikazuje, kako z vgrajenim ping modulom Ansible izvajati različne nastavljene spremenljivke na oddaljenih gostiteljih. Zahteva za ping Ansible je preprosto, a uporabno orodje, s katerim lahko preizkusite razpoložljivost in praktičnost oddaljenih gostiteljev.
Zdaj si bomo podrobneje ogledali, kako deluje piling Ansible.
OPOMBA: Ta razdelek je nekoliko teoretičen. Če potrebujete le tehnični del članka, lahko ta odsek preskočite. Kljub temu priporočamo, da preberete ta razdelek, saj vsebuje nekaj koristnih vpogledov in informacij o modulu ping.
Z omenjenim bomo zdaj nadaljevali z uvedbo ping modula.
O modulu Ansible ping
Zahteva za ping Ansible preveri oddaljeni gostitelj. Ta modul posebej preverja:
- Ali je oddaljeni gostitelj pripravljen in dostopen.
- Ali lahko okolje Python uspešno zažene zahtevane knjige iger.
- Uporabniška prijava in privilegiji.
Ko je zahteva za ping poslana oddaljenemu gostitelju, modul vrne vrednost, ki označuje, ali je bil ping uspešen. Modul ping privzeto vrne niz 'pong' ob uspehu in izjemo ob neuspehu (če je naveden).
PRO NASVET: Da zagotovite, da vaše knjige Ansible na ciljnih oddaljenih gostiteljih ne bodo odpovedale, z modulom ping preverite, ali so zahteve izpolnjene, in naloge izvedite le, če dobite uspešen izhod.
Značilnosti modula Ansible ping
Ping modul je zelo preprost, v nadaljevanju pa je seznam funkcij, ki jih ponuja ta modul:
- Ni ping ICMP; namesto tega gre za majhen modul, ki na veljavnih okoljih Python potrebuje veljavno okolje.
- Oddaljeni gostitelji sistema Windows bi morali namesto tega uporabiti modul win_ping.
- Ponuja modul net_ping za omrežne naprave.
- Za sprožitev izjeme sprejme samo en parameter.
- Privzeto se uporablja pri klicanju ukaza ansible v imeniku / usr / bin / ansible za preverjanje dovoljenj za prijavo in veljavnega okolja Python.
- Vrne niz 'pong' za uspeh.
Kako uporabljati modul Ansible ping
Zdaj si bomo ogledali nekaj primerov, ki uporabljajo ping modul Ansible.
Uporaba ukaza za ping AD HOC
Najpreprostejši način za zagon modula Ansible ping je, da v terminalu zaženete preprost ukaz AD HOC.
Ukaz AD HOC je naslednji:
ansible vse -m ping -vZgornji ukaz se začne s klicem Ansible, čemur sledi poseben vzorec gostitelja. V tem primeru želimo pingati 'vse' gostitelje. Naslednji del, '-m,' določa modul, ki ga želimo uporabiti. '-V' pomeni glagolen.
Ob uspehu boste dobili rezultat, kot je prikazan spodaj:
Uporaba / etc / ansible / ansible.cfg kot konfiguracijska datoteka 35.222.210.12| USPEH =>
"ansible_facts":
"odkriti_interpreter_python": "/ usr / bin / python",
"spremenjeno": false,
"namizni tenis"
Če oddaljeni gostitelji niso na voljo (morda so brez povezave), boste dobili izhod, kot je prikazan spodaj:
Uporaba / etc / ansible / ansible.cfg kot konfiguracijska datoteka 35.222.210.12| NEDOSTOJEN! =>
"spremenjeno": false,
"msg": "Povezava z gostiteljem ni uspela prek ssh: ssh: povezava z gostiteljem 35.222.210.12 vrata 22: Časovna omejitev povezave je potekla ",
"nedosegljivo": res
Uporaba modula ping v Playbooks
Ping modul lahko uporabite tudi v knjigi iger. V večini primerov ne boste ustvarili knjige z igrami, ki izvaja samo zahtevo za ping. Vse naloge pa lahko zavijete v pogoje zahteve za ping.
Razmislite o naslednji preprosti knjigi iger:
- gostitelji: vsipostati: da
naloge:
- ping
Morda boste opazili, da sem v zgornjo knjigo iger vključil direktivo "postani". To ni zahteva, vendar sem naletel na primere, ko ping modul odpove pri običajnem uporabniku. Zdaj lahko zaženete igro in preverite, ali gostiteljski strežnik izpolnjuje zahteve za uspešen odziv "pong".
ansible-playbook ping.ymlČe je ping neuspešen, se prikaže naslednja napaka »nedosegljiv«:
usodno: [35.222.210.12]: NEDOSTOJEN! => "spremenjeno": false, "msg": "Povezava z gostiteljem prek ssh: ssh: povezava z gostiteljem 35 ni uspela.222.210.12 vrat 22: Povezava je potekla "," nedosegljiva ": trueUporaba izjeme za dvig z modulom ping
Podatke lahko določite tudi kot zrušitev, da sprožite izjemo. To spremeni privzeto vrnitev iz 'pong' v 'crash."
Razmislite o naslednji knjigi iger:
- gostitelji: vsipostati: da
naloge:
- ping:
crash: podatki
Zagon playbook z izjemo bi moral vrniti naslednjo vrednost:
ansible-playbook ping_except.yml
Zaključek
Ta vadnica vam je pokazala raznoliko uporabnost modula ping. Čeprav ta modul ne vsebuje zapletenih parametrov kot večina modulov Ansible, vseeno vsebuje zmogljive zmogljivosti. Na primer, z modulom ping lahko preverite, ali je napaka posledica manjkajočega okolja Python, in ustvarite nalogo za namestitev zahtevanega okolja na oddaljeni gostitelj.