பொருந்தக்கூடிய வழங்குதல்: வழங்குவதற்கான சிறந்த மற்றும் சிரமமில்லாத வழி



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

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

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





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

நிலையான உறுப்பினர் செயல்பாடு c ++

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



அன்சிபிள் என்றால் என்ன?

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

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

அன்சிபிள் தன்னியக்கமாக்குவது என்ன?

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



  1. வழங்குதல்: பயன்பாடு / மென்பொருள் வாழ பொருத்தமான சூழலை உருவாக்குவது அவசியம். பயன்பாட்டின் இருப்புக்காக உருவாக்கப்பட்ட சூழலை தானியக்கமாக்குவதற்கான வழியை அன்சிபிள் வழங்குகிறது.
  2. கட்டமைப்பு மேலாண்மை: தொடக்க / நிறுத்த சேவைகள், கணினி, சாதனம் அல்லது பயன்பாட்டின் உள்ளமைவை மாற்றுதல் போன்ற பல்வேறு வகையான உள்ளமைவு பணிகளைச் செய்யுங்கள்.
  3. விண்ணப்ப வரிசைப்படுத்தல்: அன்சிபிலுடன் வரிசைப்படுத்தலை வரையறுப்பதை தானியங்குபடுத்துங்கள் மற்றும் பயன்படுத்தலைப் பயன்படுத்துவதை நிர்வகிக்கவும் பொருந்தக்கூடிய கோபுரம் . இது உற்பத்தியில் இருந்து வரிசைப்படுத்தல் வரை முழு பயன்பாட்டு சுழற்சியையும் திறமையாகவும் நிர்வகிக்கக்கூடியதாகவும் ஆக்குகிறது.
  4. தொடர்ச்சியான விநியோகம்: தொடர்ச்சியான ஒருங்கிணைப்பு / தொடர்ச்சியான விநியோக குழாயை உருவாக்கி நிர்வகிப்பது சிக்கலானது. அங்குதான் அன்சிபிள் அடியெடுத்து டெவலப்பரின் வாழ்க்கையை எளிதாக்குகிறது.
  5. பாதுகாப்பு மற்றும் இணக்கம்: திட்டங்களுடன் பணிபுரிவது, எப்போதும் எல்லைகளை அமைக்கிறது மற்றும் நிறுவனத்தின் பாதுகாப்புக் கொள்கைகளுடன் ஒருங்கிணைக்கப்படுகிறது. பாதுகாப்புக் கொள்கைகள் வரிசைப்படுத்தலுடன் தானாக ஒருங்கிணைக்கப்படுவது கொள்கைகளுடன் இணங்குவதை எளிதாக்கும்.
  6. இசைக்குழு: ஒரு முழு திட்டமும் வேறுபட்ட உள்ளமைவைக் கொண்ட பல நிகழ்வுகளின் தொகுப்பாகும். அன்சிபிள் இந்த வெவ்வேறு நிகழ்வுகளை ஒட்டுமொத்தமாக ஒன்றிணைத்து நிர்வகிக்கிறது.

அன்சிபிள் வழங்கலுக்கான தேவை

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

டெமோ: ஒரு LAMP அடுக்கை உருவாக்கி ஒரு வலைப்பக்கத்தை வரிசைப்படுத்தவும்

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

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

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

ஒரு கோப்புறையில் சேமிக்கப்பட்ட எளிய நிலையான வலைப்பக்கத்தை உருவாக்கியுள்ளேன் குறியீட்டு இது index.html மற்றும் style.css என்ற இரண்டு கோப்புகளைக் கொண்டுள்ளது.

index.html:

  HTML மற்றும் CSS ஐப் பயன்படுத்தி வலைத்தளம்                இப்போது ஏற்றுக்கொள்ளுங்கள்        

style.css

* { விளிம்பு: 0 திணிப்பு: 0 } தலைப்பு { பின்னணி-படம்: நேரியல்-சாய்வு (rgba (0,0,0,0.5), rgba (0,0,0,0.5%), url ('puppie.jpg') உயரம்: 100 வி.எச் பின்னணி அளவு: கவர் பின்னணி-நிலை: மையம் } .nav-menu { மிதவை: சரி பட்டியல் பாணி: எதுவுமில்லை விளிம்பு-மேல்: 30px } .nav-menu li { காட்சி: இன்லைன்-தொகுதி } .nav-menu li a { நிறம்: டர்க்கைஸ் உரை-அலங்காரம்: எதுவுமில்லை திணிப்பு: 5px 20px எழுத்துரு-குடும்பம்: 'வெர்டானா', 'சான்ஸ்-செரிஃப்' எழுத்துரு அளவு: 20px } .homebtn a { எல்லை: 1px திட சாம்பல் பின்னணி-நிறம்: வெள்ளை } .nav-menu li a: மிதவை { எல்லை: 1px திட சாம்பல் பின்னணி-நிறம்: வெள்ளை } .டாக்லைன் { நிலை: முழுமையானது அகலம்: 1200px விளிம்பு-இடது: 0 விளிம்பு-மேல்: 0 } h1 { நிறம்: வெள்ளை எழுத்துரு அளவு: 50px எழுத்துரு-குடும்பம்: 'வெர்டானா', 'சான்ஸ்-செரிஃப்' உரை-சீரமை: மையம் விளிம்பு-மேல்: 275px } .தத்தெடுக்க { விளிம்பு-மேல்: 30px விளிம்பு-இடது: 540px } .bttn { எல்லை: 1px திட வெள்ளை திணிப்பு: 10px 30px நிறம்: மஞ்சள் எழுத்துரு-குடும்பம்: 'வெர்டானா', 'சான்ஸ்-செரிஃப்' எழுத்துரு அளவு: 22px உரை-அலங்காரம்: எதுவுமில்லை } .adopt a: மிதவை { பின்னணி-வண்ணம்: பர்லிவுட் }

படி 1: களஞ்சியங்களைப் புதுப்பிக்க பின்வரும் கட்டளைகளை இயக்கவும், தேவையான களஞ்சியங்களைச் சேர்க்கவும் மற்றும் அன்சிபிள் நிறுவலுக்காக உங்கள் கணினியில் பிபிஏவை உள்ளமைக்கவும்:

$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa: ansible / ansible

பிபிஏ சேர்த்தலை ஏற்க Enter ஐ அழுத்தவும், பின்னர் களஞ்சியங்களை புதுப்பித்த பிறகு இறுதியாக Ansible ஐ நிறுவவும்.

$ sudo apt-get update $ sudo apt-get install ansible

படி 2: உங்கள் சேவையகத்தின் / etc / host கோப்பிற்குச் சென்று ஹோஸ்டின் பெயர் மற்றும் ஹோஸ்டின் ஐபி முகவரியைச் சேர்க்கவும்.

etc புரவலன்கள் - அன்சிபிள் வழங்குதல் - எடுரேகாபடம் 1 - தொலைநிலை ஹோஸ்ட்களை / etc / ஹோஸ்ட்களில் சேர்க்கவும் கோப்பு - அன்சிபிள் ப்ரொவிஷனிங்

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

$ ssh-keygen

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

வரிசை குறியீடு c ++ ஐ இணைக்கவும்

படம் 2 - ssh விசையை உருவாக்கு - அன்சிபிள் வழங்குதல்

இப்போது இந்த உருவாக்கப்பட்ட விசை உங்கள் ஹோஸ்டில் இருக்க வேண்டும். விசையை ஹோஸ்டில் நகலெடுப்பது இரண்டு வழிகளில் செய்யப்படலாம், ஹோஸ்டில் கைமுறையாக நகலெடுக்கலாம் அல்லது ssh-copy-id கட்டளையைப் பயன்படுத்தவும். இந்த வழக்கில், நான் அதை ssh-copy-id root @ IP_of_host கட்டளையைப் பயன்படுத்தி நகலெடுக்கப் போகிறேன்.

$ ssh-copy-id root@192.168.56.104

குறிப்பு- இந்த கட்டளையை இயக்குவதற்கு முன்பு உங்கள் ஹோஸ்டுக்குள் செல்ல முடியுமா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

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

படம் 3 - சரக்கு கோப்பில் தொலை ஹோஸ்ட்களைச் சேர்க்கவும் - அன்சிபிள் வழங்குதல்

படி 5: உங்கள் புரவலன்கள் தயாரா என்று சரிபார்க்கவும். இந்த கட்டளையை இயக்கவும் நீங்கள் இதே போன்ற வெளியீட்டைப் பெற வேண்டும்.

$ பதில் -எம் பிங் அனைத்தும்

படம் 4 - தொலை ஹோஸ்டின் நிலையை சரிபார்க்கவும் - பதிலளிக்கக்கூடிய வழங்கல்

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

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

--- # அமைவு LAMP அடுக்கு - புரவலன்கள்: ஹோஸ்ட் 1 பணிகள்: - பெயர்: ppa களஞ்சியத்தைச் சேர்க்கவும்: ஆம் apt_repository: repo = ppa: ondrej / php - name: விளக்கு அடுக்கை நிறுவவும்: ஆம் apt: pkg: - apache2 - mysql-server - php7.0 - php7.0-mysql state: present update cache: yes - name: start apache server become: yes service: name: apache2 state: begin enable: yes - name: mysql சேவையைத் தொடங்குங்கள்: ஆம் சேவைகள்: பெயர்: mysql நிலை: தொடங்கப்பட்டது இயக்கப்பட்டது: ஆம் - பெயர்: இலக்கு அடைவு கோப்பை உருவாக்கு: பாதை = / var / www / html நிலை = அடைவு முறை = 0755 - பெயர்: வரிசைப்படுத்து index.html ஆனது: ஆம் நகல்: src: / etc / ansible / index / index.html dest: var / www / html / index / index.html

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

  • முதல் பணி MySQL மற்றும் PHP ஐ நிறுவ தேவையான களஞ்சியத்தை சேர்க்கிறது.
  • இரண்டாவது பணி apache2, MySQL-server, PHP மற்றும் PHP-MySQL ஐ நிறுவுகிறது.
  • மூன்றாவது மற்றும் நான்காவது பணி அப்பாச்சி மற்றும் MySQL சேவையைத் தொடங்குகிறது.
  • ஐந்தாவது பணி ஹோஸ்ட் கணினியில் இலக்கு கோப்பகத்தை உருவாக்குகிறது மற்றும்
  • இறுதியாக, ஆறாவது பணி index.html கோப்பை இயக்குகிறது, இது சேவையக கணினியிலிருந்து கோப்பை எடுத்து ஹோஸ்ட் கணினியில் நகலெடுக்கிறது.

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

$ ansible-playbook lamp.yml -K

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

படம் 5 - அன்சிபிள் பிளேபுக்கை இயக்கவும் - அன்சிபிள் ப்ரொவிஷனிங்

டெவொப்ஸ் கருவிகளின் கால அட்டவணை

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

படம் 6 - லோக்கல் ஹோஸ்டில் வலைத்தளத்தை ஹோஸ்ட் செய்யுங்கள் - அன்சிபிள் வழங்குதல்

இப்போது அது ஒரு வலைப்பக்கமாகும், இது சேவையகத்துடன் தொடர்பு கொள்ளும் அனைத்து ஹோஸ்ட்களிலும் பயன்படுத்தப்படுகிறது (எங்கள் விஷயத்தில், எங்களுக்கு ஒரே ஒரு ஹோஸ்ட் மட்டுமே இருந்தது) ஆனால் 100 தொலைநிலை ஹோஸ்ட்களுக்கும் கூட இது சாத்தியமாகும்.

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

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