Da biste izvršili automatizirani zadatak na udaljenom hostu s Ansible-om, potrebno je ispuniti i raditi s određenim varijablama, kao što se i očekivalo. Na primjer, ova vrsta zadatka potrebna je za postavljanje udaljenog domaćina na mrežu, omogućavanje prijave i korisničkih privilegija i postavljanje Python okruženja.
Moguće je SSH pretvoriti u udaljeni host i provjeriti ispunjava li host sve kriterije. Međutim, kao alat za automatizaciju, Ansible nudi module koji vam omogućavaju da izvodite ove zamorne, dugotrajne zadatke u jednoj liniji naredbe.
Ovaj vam vodič pokazuje kako koristiti ugrađeni ping modul Ansible za izvođenje različitih postavljenih varijabli na udaljenim hostovima. Zahtjev za pingom Ansible jednostavan je, ali koristan alat koji možete koristiti za testiranje dostupnosti i praktičnosti udaljenih hostova.
Sada ćemo pobliže pogledati kako Ansible ping djeluje.
BILJEŠKA: Ovaj je odjeljak donekle teoretski. Ako vam je potreban samo tehnički dio članka, možete preskočiti ovaj odjeljak. Unatoč tome, preporučujemo čitanje ovog odjeljka jer pruža neke korisne uvide i informacije o ping modulu.
Uz to, sada ćemo prijeći na predstavljanje ping modula.
O modulu Ansible ping
Ansible ping zahtjev provjerava na udaljenom hostu. Ovaj modul posebno provjerava:
- Je li udaljeni host dostupan i dostupan.
- Može li okruženje Python uspješno pokretati potrebne knjige za reprodukciju.
- Korisnička prijava i privilegije.
Nakon što se zahtjev za ping pošalje udaljenom hostu, modul vraća vrijednost koja pokazuje je li ping bio uspješan. Prema zadanim postavkama ping modul vraća niz 'pong' u slučaju uspjeha i iznimku u slučaju neuspjeha (ako je navedeno).
PRO SAVJET: Da biste osigurali da vaše knjige odgovora Ansible na ciljanim udaljenim hostovima ne zakažu, upotrijebite modul ping da provjerite jesu li ispunjeni zahtjevi i izvršavajte zadatke samo ako se dobije uspješan izlaz.
Značajke Ansible ping modula
Ping modul je prilično jednostavan, a slijedi popis značajki koje pruža ovaj modul:
- Nije ICMP ping; nego je to mali modul koji zahtijeva valjano Python okruženje na udaljenim hostovima.
- Udaljeni hostovi sustava Windows trebali bi umjesto toga koristiti modul win_ping.
- Pruža net_ping modul za mrežne uređaje.
- Prihvaća samo jedan parametar za pokretanje iznimke.
- Koristi se prema zadanim postavkama prilikom pozivanja naredbe ansible u direktoriju / usr / bin / ansible za provjeru dozvola za prijavu i valjanog Python okruženja.
- Vraća niz "pong" na uspjeh.
Kako se koristi Ansible ping modul
Sada ćemo pogledati nekoliko primjera koji koriste ping modul Ansible.
Korištenje AD HOC naredbe za ping
Najjednostavniji način pokretanja Ansible ping modula je pokretanje jednostavne AD HOC naredbe u terminalu.
Naredba AD HOC je sljedeća:
ansible sve -m ping -vGornja naredba započinje pozivom Ansible, nakon čega slijedi određeni obrazac hosta. U ovom slučaju želimo pingati "sve" hostove. Sljedeći dio, '-m', navodi modul koji želimo koristiti. '-V' znači glagolski.
Uspjehom ćete dobiti izlaz poput ovog prikazanog dolje:
Korištenje / etc / ansible / ansible.cfg kao konfiguracijska datoteka 35.222.210.12| USPJEH =>
"ansible_facts":
"otkriven_interpreter_python": "/ usr / bin / python",
"promijenjeno": false,
"stolni tenis"
Ako su udaljeni hostovi nedostupni (možda su izvan mreže), dobit ćete izlaz poput ovog prikazanog dolje:
Korištenje / etc / ansible / ansible.cfg kao konfiguracijska datoteka 35.222.210.12| NEDOSTUPAN! =>
"promijenjeno": false,
"msg": "Nije uspjelo povezivanje s hostom putem ssh: ssh: povezivanje s hostom 35.222.210.12 priključak 22: Veza je istekla ",
"nedostižno": istina
Korištenje modula ping u Playbooks
Također možete koristiti ping modul unutar playbook-a. U većini slučajeva nećete izraditi knjigu za reprodukciju koja izvršava samo zahtjev za ping. Međutim, sve zadatke možete umotati u uvjete zahtjeva za ping.
Razmotrite sljedeću jednostavnu knjigu priručnika:
- domaćini: svipostati: da
zadaci:
- ping
Možda ćete primijetiti da sam u gornju knjigu priručnika uključio direktivu 'postani'. To nije uvjet, ali susretao sam se sa slučajevima kada ping modul zakaže za standardnog korisnika. Sada možete pokrenuti knjigu priručnika i provjeriti ispunjava li poslužitelj domaćina zahtjeve za uspješan 'pong' odgovor.
ansible-playbook ping.ymlAko je ping neuspješan, dobit ćete sljedeću pogrešku "nedostižno":
kobno: [35.222.210.12]: NEDOSTOJIVO! => "promijenjeno": false, "msg": "Nije uspjelo povezivanje s hostom putem ssh: ssh: povezivanje s hostom 35.222.210.12 priključaka 22: Veza je istekla "," nedostižno ": trueUpotreba izuzeća za povišenje s ping modulom
Možete također odrediti podatke kao rušenje kako biste izazvali iznimku. Ovo mijenja zadani povratak iz 'pong' u 'pad'.'
Razmotrite sljedeću knjigu priručnika:
- domaćini: svipostati: da
zadaci:
- ping:
pad: podaci
Pokretanje knjige pjesama s iznimkom trebalo bi vratiti sljedeću vrijednost:
ansible-playbook ping_except.yml
Zaključak
Ovaj vam je vodič pokazao raznoliku korisnost ping modula. Iako ovaj modul ne sadrži složene parametre kao većina modula Ansible, on i dalje sadrži moćne mogućnosti. Na primjer, možete koristiti ping modul da provjerite je li pogreška zbog nedostajućeg Python okruženja i stvorite zadatak za instaliranje potrebnog okruženja na udaljeni host.