அன்சிபிள் டுடோரியல் - அன்சிபிள் பிளேபுக்குகளை எழுத கற்றுக்கொள்ளுங்கள்



இந்த அன்சிபிள் டுடோரியல் வலைப்பதிவில், அன்சிபிள் பிளேபுக்குகள், தற்காலிக கட்டளைகளை எவ்வாறு எழுதுவது மற்றும் உங்கள் ஹோஸ்ட் மெஷினில் என்ஜினெக்ஸை வரிசைப்படுத்த கைகோர்த்து செயல்படுவது ஆகியவற்றை நீங்கள் கற்றுக் கொள்வீர்கள்.

அன்சிபல் டுடோரியல்

நீங்கள் கற்றுக்கொள்ள எனது முந்தைய வலைப்பதிவின் மூலம் சென்றீர்கள் என்று நம்புகிறேன் மற்றும் அன்சிபிலின் மிகவும் பயன்படுத்தப்படும் சொற்கள். நீங்கள் இல்லையென்றால், தயவுசெய்து அதைச் சரிபார்க்கவும், இதன் மூலம் இந்த அன்சிபிள் டுடோரியலைப் பற்றி நீங்கள் நன்கு புரிந்துகொள்ள முடியும்.அன்சிபில் ஒரு முக்கியமான பகுதியை உருவாக்குகிறது என்பதையும் நீங்கள் அறிந்து கொள்ள வேண்டும் உள்ளமைவு மேலாண்மை, வரிசைப்படுத்தல் மற்றும் இசைக்குழுவிற்கான கருவியாக.

இந்த ‘அன்சிபல் டுடோரியல்’ பற்றிய ஒரு கண்ணோட்டத்தை தருகிறேன்:





அன்சிபில் பிளேபுக் டுடோரியல் | டெவொப்ஸ் பயிற்சி | எடுரேகா

அன்சிபிள் டுடோரியல் - அன்சிபிள் பிளேபுக்குகளை எழுதுதல்

அன்சிபில் உள்ள பிளேபுக்குகள் YAML வடிவத்தில் எழுதப்பட்டுள்ளன. இது மனிதனால் படிக்கக்கூடிய தரவு வரிசைப்படுத்தல் மொழி. இது பொதுவாக உள்ளமைவு கோப்புகளுக்கு பயன்படுத்தப்படுகிறது. தரவு சேமிக்கப்படும் பல பயன்பாடுகளிலும் இதைப் பயன்படுத்தலாம்.



அன்சிபிலுக்கு, கிட்டத்தட்ட ஒவ்வொரு YAML கோப்பும் ஒரு பட்டியலுடன் தொடங்குகிறது. பட்டியலில் உள்ள ஒவ்வொரு உருப்படியும் முக்கிய / மதிப்பு ஜோடிகளின் பட்டியல், பொதுவாக “ஹாஷ்” அல்லது “அகராதி” என்று அழைக்கப்படுகிறது. எனவே, YAML இல் பட்டியல்கள் மற்றும் அகராதிகளை எவ்வாறு எழுதுவது என்பதை நாம் தெரிந்து கொள்ள வேண்டும்.

ஆழமான நகல் vs ஆழமற்ற நகல் ஜாவா

ஒரு பட்டியலின் அனைத்து உறுப்பினர்களும் “-” (கோடு மற்றும் இடம்) தொடங்கி ஒரே உள்தள்ளல் மட்டத்தில் தொடங்கும் கோடுகள். அகராதிகளின் பட்டியல்கள் அல்லது கலப்பு அகராதிகள் போன்ற மதிப்புகள் பட்டியல்கள் அல்லது இரண்டின் கலவையாகும் போன்ற மிகவும் சிக்கலான தரவு கட்டமைப்புகள் சாத்தியமாகும்.

எ.கா. எடுரேகாவில் உள்ள துறைகளின் பட்டியலுக்கு:



துறைகள்: - சந்தைப்படுத்தல் - விற்பனை - தீர்வுகள் - உள்ளடக்க எழுதுதல் - ஆதரவு - தயாரிப்பு

இப்போது ஒரு அகராதியின் உதாரணத்தை தருகிறேன்:

-உசா-கண்டம்: வட அமெரிக்கா-மூலதனம்: வாஷிங்டன் டி.சி-மக்கள் தொகை: 319 மில்லியன்

புரவலன்கள் மற்றும் பயனர்கள்:

ஒரு பிளேபுக்கில் ஒவ்வொரு நாடகத்திற்கும், உங்கள் உள்கட்டமைப்பில் எந்த இயந்திரங்களை குறிவைக்க வேண்டும், எந்த தொலை பயனரை பணிகளை முடிக்க வேண்டும் என்பதை நீங்கள் தேர்வு செய்ய வேண்டும். அன்சிபில் சரக்குகளில் ஹோஸ்ட்களைச் சேர்க்க, ஹோஸ்ட் கணினிகளின் ஐபி முகவரிகளைப் பயன்படுத்துவோம்.

பொதுவாக ஹோஸ்ட்கள் ஒன்று அல்லது அதற்கு மேற்பட்ட குழுக்கள் அல்லது ஹோஸ்ட் வடிவங்கள், அவை பெருங்குடல்களால் பிரிக்கப்படுகின்றன. தொலை பயனர் பயனர் கணக்கின் பெயர் மட்டுமே.

மாறிகள்:

பிளேபுக்குகள் மற்றும் பாத்திரங்களில் அதிக நெகிழ்வுத்தன்மையை இயக்க முன்னர் வரையறுக்கப்பட்ட மாறிகள் அன்சிபிள் பயன்படுத்துகிறது. கொடுக்கப்பட்ட மதிப்புகளின் தொகுப்பின் மூலம் அவை சுழலவும், கணினியின் ஹோஸ்ட் பெயர் போன்ற பல்வேறு தகவல்களை அணுகவும் மற்றும் வார்ப்புருக்களில் சில சரங்களை குறிப்பிட்ட மதிப்புகளுடன் மாற்றவும் பயன்படுத்தலாம்.

அன்சிபிள் ஏற்கனவே ஒவ்வொரு அமைப்பிற்கும் தனித்தனி பணக்கார தொகுப்பை வரையறுக்கிறது. அன்சிபில் ஒரு கணினியில் இயங்கும் போதெல்லாம், கணினி பற்றிய அனைத்து உண்மைகளும் தகவல்களும் சேகரிக்கப்பட்டு மாறிகளாக அமைக்கப்படும்.

ஆனால் ஒரு உள்ளது ஆட்சி மாறிகள் பெயரிடுவதற்கு. மாறி பெயர்கள் எழுத்துக்கள், எண்கள் மற்றும் அடிக்கோடிட்டுக் காட்டப்பட வேண்டும். மாறிகள் எப்போதும் ஒரு கடிதத்துடன் தொடங்கப்பட வேண்டும். எ.கா. wamp_21, port5 என்பது செல்லுபடியாகும் மாறி பெயர்கள், அதேசமயம் 01_port, _server தவறானது.

பணிகள்:

உள்ளமைவு கொள்கையின் பிட்களை சிறிய கோப்புகளாக பிரிக்க பணிகள் உங்களை அனுமதிக்கின்றன. பணி மற்ற கோப்புகளிலிருந்து இழுக்கப்படுவதை உள்ளடக்குகிறது. அன்சிபில் உள்ள பணிகள் அதன் ஆங்கில அர்த்தத்துடன் செல்கின்றன.

எ.கா: நிறுவு, புதுப்பித்தல் போன்றவை.

கையாளுபவர்கள்:

கையாளுபவர்கள் ஒரு அன்சிபில் பிளேபுக்கில் வழக்கமான பணிகளைப் போலவே இருக்கிறார்கள், ஆனால் பணி ஒரு அறிவிப்பு உத்தரவைக் கொண்டிருந்தால் மட்டுமே இயக்கப்படும், மேலும் அது எதையாவது மாற்றியது என்பதைக் குறிக்கிறது. எடுத்துக்காட்டாக, ஒரு கட்டமைப்பு கோப்பு மாற்றப்பட்டால், கட்டமைப்பு கோப்பைக் குறிக்கும் பணி ஒரு சேவை மறுதொடக்கம் கையாளுபவருக்கு அறிவிக்கலாம்.

அப்பாச்சி httpd சேவையக நிரலைத் தொடங்கும் பிளேபுக்கின் ஒரு எடுத்துக்காட்டு தருகிறேன்:

----புரவலன்கள்: வலை சேவையகங்கள் யாருடைய: http_port: 80 அதிகபட்ச வாடிக்கையாளர்கள்: 200 தொலை_உயர்: வேர் பணிகள்: - பெயர்: அப்பாச்சி சமீபத்திய பதிப்பில் இருப்பதை உறுதிசெய்க yum: பெயர் = httpd state = சமீபத்தியது - பெயர்: அப்பாச்சி கட்டமைப்பு கோப்பை எழுதவும் வார்ப்புரு: src = / srv / httpd.j2 dest = / etc / httpd.conf அறிவிக்கவும்: - அப்பாச்சியை மறுதொடக்கம் செய்யுங்கள் - பெயர்: அப்பாச்சி இயங்குவதை உறுதிசெய்க (துவக்கத்தில் அதை இயக்கவும்) சேவை: பெயர் = httpd state = தொடங்கப்பட்டது இயக்கப்பட்டது = ஆம் கையாளுபவர்கள்: - பெயர்: அப்பாச்சியை மறுதொடக்கம் செய்யுங்கள் சேவை: பெயர் = httpd state = மறுதொடக்கம்

நான் மேலே குறிப்பிட்டுள்ள பிளேபுக் கூறுகளின் அனைத்து விளக்கங்களுடனும் உதாரணம் உங்களை தொடர்புபடுத்தும் என்று நம்புகிறேன். இது உங்களுக்கு இன்னும் தெளிவாகத் தெரியவில்லை என்றால், கவலைப்பட வேண்டாம் உங்கள் சந்தேகங்கள் அனைத்தும் இந்த வலைப்பதிவின் பிற்பகுதியில் தெளிவாகத் தெரியும்.

இது எல்லாம் பிளேபுக்குகள் பற்றியது. நீங்கள் எழுதும் பிளேபுக்குகள். ஆனால் அன்சிபிள் உங்களுக்கு பரந்த அளவிலான தொகுதிக்கூறுகளையும் வழங்குகிறது, அதை நீங்கள் பயன்படுத்தலாம்.

அன்சிபல் டுடோரியல் - தொகுதிகள்

அன்சிபில் உள்ள தொகுதிகள் தனித்துவமானவை. ஒரு RESTful சேவை நிலைப்பாட்டில் இருந்து, ஒரு செயல்பாடு (அல்லது சேவை அழைப்பு) திறமையற்றதாக இருக்க, வாடிக்கையாளர்கள் அதே முடிவைத் தரும்போது அதே அழைப்பை மீண்டும் மீண்டும் செய்யலாம். வேறு வார்த்தைகளில் கூறுவதானால், பல ஒத்த கோரிக்கைகளைச் செய்வது ஒரு கோரிக்கையை அளிப்பதைப் போலவே இருக்கும்.

அன்சிபில் பல்வேறு வகையான தொகுதிகள் உள்ளன

  • முக்கிய தொகுதிகள்
  • கூடுதல் தொகுதிகள்

முக்கிய தொகுதிகள்

இவை முக்கிய அன்சிபில் குழு பராமரிக்கும் தொகுதிகள் மற்றும் எப்போதும் அன்சிபிலுடன் அனுப்பப்படும். “கூடுதல்” களஞ்சியங்களைக் காட்டிலும் எல்லா கோரிக்கைகளுக்கும் அவர்கள் சற்று அதிக முன்னுரிமை பெறுவார்கள்.

இந்த தொகுதிகளின் மூலத்தை அன்சிபிள்-தொகுதிகள்-மையத்தில் கிட்ஹப்பில் ஆன்சிபிள் ஹோஸ்ட் செய்கிறது.

கூடுதல் தொகுதிகள்

இந்த தொகுதிகள் தற்போது அன்சிபில் அனுப்பப்பட்டுள்ளன, ஆனால் எதிர்காலத்தில் தனித்தனியாக அனுப்பப்படலாம். அவை பெரும்பாலும் அன்சிபிள் சமூகத்தால் பராமரிக்கப்படுகின்றன. மையமற்ற தொகுதிகள் இன்னும் முழுமையாகப் பயன்படுத்தக்கூடியவை, ஆனால் சிக்கல்களுக்கு சற்று குறைவான மறுமொழி விகிதங்களைப் பெறலாம் மற்றும் கோரிக்கைகளை இழுக்கலாம்.

பிரபலமான 'கூடுதல்' தொகுதிகள் காலப்போக்கில் முக்கிய தொகுதிகளுக்கு உயர்த்தப்படலாம்.

இந்த தொகுதிகளுக்கான மூலத்தை அன்சிபிள்-கிட்ஹப்பில் ஆன்சிபிள்-தொகுதிகள்-எக்ஸ்ட்ராக்களில் ஹோஸ்ட் செய்கிறது.

எ.கா: ரிமோட் மேனேஜ்மென்ட் தொகுதிகளில் உள்ள கூடுதல் தொகுதிகளில் ஒன்று ipmi_power module, இது ரிமோட் மெஷின்களுக்கான பவர் மேங்கர் ஆகும். இதற்கு பைதான் 2.6 அல்லது அதற்குப் பின் மற்றும் பிக்மி இயக்க வேண்டும்.

நான் கீழே எழுதியதைப் போன்ற ஒரு தற்காலிக கட்டளையை எழுதுவதன் மூலம் இந்த தொகுதியைப் பயன்படுத்தலாம்:

ipmi_power: name = 'test.domain.com' user = 'localhost' password = 'xyz' state = 'on'

அன்சிபல் டுடோரியல் - வருவாய் மதிப்புகள்

அன்சிபில் தொகுதிகள் பொதுவாக ஒரு தரவு கட்டமைப்பை ஒரு மாறியில் பதிவுசெய்யலாம் அல்லது அன்சிபில் நிரலால் வெளியிடும் போது நேரடியாகக் காணலாம். ஒவ்வொரு தொகுதியும் அதன் தனித்துவமான வருவாய் மதிப்புகளை விருப்பமாக ஆவணப்படுத்தலாம்.

வருவாய் மதிப்புகளின் சில எடுத்துக்காட்டுகள்:

  • மாற்றப்பட்டது: பணி எந்த மாற்றத்தையும் செய்யும்போதெல்லாம் பூலியன் மதிப்புடன் திரும்பும்.
  • தோல்வியுற்றது: பணி தோல்வியுற்றால், பூலியன் மதிப்பை வழங்குகிறது
  • msg: இது பயனருக்கு அனுப்பப்பட்ட பொதுவான செய்தியுடன் ஒரு சரத்தை வழங்குகிறது.

அன்சிபல் டுடோரியல் - AdHoc கட்டளைகள்

Adhoc கட்டளைகள் சில செயல்களைச் செய்ய எளிய ஒரு வரி கட்டளை. அன்சிபிள் கட்டளைகளுடன் இயங்கும் தொகுதிகள் தற்காலிக கட்டளைகள்.

எ.கா:

ansible host -m netscaler -a 'nsc_host = nsc.example.com பயனர் = apiuser password = apipass' 

சேவையகத்தை முடக்க மேலே உள்ள adhoc கட்டளை நெட்ஸ்கேலர் தொகுதியைப் பயன்படுத்துகிறது. தற்காலிக கட்டளைகளை நீங்கள் குறிப்பிடலாம் மற்றும் எழுதலாம் என்பதிலிருந்து அன்சிபில் நூற்றுக்கணக்கான தொகுதிகள் உள்ளன.

சரி, எல்லா தத்துவார்த்த விளக்கங்களுடனும் போதுமானது, சில கைகளால் அன்சிபிலை உங்களுக்கு விளக்குகிறேன்.

அன்சிபல் டுடோரியல் - ஹேண்ட்ஸ் ஆன்

எனது முனை / ஹோஸ்ட் கணினியில் Nginx ஐ நிறுவ ஒரு பிளேபுக்கை எழுதப் போகிறேன்.

ஆரம்பித்துவிடுவோம் :)

படி 1: SSH ஐப் பயன்படுத்தி உங்கள் ஹோஸ்ட்களுடன் இணைக்கவும். அதற்கு, நீங்கள் ஒரு பொது SSH விசையை உருவாக்க வேண்டும்.

கீழே உள்ள கட்டளையைப் பயன்படுத்தவும்:

ssh-keygen

Ssh விசையை உருவாக்கு - அன்சிபல் டுடோரியல் - எடுரேகா

மேலே உள்ள ஸ்னாப்ஷாட்டில் நீங்கள் காணக்கூடியது, கட்டளை ssh-keygen பொது SSH விசையை உருவாக்கியது.

படி 2: உங்கள் அடுத்த பணி உங்கள் ஹோஸ்ட்களில் பொது SSH விசையை நகலெடுப்பதாகும். அதைச் செய்ய, கீழே உள்ள கட்டளையைப் பயன்படுத்தவும்:

ssh-copy-id -i root @

மேலே உள்ள ஸ்னாப்ஷாட் SSH விசையை ஹோஸ்ட்களுக்கு நகலெடுப்பதைக் காட்டுகிறது.

படி 3: உங்கள் பட்டியலில் உங்கள் புரவலன்கள் / முனைகளின் ஐபி முகவரிகளை பட்டியலிடுங்கள்.

பின்வரும் கட்டளையைப் பயன்படுத்தவும்:

ஜாவாஸ்கிரிப்டில் வரிசையின் நீளத்தைப் பெறுங்கள்

vi / etc / ansible / புரவலன்கள்

இது உங்கள் ஹோஸ்ட்களின் ஐபி முகவரிகளை பட்டியலிடக்கூடிய ஒரு vi எடிட்டரைத் திறக்கும். இது இப்போது உங்கள் சரக்கு.

படி 4: இணைப்பு நிறுவப்பட்டிருப்பதை உறுதிப்படுத்த பிங் செய்வோம்.

உங்கள் கட்டுப்பாட்டு இயந்திரத்திற்கும் ஹோஸ்டுக்கும் இடையே இணைப்பு செய்யப்பட்டுள்ளது என்பதை மேலே உள்ள ஸ்னாப்ஷாட் உறுதிப்படுத்துகிறது.

படி 5: ஹோஸ்ட் கணினியில் Nginx ஐ நிறுவ இப்போது ஒரு பிளேபுக்கை எழுதுவோம். உங்கள் பிளேபுக்கை vi எடிட்டரில் எழுதலாம். அதற்காக, கட்டளையைப் பயன்படுத்தி உங்கள் பிளேபுக்கை உருவாக்கவும்:

vi

YAML வடிவத்தில் எழுதப்பட்ட Nginx ஐ நிறுவ எனது பிளேபுக்கை கீழே உள்ள ஸ்னாப்ஷாட் காட்டுகிறது.

ஒரு பிளேபுக்கின் பணிகள் YAML இல் அகராதிகளின் பட்டியலாக வரையறுக்கப்பட்டு மேலிருந்து கீழாக செயல்படுத்தப்படுகின்றன. எங்களிடம் பல ஹோஸ்ட்கள் இருந்தால், அடுத்த பணிக்குச் செல்வதற்கு முன் ஒவ்வொரு ஹோஸ்டுக்கும் ஒவ்வொரு பணி முயற்சிக்கப்படுகிறது. ஒவ்வொரு பணியும் ஒரு அகராதியாக வரையறுக்கப்படுகிறது, இது 'பெயர்' அல்லது 'சூடோ' போன்ற பல விசைகளைக் கொண்டிருக்கலாம், இது பணியின் பெயரைக் குறிக்கிறது மற்றும் அதற்கு சூடோ சலுகைகள் தேவையா என்பதைக் குறிக்கிறது.

ஒரு மாறி server_port TCP போர்ட்டில் கேட்கும் வகையில் அமைக்கப்பட்டுள்ளது 8080 உள்வரும் கோரிக்கைகளுக்கு.

இங்கே, முதல் பணி Nginx ஐ நிறுவ தேவையான தொகுப்பைப் பெற்று அதை நிறுவ வேண்டும்.உள்நாட்டில், அன்சிபிள் கோப்பகம் இருக்கிறதா என்று சரிபார்த்து, அது இல்லாவிட்டால் அதை உருவாக்கும், இல்லையெனில் அது ஒன்றும் செய்யாது.

அடுத்த பணி Nginx ஐ உள்ளமைப்பது.Nginx இல், சூழல்களில் உள்ளமைவு விவரங்கள் உள்ளன.

இங்கே, வார்ப்புரு நீங்கள் ஹோஸ்ட்களில் பயன்படுத்தக்கூடிய ஒரு கோப்பு. இருப்பினும், வார்ப்புரு கோப்புகளில் சில குறிப்பு மாறிகள் உள்ளன, அவை அன்சிபில் பிளேபுக்கின் ஒரு பகுதியாக வரையறுக்கப்பட்ட மாறிகள் அல்லது ஹோஸ்ட்களிலிருந்து சேகரிக்கப்பட்ட உண்மைகள். உள்ளமைவு விவரங்களைக் கொண்ட உண்மைகள் மூல கோப்பகத்திலிருந்து இழுக்கப்பட்டு இலக்கு அடைவுக்கு நகலெடுக்கப்படுகின்றன.

பணிகள் அல்லது மாநில மாற்றங்கள் குறித்த அறிவிப்பின் அடிப்படையில் மட்டுமே செய்ய வேண்டிய செயலை இங்கே கையாளுபவர்கள் வரையறுக்கின்றனர். இந்த பிளேபுக்கில், நாங்கள் வரையறுத்துள்ளோம், அறிவிக்கிறோம்: கோப்புகள் மற்றும் வார்ப்புருக்கள் ஹோஸ்ட்களுக்கு நகலெடுக்கப்பட்டவுடன் Nginx ஐ மறுதொடக்கம் செய்யும் Nginx ஹேண்ட்லரை மறுதொடக்கம் செய்யுங்கள்.

இப்போது, ​​கோப்பை சேமித்து வெளியேறவும்.

படி 6: இப்போது கீழேயுள்ள கட்டளையைப் பயன்படுத்தி இந்த பிளேபுக்கை இயக்கலாம்:

ansible-playbook .yml

லாஜிஸ்டிக் பின்னடைவு பைதான் எடுத்துக்காட்டு குறியீடு

எங்கள் பணி Nginx நிறுவப்பட்டு வருவதை மேலே உள்ள ஸ்கிரீன்ஷாட்டில் காணலாம்.

படி 7: என் ஹோஸ்ட் கணினியில் Nginx நிறுவப்பட்டுள்ளதா என்று சரிபார்க்கலாம். கீழே உள்ள கட்டளையைப் பயன்படுத்தவும்:

ps waux | grep nginx

மேலே உள்ள ஸ்கிரீன்ஷாட்டில் நீங்கள் காணலாம், வெவ்வேறு செயல்முறை ஐடிகள் 3555 மற்றும் 103316 இயங்குகின்றன, இது உங்கள் ஹோஸ்ட் கணினிகளில் என்ஜின்க்ஸ் இயங்குவதை உறுதி செய்கிறது.

வாழ்த்துக்கள்! அன்சிபிள் பிளேபுக்குகளைப் பயன்படுத்தி உங்கள் ஹோஸ்டில் என்ஜினெக்ஸை வெற்றிகரமாக பயன்படுத்தியுள்ளீர்கள். இந்த அன்சிபிள் டுடோரியல் வலைப்பதிவைப் படித்து மகிழ்ந்தீர்கள் என்று நம்புகிறேன். கீழேயுள்ள கருத்துப் பிரிவில் ஏதேனும் கேள்விகள் இருந்தால் எனக்குத் தெரியப்படுத்துங்கள்.

இதை நீங்கள் கண்டால் “ அன்சிபல் டுடோரியல் ”தொடர்புடைய, பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். எஸ்.டி.எல்.சியில் பல படிகளை தானியக்கமாக்குவதற்கான பல்வேறு டெவொப்ஸ் செயல்முறைகள் மற்றும் பப்பட், ஜென்கின்ஸ், அன்சிபிள், நாகியோஸ் மற்றும் கிட் போன்ற கருவிகளில் நிபுணத்துவத்தைப் பெற கற்றவர்களுக்கு எடூரெகா டெவொப்ஸ் சான்றிதழ் பயிற்சி பாடநெறி உதவுகிறது.