Norint atlikti automatizuotą užduotį nuotoliniame pagrindiniame kompiuteryje su „Ansible“, reikia užpildyti ir dirbti su tam tikrais kintamaisiais, kaip tikimasi. Pvz., Tokio tipo užduotis būtina norint prijungti nuotolinį pagrindinį kompiuterį prie interneto, leisti prisijungimo ir vartotojo teises bei nustatyti „Python“ aplinką.
SSH galima į nuotolinį pagrindinį kompiuterį ir patikrinti, ar pagrindinis kompiuteris atitinka visus kriterijus. Tačiau kaip automatizavimo įrankį „Ansible“ pateikia modulius, leidžiančius atlikti šias varginančias, daug laiko reikalaujančias užduotis vienoje komandų eilutėje.
Šioje pamokoje parodoma, kaip naudoti integruotą „Ansible“ ping modulį atliekant įvairius rinkinių kintamuosius nuotoliniuose kompiuteriuose. „Ansible ping“ užklausa yra paprastas, bet naudingas įrankis, kurį galite naudoti norėdami patikrinti nuotolinių kompiuterių prieinamumą ir praktiškumą.
Dabar mes atidžiau pažvelgsime, kaip veikia „Ansible ping“.
PASTABA: Šis skyrius yra šiek tiek teorinis. Jei jums reikia tik techninės straipsnio dalies, galite praleisti šią dalį. Nepaisant to, rekomenduojame perskaityti šį skyrių, nes jame pateikiama keletas naudingų įžvalgų ir informacijos apie ping modulį.
Tai pažymėję, mes dabar pereisime prie ping modulio pristatymo.
Apie „Ansible ping“ modulį
„Ansible ping“ užklausa tikrina nuotolinį pagrindinį kompiuterį. Šis modulis specialiai tikrina:
- Ar nuotolinis kompiuteris yra pasiekiamas ir pasiekiamas.
- Ar „Python“ aplinka gali sėkmingai paleisti reikiamus grojaraščius.
- Vartotojo prisijungimas ir privilegijos.
Po to, kai nuotolinio kompiuterio kompiuteriui yra išsiųsta pingo užklausa, modulis grąžina vertę, nurodančią, ar ping buvo sėkmingas. Pagal numatytuosius nustatymus ping modulis grąžina eilutę „pong“, jei pasiseka, ir išimtį dėl nesėkmės (jei nurodyta).
PRO PATARIMAS: Norėdami įsitikinti, kad jūsų „Ansible“ grojaraščiai tiksliniuose nuotoliniuose pagrindiniuose kompiuteriuose nesugeba, naudokite ping modulį, kad patikrintumėte, ar laikomasi reikalavimų, ir atlikite užduotis tik tada, kai gaunamas sėkmingas išvestis.
Ansible ping modulio ypatybės
Pingo modulis yra gana paprastas, o toliau pateikiamas šio modulio teikiamų funkcijų sąrašas:
- Ne ICMP ping; veikiau tai yra nedidelis modulis, kuriam reikalinga galiojanti Python aplinka nuotoliniuose kompiuteriuose.
- „Windows“ nuotoliniai kompiuteriai turėtų naudoti „win_ping“ modulį.
- Pateikia tinklo įrenginių „net_ping“ modulį.
- Priimamas tik vienas parametras, kad būtų išimtis.
- Pagal numatytuosius nustatymus naudojamas iškviečiant komandą / usr / bin / ansible kataloge ansible komandai, norint patikrinti prisijungimo teises ir galiojančią „Python“ aplinką.
- Sėkmingai pateikia eilutę „pong“.
Kaip naudotis „Ansible ping“ moduliu
Dabar apžvelgsime keletą pavyzdžių, kuriuose naudojamas „Ansible ping“ modulis.
Naudojant „AD HOC“ ping komandą
Paprasčiausias būdas paleisti „Ansible ping“ modulį yra paleisti paprastą AD HOC komandą terminale.
AD HOC komanda yra tokia:
ansible all -m ping -vPirmiau nurodyta komanda pradedama skambinant „Ansible“, po kurios nurodomas konkretus pagrindinio kompiuterio modelis. Šiuo atveju mes norime sujungti „visus“ kompiuterius. Kitoje dalyje „-m“ nurodomas modulis, kurį norime naudoti. „-V“ reiškia žodį.
Pasisekę gausite tokią produkciją, kokia parodyta žemiau:
Naudojant / etc / ansible / ansible.cfg kaip konfigūracijos failas 35.222.210.12| SĖKMĖ =>
"ansible_facts":
"atrastas_interpreter_python": "/ usr / bin / python",
"pasikeitė": klaidinga,
"stalo tenisas"
Jei nuotoliniai pagrindiniai kompiuteriai nepasiekiami (galbūt jie yra neprisijungę), gausite tokią išvestį, kaip parodyta žemiau:
Naudojant / etc / ansible / ansible.cfg kaip konfigūracijos failas 35.222.210.12| NEPASIEKIAMA! =>
"pasikeitė": klaidinga,
"msg": "Nepavyko prisijungti prie pagrindinio kompiuterio per ssh: ssh: prisijungti prie 35 pagrindinio kompiuterio.222.210.12 prievadas 22: Baigėsi ryšio laikas ",
„nepasiekiama“: tiesa
„Ping“ modulio naudojimas „Playbooks“
Taip pat galite naudoti „ping“ modulį grojaraštyje. Daugeliu atvejų jūs nekursite grojaraščio, kuriame atliekama tik pingo užklausa. Tačiau visas užduotis galite įtraukti į ping užklausos sąlygas.
Apsvarstykite šį paprastą pjesę:
- šeimininkai: visitapti: taip
užduotys:
- ping
Galite pastebėti, kad į pirmiau pateiktą pjesę įtraukiau direktyvą „tapti“. Tai nėra reikalavimas, tačiau teko susidurti su atvejais, kai ping modulis nepavyksta standartiniam vartotojui. Dabar galite paleisti „playbook“ ir patikrinti, ar pagrindinis serveris atitinka sėkmingo „pong“ atsakymo reikalavimus.
ansible-playbook ping.ymlJei pingas nesėkmingas, gausite šią klaidą: „nepasiekiama“:
mirtinas: [35.222.210.12]: NEPASIEKIAMA! => "pakeistas": klaidingas, "msg": "Nepavyko prisijungti prie pagrindinio kompiuterio per ssh: ssh: prisijungti prie 35 pagrindinio kompiuterio.222.210.12 prievadas 22: Baigėsi ryšio laikas "," nepasiekiamas ": tiesaKėlimo išimties naudojimas su ping moduliu
Taip pat galite nurodyti duomenis kaip strigtį, kad sukeltumėte išimtį. Tai pakeičia numatytąją grąžą iš „pong“ į „crash“."
Apsvarstykite šią pjesę:
- šeimininkai: visitapti: taip
užduotys:
- ping:
avarija: duomenys
Vykdant grojaraštį su išimtimi, turėtų būti pateikta ši vertė:
ansible-playbook ping_except.yml
Išvada
Ši pamoka parodė įvairų ping modulio naudingumą. Nors šiame modulyje nėra sudėtingų parametrų, kaip ir daugumoje „Ansible“ modulių, jame vis tiek yra galingų galimybių. Pvz., Galite naudoti ping modulį, norėdami patikrinti, ar klaida atsirado dėl trūkstamos „Python“ aplinkos, ir sukurti užduotį reikiamai aplinkai įdiegti nuotoliniame pagrindiniame kompiuteryje.