பதிலளிக்கக்கூடிய பாத்திரங்கள்- உங்கள் பிளேபுக்குகளைத் தொந்தரவு செய்வதற்கான இறுதி வழி



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

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

ஜாவாவில் வர்க்கத்திற்கும் இடைமுகத்திற்கும் இடையிலான வேறுபாடு

உள்ளடக்கப்பட்ட தலைப்புகள்:





நீங்கள் DevOps ஐ மாஸ்டர் செய்ய விரும்பினால், ' நிச்சயமாக உங்கள் செல்ல விருப்பமாக இருக்கும்.

அன்சிபிள் பாத்திரங்களுக்கு அறிமுகம்

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



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

பதிலளிக்கக்கூடிய பாத்திரங்களின் மறுபயன்பாடு

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

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



LAMP அடுக்கை அமைப்பதற்கு நீங்கள் ஒரு பிளேபுக்கை எழுத வேண்டும் என்று சொல்லலாம். லினக்ஸ், அப்பாச்சி, மோங்கோடிபி மற்றும் பிஎச்பி ஆகியவற்றை உருவாக்க நீங்கள் 4 பாத்திரங்களை உருவாக்க வேண்டும். எதிர்காலத்தில், LAMP ஸ்டாக் மற்றும் வேர்ட்பிரஸ் அமைப்பதற்கான மற்றொரு பிளேபுக்கை நீங்கள் விரும்பினால், LAMP ஸ்டேக் மற்றும் வேர்ட்பிரஸ் ஆகியவற்றிற்கான புதிய பாத்திரங்களை மீண்டும் உருவாக்குவீர்களா? இல்லை! நீங்கள் பழைய பாத்திரங்களை மீண்டும் பயன்படுத்தலாம் (LAMP ஸ்டேக்கிற்குப் பயன்படுத்தப்படுகிறது) மேலும் கூடுதலாக வேர்ட்பிரஸ் ஒரு புதிய பாத்திரத்தை உருவாக்கலாம்.

பாத்திரங்கள் அடைவு அமைப்பு

அன்சிபில் பாத்திரங்களைப் பயன்படுத்தி, கோப்புகள் ஒரு குறிப்பிட்ட கோப்பு கட்டமைப்பில் இருக்கும் என்று எதிர்பார்க்கலாம். பாத்திரங்களைப் பயன்படுத்துவதில் மிகவும் குழப்பமான பகுதி கோப்பு வரிசைமுறையைப் புரிந்துகொள்வதாகும். அன்சிபில் அன்சிபிள் கேலக்ஸி என்று அழைக்கப்படும் ஒரு அம்சத்தை வழங்குகிறது, இது பாத்திரங்களுடன் விளையாட உதவுகிறது. உபுண்டுவில் (/ etc / ansible) எங்கள் அன்சிபிள் எங்குள்ளது என்பது எங்களுக்கு முன்பே தெரியும். / Etc / ansible இன் கீழ் பாத்திரங்கள் என்ற கோப்பகத்தை நீங்கள் எப்போதாவது பார்த்தீர்களா? இந்த அடைவு சரியாக இந்த காரணத்திற்காக உள்ளது. இந்த கோப்பகத்திற்குள் நீங்கள் வெவ்வேறு பாத்திரங்களை உருவாக்குகிறீர்கள்.

அடைவு இப்படி இருக்கும்:

மரம் - அன்சிபிள் பாத்திரங்கள் - எடுரேகா

பயன்படுத்தி ஒரு பாத்திரத்தை உருவாக்கலாம் பதில்-விண்மீன் init கட்டளை உள்ளே / etc / ansible / பாத்திரங்கள்.

$sudoansible-galaxy init

பிற பங்கு கோப்பகங்களும் உருவாக்கப்பட்டிருக்கும் என்பதை நீங்கள் காண்பீர்கள்.

இந்த கோப்பகங்கள் பணிகள், கையாளுபவர்கள், இயல்புநிலை, வார்ஸ், கோப்புகள், வார்ப்புருக்கள் மற்றும் மெட்டா மற்றும் ஒரு README.mdகோப்பு.

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

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

இயல்புநிலை - இந்த பாத்திரத்தால் பயன்படுத்தப்படவிருக்கும் இயல்புநிலை மாறிகள் உள்ளன.

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

இணைக்கப்பட்ட பட்டியலை சி

கோப்புகள் - இந்த பாத்திரத்தால் பயன்படுத்தக்கூடிய கோப்புகளைக் கொண்டுள்ளது. பாத்திரத்தை உள்ளமைக்கும் போது ஹோஸ்ட்களுக்கு அனுப்ப வேண்டிய கோப்புகள் இதில் உள்ளன.

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

ஒவ்வொரு பணி அடைவு ஒரு இருக்க வேண்டும் main.yml குறிப்பிட்ட பாத்திரத்திற்கான உண்மையான குறியீடு எழுதப்பட்ட கோப்பு.

MEAN Stack ஐ நிறுவுவதற்கான டெமோ மூலம் வேலை அல்லது பாத்திரங்களை இப்போது புரிந்துகொள்வோம்.

டெமோ: அன்சிபிள் பாத்திரங்களைப் பயன்படுத்தி MEAN Stack ஐ நிறுவுதல்

ஒரே ஒரு பிளேபுக்கை இயக்குவதன் மூலம் அன்சிபில் ரோல்களைப் பயன்படுத்தி மீன் ஸ்டேக்கை எவ்வாறு நிறுவுவது என்பதை நான் நிரூபிக்கிறேன். நாங்கள் மூன்று பாத்திரங்களை வகிக்கப் போகிறோம்: 1) முன்நிபந்தனைகளை நிறுவுதல், 2) மோங்கோடிபியை நிறுவுதல் மற்றும் 3) நோட்ஜெஸை நிறுவுதல். நீங்கள் ஏற்கனவே இருந்ததாக நான் கருதுகிறேன் நிறுவப்பட்ட அன்சிபில் மற்றும் உபுண்டுவில் சேவையக-கிளையன்ட் இணைப்பை உருவாக்கியது . அன்சிபிள் பாத்திரங்களுடன் விளையாட ஆரம்பிக்கலாம்.

படி 1 - / etc / ansible / role கோப்பகத்திற்கு செல்லவும் மற்றும் முன்நிபந்தனைகள், MongoDB மற்றும் NodeJS க்கான பாத்திரங்களை உருவாக்கவும்.

$ cd / etc / ansible / பாத்திரங்கள் $ sudo ansible-galaxy init முன்நிபந்தனைகள் $ sudo ansible-galaxy init mongodb $ sudo ansible-galaxy init nodejs

உங்கள் ‘பாத்திரங்கள்’ கோப்பகத்தில் இப்போது மூன்று பாத்திரங்களைக் காண வேண்டும்.

ஹடூப் நிர்வாகி பாத்திரங்கள் மற்றும் பொறுப்புகள்

படி 2 - Git ஐ நிறுவும் முன்நிபந்தனைகளுக்கு main.yml ஐ எழுதுங்கள்.

$ cd முன்நிபந்தனைகள் / பணிகள் / main.yml --- - பெயர்: git apt ஐ நிறுவவும்: பெயர்: git state: present update_cache: yes

படி 3 - மோங்கோடிபி பாத்திரத்திற்கு main.yml ஐ எழுதுங்கள்

$ cd /mongodb/tasks/main.yml --- - பெயர்: மோங்கோடிபி - பொது விசையை இறக்குமதி செய்க apt_key: keyerver: hkp: //keyserver.ubuntu.com: 80 id: EA312927 - பெயர்: மோங்கோடிபி - களஞ்சியத்தைச் சேர்க்கவும் apt_repository: கோப்பு பெயர்: '/etc/apt/sources.list.d/mongodb-org-3.2.list' repo: 'deb http://repo.mongodb.org/apt/ubuntu நம்பகமான / mongodb-org / 3.2 மல்டிவர்ஸ்' நிலை: தற்போதைய update_cache : ஆம் - பெயர்: மோங்கோடிபி - மோங்கோடிபியை நிறுவுக apt: name: mongodb-org state: present update_cache: yes - name: mongod shell ஐத் தொடங்குங்கள்: 'mongod &'

படி 4 - for main.yml ஐ எழுதுங்கள்nodejsபங்கு

$ cd nodejs / task / main.yml --- - name: Node.js - ஸ்கிரிப்டைப் பெறுக get_url: url: 'http://deb.nodesource.com/setup_6.x' dest: '{{var_node}} / nodejs .sh '- பெயர்: Node.js - ஸ்கிரிப்ட் கோப்புக்கு செயல்பாட்டு அனுமதியை அமைக்கவும்: பாதை:' {{var_node} node / nodejs.sh 'பயன்முறை:' u + x '- பெயர்: Node.js - நிறுவல் ஸ்கிரிப்ட் ஷெல்லை இயக்கவும்:' {{var_node}} / nodejs.sh '- பெயர்: Node.js - நிறுவல் ஸ்கிரிப்ட் கோப்பை அகற்று: பாதை:' {{var_node} node / nodejs.sh 'நிலை: இல்லாதது - பெயர்: Node.js - Node.js ஐ நிறுவுக : name = {{உருப்படி}} state = present update_cache = yes with_items: - build-அத்தியாவசிய - nodejs - name: Node.js - bower and gulp ஐ உலகளவில் நிறுவவும் npm: name = {{item}} state = present global = yes with_items : - போவர் - கல்ப்

படி 5 - உங்கள் முக்கிய விளையாட்டு புத்தகத்தை எழுதுங்கள்

$ cd /etc/ansible/mean.yml --- - புரவலன்கள்: முனைகள் remote_user: ansible become: yes become_method: sudo vars: # கணு நிறுவலின் போது மாறுபடும் var_node: / tmp பாத்திரங்கள்: - முன்நிபந்தனைகள் - mongodb - nodejs

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

$sudoansible-playbook /etc/ansible/mean.yml -K

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

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

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து அதை இடுங்கள் நாங்கள் உங்களிடம் திரும்பி வருவோம்.