మరొక హోస్ట్ పరికరంలో టాస్క్ను కాన్ఫిగర్ చేస్తున్నప్పుడు, అన్సిబుల్ ఎర్రర్లు ఒక సాధారణ సంఘటన. అవి ప్రత్యేకమైన మరియు బహుశా ముఖ్యమైన సిస్టమ్ స్థితులను సూచిస్తాయి. అయినప్పటికీ, మేము నివారించాలనుకుంటున్న కొన్ని లోపాలు ఉండవచ్చు, తద్వారా టాస్క్లు కూడా విజయవంతంగా అమలు చేయబడితే వాటిని అమలు చేసి అవుట్పుట్ చూపుతాయి. ఈ వ్యాసంలో, మేము అన్సిబుల్ లోపాలు మరియు వాటిని ఎలా విస్మరించాలో గురించి మాట్లాడుతాము. Ansibleతో వైఫల్యాలను అణచివేయడానికి మరియు విస్మరించడానికి మేము ప్రత్యేకంగా సాంకేతికతను ప్రదర్శిస్తాము.
ఎర్రర్ ఫిక్సింగ్కు విరుద్ధంగా, వైఫల్యాలను నివారించడం వలన ఆన్సిబుల్ ప్లేబుక్లోని కార్యాచరణ ప్రభావితం కానంత వరకు టాస్క్లతో కొనసాగుతుంది. టాస్క్ని డీబగ్ చేస్తున్నప్పుడు టాస్క్ లేదా ప్లేబుక్ పూర్తి చేయలేనప్పుడు ఆన్సిబుల్ టూల్ హెచ్చరిక సందేశాన్ని అందిస్తుంది. అనేక కారణాలు ఉన్నాయి, కానీ వాటిని గుర్తించి, పరిష్కారాన్ని కనుగొనడం మా ఇష్టం. దురదృష్టవశాత్తు, అన్ని లోపాలు పరిష్కరించబడవు. మీరు చేయకూడదనుకుంటే లేదా మీరు సమస్యను పరిష్కరించలేకపోతే లోపాలను విస్మరించడం ప్రారంభించడాన్ని మీరు ఎంచుకోవచ్చు.
యాన్సిబుల్లోని మేనేజర్లను నియంత్రించడంలో ఎక్కువ భాగం వాస్తవ ప్రపంచ దృశ్యాలలో టార్గెట్ హోస్ట్లతో కనెక్ట్ అవుతున్నప్పుడు ఈ వ్యూహాన్ని ఉపయోగిస్తాయి. లక్ష్య పరికరంలో కార్యకలాపాలను నిలిపివేయడం మరియు ప్యాకేజీ నుండి సున్నా కాని ఫలితాన్ని అందించినప్పుడల్లా కొన్ని ఇతర సర్వర్లలో కార్యకలాపాలను కొనసాగించడం వంటి వాటికి Ansible డిఫాల్ట్లు. అయినప్పటికీ, మీరు భిన్నంగా వ్యవహరించాలనుకునే కొన్ని పరిస్థితులు ఉన్నాయి. సున్నా లేని ఫలితం అప్పుడప్పుడు పురోగతిని సూచిస్తుంది. తరచుగా, మీరు ప్రాసెసింగ్ ఒక సర్వర్లో ఆపివేయాలని కోరుకోవచ్చు, తద్వారా ఇది అన్ని హోస్ట్లలో ఆగిపోతుంది.
అన్సిబుల్లోని లోపాలను విస్మరించే మార్గాలు
Ansibleలో, పని వైఫల్యాన్ని చూపితే, ప్లేబుక్ టాస్క్లను నిర్వహించడానికి వివిధ మార్గాలు ఉపయోగించబడతాయి. Ansible లోపాలను చూపుతున్నప్పటికీ విధిని అమలు చేయడంలో సహాయపడే వివిధ మార్గాలు క్రిందివి:
1. Ignore_Errors=ట్రూ కమాండ్ని ఉపయోగించడం
టాస్క్ విఫలమవుతూనే ఉన్నప్పటికీ, మీరు యాక్టివిటీ దిగువనignign_errors=true కమాండ్ని పేర్కొంటే ప్లేబుక్ ఎగ్జిక్యూట్ అవుతూనే ఉంటుంది. పనిని పూర్తి చేయడం లేదా వైఫల్యాల గురించి పట్టించుకోనప్పటికీ, ఇది ఇప్పటికీ తదుపరి కార్యాచరణను నిర్వహిస్తుంది. ఏదో ఒకవిధంగా కార్యాచరణ విఫలమైతే, అది తదుపరి దానికి వెళుతుంది. కార్యాచరణ విజయవంతమైతే, అది ఆ తర్వాత ఒక ప్రక్రియను పూర్తి చేస్తుంది.
2. అన్సిబుల్లో చెక్ మోడ్ని ఉపయోగించడం
బూలియన్ ప్రత్యేక వేరియబుల్స్, Ansible చెక్ మోడ్ను ఉపయోగించుకోండి, ఇది Ansible తనిఖీ పద్ధతిలో ఉన్నప్పుడు ఒక పనిని దాటవేయడానికి లేదా Ansible యొక్క చెకింగ్ మెథడ్ వెర్షన్ ఉపయోగించబడినప్పుడల్లా ఒక టాస్క్పై వైఫల్యాలను విస్మరించడానికి ఒకసారి Trueకి నిర్వచించబడుతుంది.
3. ఫెయిల్డ్=వెన్ కమాండ్ ఇన్ అన్సిబుల్ ప్లేబుక్ని ఉపయోగించడం
అన్సిబుల్లో, ప్రతి కార్యకలాపానికి 'వైఫల్యం' సూచించబడినా పేర్కొనడానికి మేము failed_when షరతులతో కూడా ఉపయోగించవచ్చు. అన్ని అన్సిబుల్ షరతులతో కూడిన స్టేట్మెంట్ల మాదిరిగానే, అనేక విఫలమైన_వెన్ ప్రమాణాల జాబితాలు అవ్యక్తతతో కలిపి ఉంటాయి. కాబట్టి, అన్ని షరతులు సంతృప్తి చెందితే మాత్రమే పని విఫలమవుతుంది.
అన్సిబుల్లోని లోపాలను విస్మరించడానికి ముందస్తు అవసరాలు
అన్సిబుల్ కాన్ఫిగరేషన్ సాధనం నిర్దిష్ట ఉదాహరణను చేర్చడానికి అవసరమైన ప్రమాణాలకు అనుగుణంగా ఉండాలి:
- ఒక Ansible ప్రధాన సర్వర్ లేదా మేము లక్ష్య పరికరంలో ఆదేశాలను కాన్ఫిగర్ చేయడానికి నియంత్రణ సర్వర్ అవసరమని చెప్పగలము.
- మేము స్థానిక హోస్ట్లను కలిగి ఉండాలి, తద్వారా మేము అన్సిబుల్ సాఫ్ట్వేర్లోని లోపాలను విస్మరించడానికి వివిధ మార్గాలను ఉపయోగించడానికి వారిలో ప్రతి ఒక్కరినీ సంప్రదించవచ్చు. మేము ఈ సందర్భంలో స్థానిక హోస్ట్ను కార్యాచరణ వ్యవధి కోసం లక్ష్య రిమోట్ సర్వర్గా ఉపయోగిస్తాము.
- మేము ప్లేబుక్లను వ్రాస్తాము, Ansible నిర్లక్ష్యం ఎర్రర్ ఆదేశాలను అమలు చేస్తాము మరియు సుదూర హోస్ట్లలో ఫలితాలను ట్రాక్ చేయడానికి ansible-కంట్రోలర్ పరికరాన్ని ఉపయోగిస్తాము.
అన్సిబుల్ ప్లేబుక్లో ఇగ్నోర్ ఎర్రర్ని ఉపయోగించుకునే సూత్రాన్ని అర్థం చేసుకోవడంలో అభ్యాసకులకు సహాయం చేయడానికి, కింది ఉదాహరణను అమలు చేద్దాం:
ఉదాహరణ: ఇగ్నోర్_ఎర్రర్స్=ట్రూ కమాండ్ని ఉపయోగించడం
ఇది అమలు కోసం Ansibleని ఉపయోగించే సరళమైన ఉదాహరణ, ఇక్కడ మేము ప్లేబుక్లో అనేక టాస్క్లను చేర్చి, నిర్లక్ష్య దోష ఆదేశాన్ని ఉపయోగించి టాస్క్లను అమలు చేస్తాము. దీన్ని చేయడానికి, మేము మొదట కింది కోడ్ను అన్సిబుల్ టెర్మినల్లో వ్రాస్తాము:
[ రూట్ @ మాస్టర్ అన్సిబుల్ ] # నానో ఇగ్నోర్_ఎర్రర్స్.yml
నిర్లక్ష్యం_errors.yml ప్లేబుక్ని సృష్టించి, ప్రారంభించిన తర్వాత, మేము ఇప్పుడు ప్లేబుక్లో ఆదేశాలను నమోదు చేయడం ప్రారంభిస్తాము. ముందుగా, మేము 'హోస్ట్లు' ఎంపికను ఉపయోగిస్తాము, సరఫరా చేయబడిన హోస్ట్లను 'లోకల్ హోస్ట్'గా పాస్ చేస్తాము. మేము 'వాస్తవాలు సేకరించండి' ఆర్గ్యుమెంట్లో 'తప్పుడు' విలువను నమోదు చేస్తాము, తద్వారా మేము ప్లేబుక్ని అమలు చేసినప్పుడు స్థానిక హోస్ట్ గురించి అదనపు సమాచారాన్ని పొందలేము.
ఆ తర్వాత, మేము పూర్తి చేయాలనుకుంటున్న ప్రతి పనిని “టాస్క్లు” ఎంపిక క్రింద జాబితా చేయడం ప్రారంభిస్తాము. మొదటి పనిలో, మేము Ansible డైరెక్టరీలో లేని పత్రాన్ని ప్రదర్శిస్తాము. ముందుగా, మేము అమలు చేయాలనుకుంటున్న టాస్క్ యొక్క శీర్షికను పాస్ చేస్తాము. అప్పుడు, మేము కమాండ్ ఎంపికను ఉపయోగిస్తాము మరియు ఉనికిలో లేని టెక్స్ట్ డాక్యుమెంట్ను నిల్వ చేస్తాము మరియు “ls”ని ఉపయోగిస్తాము, తద్వారా మేము మొదటి పనిలో ఆదేశాన్ని అమలు చేస్తాము. మొదటి టాస్క్ తర్వాత, ఇగ్నోర్_ఎర్రర్స్=ట్రూ కమాండ్ని ఉపయోగిస్తాము, తద్వారా ఇగ్నోర్ స్టేట్మెంట్ పైన ఉన్న టాస్క్ విఫలమైతే, అది టాస్క్ను విస్మరించి తదుపరి టాస్క్కి వెళ్లి దానిని అమలు చేస్తుంది.
మేము ఉపయోగించే మరొక పనిని జాబితా చేస్తాము. మొదటి పని విఫలమైతే, Ansible సాధనం తదుపరి పనిని అమలు చేయాలి. అప్పుడు, మేము ప్లేబుక్లో టాస్క్ను అమలు చేయడానికి డీబగ్ పరామితిని ఉపయోగిస్తాము.
- హోస్ట్లు: లోకల్ హోస్ట్వాస్తవాలను సేకరించండి: తప్పుడు
పనులు:
- పేరు: ఉనికిలో లేని జాబితా ఫైల్
ఆదేశం: ls non-existent.txt
నిర్లక్ష్యం_లోపాలు: నిజం
- పేరు: కొనసాగుతుంది విఫలమైన తర్వాత పని
డీబగ్:
సందేశం: 'విఫలమైన తర్వాత పనిని కొనసాగించండి'
ఇప్పుడు, మేము ఎగ్జిక్యూట్ చేయడానికి తగినన్ని టాస్క్లను జాబితా చేస్తాము మరియు ఇగ్నోర్ ఎర్రర్ ఆదేశాన్ని తనిఖీ చేస్తాము. ఇప్పుడు, మేము ప్లేబుక్ను ముగించి, ప్రధాన టెర్మినల్కి తిరిగి వెళ్తాము. ఆ తరువాత, మేము ప్లేబుక్ని అమలు చేస్తాము. దాని కోసం, మేము ఈ క్రింది ప్రకటనను ఉపయోగిస్తాము:
[ రూట్ @ మాస్టర్ అన్సిబుల్ ] # ansible-playbookignign_errors.yml
పైన పేర్కొన్న ఆదేశాన్ని అమలు చేసిన తర్వాత, మనకు ఈ క్రింది అవుట్పుట్ వస్తుంది. మీరు చూస్తున్నట్లుగా, ఉనికిలో లేని ఫైల్ను జాబితా చేసే మొదటి పని వైఫల్యాన్ని చూపుతుంది. కానీ రెండవ పని విజయవంతంగా అమలు చేయబడింది ఎందుకంటే మేము ప్లేబుక్లోignign_error=trueని ఉపయోగించడం ద్వారా మొదటి పనిని విస్మరించాము.
ముగింపు
అన్సిబుల్లో ఇగ్నోర్ ఎర్రర్ అంటే ఏమిటో తెలుసుకున్నాం. అన్సిబుల్ ప్లేబుక్లో ఇది ఎలా పనిచేస్తుందో మేము చర్చించాము. టాస్క్లను అమలు చేస్తున్నప్పుడు అన్సిబుల్లోని లోపాన్ని విస్మరించే వివిధ మార్గాలను కూడా మేము చర్చించాము. ప్రతి భావన వినియోగదారుకు స్పష్టంగా ఉండేలా మేము ఒక ఉదాహరణను అమలు చేసాము.