అన్సిబుల్ ట్యుటోరియల్
మీరు తెలుసుకోవడానికి నా మునుపటి బ్లాగ్ ద్వారా వెళ్ళారని నేను ఆశిస్తున్నాను మరియు అన్సిబుల్ యొక్క ఎక్కువగా ఉపయోగించే పరిభాష. మీరు లేకపోతే, దయచేసి దీన్ని తనిఖీ చేయండి, తద్వారా ఈ అన్సిబుల్ ట్యుటోరియల్ గురించి మీకు బాగా అర్థం చేసుకోవచ్చు.అన్సిబుల్ ఒక కీలకమైన భాగాన్ని కలిగిస్తుందని మీరు కూడా తెలుసుకోవాలి కాన్ఫిగరేషన్ నిర్వహణ, విస్తరణ మరియు ఆర్కెస్ట్రేషన్ కోసం ఒక సాధనంగా.
ఈ ‘అన్సిబుల్ ట్యుటోరియల్’ యొక్క అవలోకనాన్ని మీకు ఇస్తాను:
- మీరు నేర్చుకుంటారు ప్లేబుక్స్ రాయండి
- మీరు భిన్నమైన వాటి గురించి నేర్చుకుంటారు అన్సిబుల్ లో గుణకాలు
- మీరు రాయడం నేర్చుకుంటారు Adhoc ఆదేశాలు
- జాగ్రత్తగా అన్సిబుల్ తో
అన్సిబుల్ ప్లేబుక్ ట్యుటోరియల్ | డెవొప్స్ శిక్షణ | ఎడురేకా
అన్సిబుల్ ట్యుటోరియల్ - అన్సిబుల్ ప్లేబుక్స్ రాయడం
అన్సిబుల్లోని ప్లేబుక్లు YAML ఆకృతిలో వ్రాయబడ్డాయి. ఇది మానవ-చదవగలిగే డేటా సీరియలైజేషన్ భాష. ఇది సాధారణంగా కాన్ఫిగరేషన్ ఫైళ్ళ కోసం ఉపయోగిస్తారు. డేటా నిల్వ చేయబడుతున్న అనేక అనువర్తనాలలో కూడా దీనిని ఉపయోగించవచ్చు.
అన్సిబుల్ కోసం, దాదాపు ప్రతి YAML ఫైల్ జాబితాతో మొదలవుతుంది. జాబితాలోని ప్రతి అంశం కీ / విలువ జతల జాబితా, దీనిని సాధారణంగా “హాష్” లేదా “నిఘంటువు” అని పిలుస్తారు. కాబట్టి, YAML లో జాబితాలు మరియు నిఘంటువులను ఎలా వ్రాయాలో తెలుసుకోవాలి.
జాబితాలోని సభ్యులందరూ “-” (డాష్ మరియు స్థలం) తో ప్రారంభమయ్యే ఒకే ఇండెంటేషన్ స్థాయిలో ప్రారంభమయ్యే పంక్తులు. నిఘంటువుల జాబితాలు లేదా మిశ్రమ నిఘంటువుల విలువలు జాబితాలు లేదా రెండింటి మిశ్రమం వంటి మరింత క్లిష్టమైన డేటా నిర్మాణాలు సాధ్యమే.
ఉదా. ఎడురేకాలోని విభాగాల జాబితా కోసం:
విభాగాలు: - మార్కెటింగ్ - అమ్మకాలు - పరిష్కారాలు - కంటెంట్ రచన - మద్దతు - ఉత్పత్తి
ఇప్పుడు నేను మీకు నిఘంటువు యొక్క ఉదాహరణ ఇస్తాను:
-యూసా-ఖండం: ఉత్తర అమెరికా-రాజధాని: వాషింగ్టన్ డిసి-జనాభా: 319 మిలియన్
హోస్ట్లు మరియు వినియోగదారులు:
ప్లేబుక్లోని ప్రతి ఆట కోసం, మీ మౌలిక సదుపాయాలలో ఏ యంత్రాలను లక్ష్యంగా చేసుకోవాలో మరియు ఏ రిమోట్ వినియోగదారుని పనులు పూర్తి చేయాలో మీరు ఎంచుకోవాలి. అన్సిబుల్ జాబితాలో హోస్ట్లను చేర్చడానికి, మేము హోస్ట్ మెషీన్ల యొక్క IP చిరునామాలను ఉపయోగిస్తాము.
సాధారణంగా అతిధేయలు ఒకటి లేదా అంతకంటే ఎక్కువ సమూహాలు లేదా హోస్ట్ నమూనాలు, వీటిని పెద్దప్రేగులతో వేరు చేస్తారు. రిమోట్ యూజర్ యూజర్ ఖాతా పేరు మాత్రమే.
వేరియబుల్స్:
ప్లేబుక్స్ మరియు పాత్రలలో మరింత సౌలభ్యాన్ని ప్రారంభించడానికి గతంలో నిర్వచించిన వేరియబుల్స్ అన్సిబుల్ ఉపయోగిస్తుంది. ఇచ్చిన విలువల సమితి ద్వారా లూప్ చేయడానికి, సిస్టమ్ యొక్క హోస్ట్ పేరు వంటి వివిధ సమాచారాన్ని యాక్సెస్ చేయడానికి మరియు టెంప్లేట్లలోని కొన్ని తీగలను నిర్దిష్ట విలువలతో భర్తీ చేయడానికి వాటిని ఉపయోగించవచ్చు.
అన్సిబుల్ ఇప్పటికే ప్రతి వ్యవస్థకు వ్యక్తిగతమైన వేరియబుల్స్ సమితిని నిర్వచిస్తుంది. అన్సిబుల్ ఒక సిస్టమ్లో నడుస్తున్నప్పుడల్లా, సిస్టమ్ గురించి అన్ని వాస్తవాలు మరియు సమాచారం సేకరించి వేరియబుల్స్గా సెట్ చేయబడతాయి.
కానీ ఒక ఉంది పాలన వేరియబుల్స్ పేరు పెట్టడానికి. వేరియబుల్ పేర్లు అక్షరాలు, సంఖ్యలు మరియు అండర్ స్కోర్లుగా ఉండాలి. వేరియబుల్స్ ఎల్లప్పుడూ అక్షరంతో ప్రారంభం కావాలి. ఉదా. wamp_21, పోర్ట్ 5 చెల్లుబాటు అయ్యే వేరియబుల్ పేర్లు, అయితే 01_port, _ సర్వర్ చెల్లదు.
పనులు:
కాన్ఫిగరేషన్ పాలసీ యొక్క బిట్లను చిన్న ఫైల్లుగా విభజించడానికి పనులు మిమ్మల్ని అనుమతిస్తాయి. టాస్క్ ఇతర ఫైళ్ళ నుండి పుల్ కలిగి ఉంటుంది. అన్సిబుల్ లోని టాస్క్లు దాని యొక్క ఆంగ్ల అర్ధంతో చాలా చక్కగా ఉంటాయి.
ఉదా: ఇన్స్టాల్, అప్డేట్ మొదలైనవి.
హ్యాండ్లర్లు:
హ్యాండ్లర్లు అన్సిబుల్ ప్లేబుక్లోని రెగ్యులర్ టాస్క్ల మాదిరిగానే ఉంటాయి, కానీ టాస్క్ నోటిఫై డైరెక్టివ్ను కలిగి ఉంటే మాత్రమే అమలు అవుతుంది మరియు అది ఏదో మార్చబడిందని సూచిస్తుంది. ఉదాహరణకు, కాన్ఫిగర్ ఫైల్ మార్చబడితే, కాన్ఫిగర్ ఫైల్ను సూచించే పని సేవా పున art ప్రారంభ హ్యాండ్లర్కు తెలియజేయవచ్చు.
అపాచీ httpd సర్వర్ ప్రోగ్రామ్ను ప్రారంభించే ప్లేబుక్ యొక్క ఉదాహరణను నేను మీకు ఇస్తాను:
----అతిధేయలు: వెబ్ సర్వర్లు ఎవరిది: http_port: 80 max_clients: 200 రిమోట్_యూజర్: రూట్ పనులు: - పేరు: అపాచీ తాజా వెర్షన్లో ఉందని నిర్ధారించుకోండి yum: పేరు = httpd state = తాజాది - పేరు: అపాచీ కాన్ఫిగర్ ఫైల్ రాయండి టెంప్లేట్: src = / srv / httpd.j2 dest = / etc / httpd.conf తెలియజేయండి: - అపాచీని పున art ప్రారంభించండి - పేరు: అపాచీ నడుస్తున్నట్లు నిర్ధారించుకోండి (మరియు దాన్ని బూట్ వద్ద ప్రారంభించండి) సేవ: పేరు = httpd state = ప్రారంభించినది ప్రారంభించబడింది = అవును హ్యాండ్లర్లు: - పేరు: అపాచీని పున art ప్రారంభించండి సేవ: పేరు = httpd state = పున ar ప్రారంభించబడింది
నేను పైన పేర్కొన్న ప్లేబుక్ భాగాల యొక్క అన్ని వివరణలతో ఉదాహరణ మీకు సంబంధం కలిగిస్తుందని నేను ఆశిస్తున్నాను. ఇది మీకు ఇంకా స్పష్టంగా తెలియకపోతే, చింతించకండి మీ సందేహాలన్నీ ఈ బ్లాగ్ యొక్క తరువాతి భాగంలో స్పష్టంగా కనిపిస్తాయి.
ఇదంతా ప్లేబుక్ల గురించి. మీరు వ్రాసే ప్లేబుక్స్. కానీ అన్సిబుల్ మీకు విస్తృతమైన మాడ్యూళ్ళను అందిస్తుంది, వీటిని మీరు ఉపయోగించవచ్చు.
అన్సిబుల్ ట్యుటోరియల్ - గుణకాలు
అన్సిబుల్ లోని గుణకాలు ఐడింపొటెంట్. RESTful సేవా దృక్కోణం నుండి, ఒక ఆపరేషన్ (లేదా సేవా కాల్) ఐడింపొటెంట్గా ఉండటానికి, క్లయింట్లు అదే ఫలితాన్ని ఇచ్చేటప్పుడు అదే కాల్ను పదేపదే చేయవచ్చు. మరో మాటలో చెప్పాలంటే, ఒకేలాంటి బహుళ అభ్యర్థనలు చేయడం ఒకే అభ్యర్థన చేసినట్లే ఉంటుంది.
అన్సిబుల్ లో వివిధ రకాల మాడ్యూల్స్ ఉన్నాయి
- కోర్ గుణకాలు
- అదనపు గుణకాలు
కోర్ గుణకాలు
ఇవి కోర్ అన్సిబుల్ బృందం నిర్వహించే మాడ్యూల్స్ మరియు ఎల్లప్పుడూ అన్సిబుల్ తోనే రవాణా చేయబడతాయి. వారు 'ఎక్స్ట్రా' రెపోల కంటే అన్ని అభ్యర్థనలకు కొంచెం ఎక్కువ ప్రాధాన్యతనిస్తారు.
ఈ మాడ్యూళ్ల యొక్క మూలం అన్సిబుల్-మాడ్యూల్స్-కోర్లోని గిట్హబ్లో అన్సిబుల్ హోస్ట్ చేస్తుంది.
అదనపు గుణకాలు
ఈ గుణకాలు ప్రస్తుతం అన్సిబుల్తో రవాణా చేయబడ్డాయి, అయితే భవిష్యత్తులో విడిగా రవాణా చేయబడతాయి. అవి కూడా ఎక్కువగా అన్సిబుల్ కమ్యూనిటీ చేత నిర్వహించబడతాయి. నాన్-కోర్ మాడ్యూల్స్ ఇప్పటికీ పూర్తిగా ఉపయోగపడేవి, కానీ సమస్యలకు కొంచెం తక్కువ ప్రతిస్పందన రేట్లు పొందవచ్చు మరియు అభ్యర్థనలను లాగండి.
జనాదరణ పొందిన “ఎక్స్ట్రాలు” గుణకాలు కాలక్రమేణా కోర్ మాడ్యూళ్ళకు ప్రచారం చేయబడతాయి.
ఈ మాడ్యూళ్ళకు మూలం అన్సిబుల్-మాడ్యూల్స్-ఎక్స్ట్రాలలో గిట్హబ్లో అన్సిబుల్ హోస్ట్ చేస్తుంది.
ఉదా: రిమోట్ మేనేజ్మెంట్ మాడ్యూల్స్లోని ఎక్స్ట్రా మాడ్యూల్లో ఒకటి ipmi_power మాడ్యూల్, ఇది రిమోట్ మెషీన్లకు పవర్ మేనేజర్. దీనికి పైథాన్ 2.6 లేదా తరువాత మరియు పిగ్మి అమలు కావాలి.
నేను క్రింద వ్రాసినట్లుగా ఒక తాత్కాలిక ఆదేశాన్ని వ్రాయడం ద్వారా మీరు ఈ మాడ్యూల్ను ఉపయోగించవచ్చు:
ipmi_power: name = 'test.domain.com' user = 'localhost' password = 'xyz' state = 'on'
అన్సిబుల్ ట్యుటోరియల్ - రిటర్న్ విలువలు
అన్సిబుల్ మాడ్యూల్స్ సాధారణంగా వేరియబుల్ లోకి రిజిస్టర్ చేయగల డేటా స్ట్రక్చర్ ను తిరిగి ఇస్తాయి లేదా అన్సిబుల్ ప్రోగ్రామ్ ద్వారా అవుట్పుట్ చేసినప్పుడు నేరుగా చూడవచ్చు. ప్రతి మాడ్యూల్ దాని స్వంత ప్రత్యేకమైన రాబడి విలువలను ఐచ్ఛికంగా డాక్యుమెంట్ చేయవచ్చు.
తిరిగి విలువలకు కొన్ని ఉదాహరణలు:
- మార్చబడింది: పని ఏదైనా మార్పు చేసినప్పుడల్లా బూలియన్ విలువతో తిరిగి వస్తుంది.
- విఫలమైంది: పని విఫలమైతే బూలియన్ విలువను అందిస్తుంది
- msg: ఇది వినియోగదారుకు రిలే చేసిన సాధారణ సందేశంతో స్ట్రింగ్ను అందిస్తుంది.
అన్సిబుల్ ట్యుటోరియల్ - AdHoc ఆదేశాలు
కొన్ని చర్యలను నిర్వహించడానికి Adhoc ఆదేశాలు సరళమైనవి. అన్సిబుల్ ఆదేశాలతో రన్నింగ్ మాడ్యూల్స్ adhoc ఆదేశాలు.
ఉదా:
ansible host -m netscaler -a 'nsc_host = nsc.example.com user = apiuser password = apipass'
పైన పేర్కొన్న adhoc ఆదేశం సర్వర్ను నిలిపివేయడానికి నెట్స్కాలర్ మాడ్యూల్ను ఉపయోగిస్తుంది. అన్సిబుల్ లో వందలాది మాడ్యూల్స్ అందుబాటులో ఉన్నాయి, ఇక్కడ మీరు తాత్కాలిక ఆదేశాలను సూచించవచ్చు మరియు వ్రాయవచ్చు.
బాగా, అన్ని సైద్ధాంతిక వివరణలతో సరిపోతుంది, కొన్ని చేతులతో అన్సిబుల్ మీకు వివరిస్తాను.
అన్సిబుల్ ట్యుటోరియల్ - చేతులు ఆన్
నా నోడ్ / హోస్ట్ మెషీన్లో Nginx ని ఇన్స్టాల్ చేయడానికి నేను ప్లేబుక్ రాయబోతున్నాను.
ప్రారంభిద్దాం :)
దశ 1: SSH ఉపయోగించి మీ హోస్ట్లకు కనెక్ట్ అవ్వండి. దాని కోసం, మీరు పబ్లిక్ SSH కీని ఉత్పత్తి చేయాలి.
దిగువ ఆదేశాన్ని ఉపయోగించండి:
ssh-keygen
పై స్నాప్షాట్లో మీరు చూడగలిగినట్లుగా, ఆదేశం ssh-keygen పబ్లిక్ SSH కీని రూపొందించారు.
దశ 2: మీ తదుపరి పని మీ హోస్ట్లపై పబ్లిక్ SSH కీని కాపీ చేయడం. అలా చేయడానికి, దిగువ ఆదేశాన్ని ఉపయోగించండి:
ssh-copy-id -i root @
పైన ఉన్న స్నాప్షాట్ SSH కీని హోస్ట్లకు కాపీ చేయడాన్ని చూపిస్తుంది.
దశ 3: మీ జాబితాలో మీ హోస్ట్లు / నోడ్ల యొక్క IP చిరునామాలను జాబితా చేయండి.
కింది ఆదేశాన్ని ఉపయోగించండి:
vi / etc / ansible / హోస్ట్లు
నేమ్స్పేస్ సి ++ ఉపయోగించి
ఇది మీ హోస్ట్ల యొక్క IP చిరునామాలను జాబితా చేయగల vi ఎడిటర్ను తెరుస్తుంది. ఇది ఇప్పుడు మీ జాబితా.
దశ 4: కనెక్షన్ స్థాపించబడిందని నిర్ధారించడానికి పింగ్ చేద్దాం.
మీ నియంత్రణ యంత్రం మరియు హోస్ట్ మధ్య కనెక్షన్ జరిగిందని పై స్నాప్షాట్ నిర్ధారిస్తుంది.
దశ 5: హోస్ట్ మెషీన్లో Nginx ను ఇన్స్టాల్ చేయడానికి ఇప్పుడు ప్లేబుక్ వ్రాద్దాం. మీరు మీ ప్లేబుక్ను vi ఎడిటర్లో వ్రాయవచ్చు. దాని కోసం, ఆదేశాన్ని ఉపయోగించి మీ ప్లేబుక్ను సృష్టించండి:
vi
దిగువ స్నాప్షాట్ YAML ఆకృతిలో వ్రాసిన Nginx ని ఇన్స్టాల్ చేయడానికి నా ప్లేబుక్ను చూపిస్తుంది.
ప్లేబుక్ యొక్క పనులు YAML లో నిఘంటువుల జాబితాగా నిర్వచించబడతాయి మరియు పై నుండి క్రిందికి అమలు చేయబడతాయి. మనకు అనేక అతిధేయలు ఉంటే, తరువాతి పనికి వెళ్ళే ముందు ప్రతి హోస్ట్ కోసం ప్రతి పనిని ప్రయత్నిస్తారు. ప్రతి పని నిఘంటువుగా నిర్వచించబడుతుంది, ఇది 'పేరు' లేదా 'సుడో' వంటి అనేక కీలను కలిగి ఉంటుంది, ఇది పని పేరును సూచిస్తుంది మరియు దానికి సుడో అధికారాలు అవసరమా అని సూచిస్తుంది.
వేరియబుల్ సర్వర్_పోర్ట్ TCP పోర్టులో వినే సెట్ 8080 ఇన్కమింగ్ అభ్యర్థనల కోసం.
ఇక్కడ, మొదటి పని Nginx యొక్క సంస్థాపనకు అవసరమైన ప్యాకేజీని పొందడం మరియు దానిని వ్యవస్థాపించడం.అంతర్గతంగా, అన్సిబుల్ డైరెక్టరీ ఉందా అని తనిఖీ చేస్తుంది మరియు అది లేకపోతే దాన్ని సృష్టిస్తుంది, లేకపోతే అది ఏమీ చేయదు.
తదుపరి పని Nginx ను కాన్ఫిగర్ చేయడం.Nginx లో, సందర్భాలలో ఆకృతీకరణ వివరాలు ఉంటాయి.
ఇక్కడ, టెంప్లేట్ మీరు హోస్ట్లపై అమలు చేయగల ఫైల్. ఏదేమైనా, టెంప్లేట్ ఫైళ్ళలో కొన్ని రిఫరెన్స్ వేరియబుల్స్ కూడా ఉన్నాయి, ఇవి అన్సిబుల్ ప్లేబుక్లో భాగంగా నిర్వచించబడిన వేరియబుల్స్ నుండి లేదా హోస్ట్ల నుండి సేకరించిన వాస్తవాలు. కాన్ఫిగరేషన్ వివరాలను కలిగి ఉన్న వాస్తవాలు సోర్స్ డైరెక్టరీ నుండి తీసివేసి గమ్యం డైరెక్టరీకి కాపీ చేయబడుతున్నాయి.
పనుల నోటిఫికేషన్ లేదా రాష్ట్ర మార్పులపై మాత్రమే చేయవలసిన చర్యను ఇక్కడ హ్యాండ్లర్లు నిర్వచిస్తారు. ఈ ప్లేబుక్లో, మేము నిర్వచించాము, తెలియజేస్తాము: ఫైళ్లు మరియు టెంప్లేట్లు హోస్ట్లకు కాపీ చేసిన తర్వాత Nginx ను పున art ప్రారంభించే Nginx హ్యాండ్లర్ను పున art ప్రారంభించండి.
ఇప్పుడు, ఫైల్ను సేవ్ చేసి నిష్క్రమించండి.
దశ 6: ఇప్పుడు దిగువ ఆదేశాన్ని ఉపయోగించి ఈ ప్లేబుక్ను రన్ చేద్దాం:
ansible-playbook .yml
పైన పేర్కొన్న స్క్రీన్షాట్లో మన పని ఎన్జిఎన్ఎక్స్ ఇన్స్టాల్ అవుతున్నట్లు చూడవచ్చు.
దశ 7: నా హోస్ట్ మెషీన్లో Nginx ఇన్స్టాల్ చేయబడిందో లేదో చూద్దాం. దిగువ ఆదేశాన్ని ఉపయోగించండి:
ps వాక్స్ | grep nginx
విభిన్న స్క్రీన్ ఐడిలు 3555 మరియు 103316 రన్ అవుతున్నాయని మీరు పైన ఉన్న స్క్రీన్ షాట్ లో చూడవచ్చు, ఇది మీ హోస్ట్ మెషీన్లలో ఎన్గిన్క్స్ నడుస్తుందని నిర్ధారిస్తుంది.
అభినందనలు! అన్సిబుల్ ప్లేబుక్లను ఉపయోగించి మీరు మీ హోస్ట్లో Nginx ను విజయవంతంగా అమలు చేశారు. ఈ అన్సిబుల్ ట్యుటోరియల్ బ్లాగును మీరు చదివి ఆనందించారని నేను నమ్ముతున్నాను. దిగువ వ్యాఖ్య విభాగంలో మీకు ఏవైనా ప్రశ్నలు ఉంటే దయచేసి నాకు తెలియజేయండి.
మీరు దీన్ని కనుగొంటే “ అన్సిబుల్ ట్యుటోరియల్ ”సంబంధిత, చూడండి ప్రపంచవ్యాప్తంగా విస్తరించి ఉన్న 250,000 మందికి పైగా సంతృప్తికరమైన అభ్యాసకుల నెట్వర్క్తో విశ్వసనీయ ఆన్లైన్ లెర్నింగ్ సంస్థ ఎడురేకా చేత. ఎడ్యురేకా డెవొప్స్ సర్టిఫికేషన్ ట్రైనింగ్ కోర్సు ఎస్డిఎల్సిలో బహుళ దశలను ఆటోమేట్ చేయడానికి వివిధ డెవొప్స్ ప్రాసెస్లు మరియు పప్పెట్, జెంకిన్స్, అన్సిబుల్, నాగియోస్ మరియు జిట్ వంటి సాధనాలలో నైపుణ్యాన్ని పొందడానికి అభ్యాసకులకు సహాయపడుతుంది.