Ansible Prezri napaka

Ansible Prezri Napaka



Med konfiguriranjem naloge na drugi gostiteljski napravi so napake Ansible pogost pojav. Predstavljajo edinstvena in morda pomembna stanja sistema. Kljub temu lahko pride do nekaterih napak, ki se jim želimo izogniti, da se bodo naloge tudi izvajale in prikazale izhod, če so uspešno izvedene. V tem članku bomo govorili o napakah Ansible in o tem, kako jih zanemariti. Posebej prikazujemo tehniko za zatiranje in ignoriranje napak z Ansible.

V nasprotju z odpravljanjem napak pomeni izogibanje napakam nadaljevanje nalog, kolikor to ne vpliva na dejavnost v priročniku Ansible Playbook. Orodje ansible izda opozorilo, ko ne more dokončati opravila ali priročnika med razhroščevanjem opravila. Vzrokov je več, a na nas je, da jih prepoznamo in poiščemo rešitev. Vseh napak žal ni mogoče odpraviti. Lahko se odločite, da začnete ignorirati napake, če tega ne želite ali če ne morete rešiti težave.







Večina nadzornih upraviteljev v Ansible uporablja to strategijo pri povezovanju s ciljnimi gostitelji v realnih scenarijih. Ansible privzeto prekine dejavnosti na ciljni napravi in nadaljuje dejavnosti na nekaterih drugih strežnikih, kadar koli vrne neničelni vrnjeni rezultat iz stavka ali napako iz paketa. Čeprav obstajajo določene situacije, ko boste morda želeli ravnati drugače. Vrnjeni rezultat, ki ni nič, občasno pomeni napredek. Pogosto boste morda želeli, da se obdelava ustavi na enem strežniku, tako da se ustavi na vseh gostiteljih.



Načini ignoriranja napak v Ansibleu

V Ansible se uporabljajo različni načini za izvajanje nalog iz priročnika, če pokaže napako naloge. Sledijo različni načini, ki bodo pomagali izvesti nalogo, tudi če Ansible prikazuje napake:



1. Uporaba ukaza Ignore_Errors=True





Čeprav naloga še naprej ne uspe, se priročnik še naprej izvaja, če podate ukaz ignore_errors=true na dnu dejavnosti. Kljub skrbi za dokončanje naloge ali neuspehe, še vedno izvaja nadaljnjo aktivnost. Če je aktivnost nekako neuspešna, se premakne na naslednjo. Če je aktivnost uspešna, po tem zaključi postopek.

2. Uporaba načina preverjanja v Ansible



Uporabite posebne logične spremenljivke, način preverjanja Ansible, ki je definiran na True, ko je Ansible v metodi preverjanja, da obidete nalogo ali prezrete napake pri nalogi, kadar koli se uporabi različica metode preverjanja Ansible.

3. Uporaba ukaza Failed=When v Ansible Playbook

V Ansibleu lahko uporabimo tudi pogojnik failed_when, da določimo kakršno koli »napako«, ki je implicirana za vsako dejavnost. Podobno kot pri vseh pogojnih stavkih Ansible so seznami številnih kriterijev failed_when združeni z implicitnim. Torej naloga ne uspe le, če so izpolnjeni vsi pogoji.

Predpogoji za ignoriranje napak v Ansible

Konfiguracijsko orodje Ansible mora izpolnjevati potrebna merila za vključitev konkretnega primera:

  • Glavni strežnik Ansible ali lahko rečemo nadzorni strežnik je potreben, da lahko konfiguriramo ukaze na ciljni napravi.
  • Imeti moramo lokalne gostitelje, da lahko stopimo v stik z vsakim od njih in uporabimo različne načine ignoriranja napak v programski opremi Ansible. Lokalni gostitelj v tem primeru uporabljamo kot ciljni oddaljeni strežnik za čas trajanja dejavnosti.
  • Pišemo priročnike, izvajamo ukaze Ansible Ignore Error in uporabljamo napravo ansible-controller za sledenje rezultatom na oddaljenih gostiteljih.

Da bi učencu pomagali razumeti načelo uporabe napake prezrtja v priročniku Ansible playbook, implementirajmo naslednji primer:

Primer: uporaba ukaza Ignore_Errors=True

To je najpreprostejši primer, ki uporablja Ansible za implementacijo, kjer vključimo več nalog v priročnik in izvedemo naloge z ukazom prezri napako. Da bi to naredili, najprej napišemo naslednjo kodo v terminal Ansible:

[ korenina @ master ansible ] # nano ignore_errors.yml

Po izdelavi in ​​zagonu priročnika ignore_errors.yml začnemo vnašati ukaze v priročniku. Najprej uporabimo možnost »gostitelji«, pri čemer podane gostitelje posredujemo kot »localhost«. Vrednost »false« vnesemo v argument »zberi dejstva«, tako da ne bomo mogli pridobiti dodatnih informacij o lokalnem gostitelju, ko zaženemo priročnik.

Po tem začnemo navajati vsako nalogo, ki jo želimo dokončati pod možnostjo »naloge«. V prvi nalogi prikažemo dokument, ki v imeniku Ansible ne obstaja. Najprej posredujemo naslov naloge, ki jo želimo izvesti. Nato uporabimo ukazno možnost in shranimo neobstoječi besedilni dokument ter uporabimo “ls”, da lahko izvedemo ukaz v prvi nalogi. Po prvem opravilu uporabimo ukaz ignore_errors=true, tako da če ima opravilo nad stavkom prezri napako, ignorira opravilo in se premakne na naslednje opravilo ter ga izvede.

Navajamo še eno nalogo, ki se uporablja. Če prva naloga ne uspe, mora orodje Ansible izvesti naslednjo nalogo. Nato uporabimo parameter za odpravljanje napak, da zaženemo nalogo v priročniku.

- gostitelji: localhost
gather_facts: lažno
naloge:
- ime: Seznam neobstoječega mapa
ukaz: ls neobstoječe.txt
ignore_errors: prav

- ime: nadaljevati opravilo po neuspehu
razhroščevanje:
sporočilo: 'Nadaljevanje opravila po neuspehu'

Sedaj smo našteli dovolj nalog za izvedbo in preverili ukaz prezri napako. Zdaj končamo playbook in se vrnemo na glavni terminal. Po tem zaženemo playbook. Za to uporabimo naslednjo izjavo:

[ korenina @ master ansible ] # ansible-playbook ignore_errors.yml

Po izvedbi zgoraj omenjenega ukaza dobimo naslednji izhod. Kot vidite, prva naloga, ki navaja neobstoječo datoteko, kaže napako. Toda druga naloga je bila uspešno izvedena, ker smo prvo nalogo prezrli z uporabo ignore_error=true v priročniku.

Zaključek

Naučili smo se, kaj pomeni napaka prezrtja v Ansibleu. O tem, kako deluje, smo razpravljali v priročniku Ansible Playbook. Razpravljali smo tudi o različnih načinih ignoriranja napake v Ansibleu med izvajanjem nalog. Implementirali smo primer, tako da je vsak koncept jasen uporabniku.