ஐடி உள்கட்டமைப்பு ஆட்டோமேஷனுக்கு பொம்மை தொகுதிகள் எவ்வாறு பயன்படுத்துவது?



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

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

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





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

பப்பட் புரோகிராமிங் அறிமுகம்

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



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

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

mysql உடன் இணைக்க ஜாவா குறியீடு

பப்பட் புரோகிராமிங்கில் முக்கிய சொற்கள்

வெளிப்படுத்துகிறது

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



வகுப்புகள்

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

வளங்கள்

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

பொம்மை தொகுதிகள்

பிரதான தவிரsite.ppபகிரங்கமான,இது வெளிப்படுகிறதுஇல் தொகுதிகள் .

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

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

தொகுதிகள் - பொம்மை நிரலாக்க - எடுரேகாபப்பட்லேப்ஸில் முன்பே வரையறுக்கப்பட்ட தொகுதிகள் உள்ளன, அவற்றை பதிவிறக்குவதன் மூலம் உடனடியாகப் பயன்படுத்தலாம் பப்பட்ஃபார்ஜ் . உங்கள் தேவைகளுக்கு ஏற்ப தனிப்பயன் பொம்மை தொகுதியையும் உருவாக்கலாம்.

பொம்மை நிரல் பணிப்பாய்வு

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

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

ஆர்ப்பாட்டம்: அப்பாச்சி & MySQL இன் நிறுவலை தானியக்கமாக்குகிறது

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

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

  • பொம்மை மாஸ்டர்: உபுண்டு 18.04
  • முகவர் 1: உபுண்டு 18.04
  • முகவர் 2:CentOS7

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


எனவே கைகளால் தொடங்கலாம்:

புதிதாக ஒரு தொகுதியை உருவாக்குதல்

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

  • பப்பட் மாஸ்டரிலிருந்து, பப்பட் தொகுதி அடைவுக்குச் சென்று அப்பாச்சி கோப்பகத்தை உருவாக்கவும்:
    cd / etc / puppet / modules sudo mkdir apache
  • அப்பாச்சி கோப்பகத்தின் உள்ளே இருந்து, துணை அடைவுகளை உருவாக்குங்கள்: வெளிப்படுகிறது, வார்ப்புருக்கள், கோப்புகள் மற்றும் எடுத்துக்காட்டுகள்.
    cd apache sudo mkdir {வெளிப்படுத்துகிறது, வார்ப்புருக்கள், கோப்புகள், எடுத்துக்காட்டுகள்}
  • வெளிப்படையான கோப்பகத்திற்கு செல்லவும்:
    சி.டி வெளிப்படுகிறது
  • இங்கிருந்து, குறியீட்டின் அந்த பிரிவின் குறிக்கோள்களின் அடிப்படையில் தொகுதியை வகுப்புகளாக பிரிப்போம்.

init.pp -> அப்பாச்சி தொகுப்பைப் பதிவிறக்க

params.pp -> எந்த மாறிகள் மற்றும் அளவுருக்களை வரையறுக்க

config.pp -> அப்பாச்சி சேவைக்கான எந்த உள்ளமைவு கோப்புகளையும் நிர்வகிக்க.

vhosts.pp -> மெய்நிகர் ஹோஸ்ட்களை வரையறுக்க.

இந்த தொகுதி பயன்படுத்தவும் ஹைரா (ஒரு உள்ளமைக்கப்பட்ட விசை-மதிப்பு உள்ளமைவு தரவு தேடல் அமைப்பு, பப்பட் குறியீட்டிலிருந்து தரவைப் பிரிக்கப் பயன்படுகிறது) தரவு, ஒவ்வொரு முனைக்கும் மாறிகள் சேமிக்க.

படி 1: அப்பாச்சி தொகுப்பைப் பதிவிறக்குகிறது

Init.pp வகுப்பை உருவாக்கவும்

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

/etc/puppetlabs/code/en Environmentles / production / modules / apache / manifests / init.pp

class apache {package {'apache': name => $ apachename, உறுதி => தற்போது,}}

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

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

உறுதி குறிப்பு தொகுப்பு என்பதை உறுதி செய்கிறதுதற்போது.

Params.pp கோப்பை உருவாக்கவும்

திparams.ppகோப்பு தேவையான மாறிகள் வரையறுக்கும். இந்த மாறிகளை நாம் வரையறுக்க முடியும்init.ppகோப்பு, வள வகைக்கு வெளியே அதிக மாறிகள் பயன்படுத்தப்பட வேண்டும் என்பதால், aparams.ppகோப்பு மாறிகள் வரையறுக்க அனுமதிக்கிறதுஎன்றால்அறிக்கைகள் மற்றும் பல வகுப்புகளில் பயன்படுத்தப்படுகிறது.

ஒரு உருவாக்கparams.ppகோப்பு மற்றும் பின்வரும் குறியீடு.

/etc/puppetlabs/code/en Environment/production/modules/apache/manifests/params.pp

class apache :: params {if $ :: osfamily == 'RedHat' {$ apachename = 'httpd'} elsif $ :: osfamily == 'டெபியன்' {$ apachename = 'apache2'} else {தோல்வி ('இது இல்லை ஆதரிக்கப்பட்ட டிஸ்ட்ரோ. ')}}

அசலுக்கு வெளியே init.ppவகுப்பு, ஒவ்வொரு வகுப்பு பெயரையும் பிரிக்க வேண்டும்அப்பாச்சி. இந்த வகுப்பை நாங்கள் அழைக்கிறோம் apache :: params . இரட்டை பெருங்குடலுக்குப் பிறகு உள்ள பெயர் கோப்போடு ஒரு பெயரைப் பகிர வேண்டும். ஒருஎன்றால்வழங்கிய தகவல்களிலிருந்து இழுத்து, அளவுருக்களை வரையறுக்க அறிக்கை பயன்படுத்தப்படுகிறது காரணி , பப்பட் அதன் நிறுவலின் ஒரு பகுதியாக காரணி நிறுவலைக் கொண்டுள்ளது. இங்கே, காரணி இயக்க முறைமை குடும்பத்தை இழுக்கும் (osfamily), அது இருந்தால் அறியRed Hatஅல்லதுடெபியன் சார்ந்த.

அளவுருக்கள் இறுதியாக வரையறுக்கப்பட்டுள்ளதால், நாம் அழைக்க வேண்டும் params.pp கோப்பு மற்றும் அளவுருக்கள்init.pp. இதைச் செய்ய, வர்க்கப் பெயருக்குப் பிறகு அளவுருக்களைச் சேர்க்க வேண்டும், ஆனால் திறக்கும் சுருள் அடைப்புக்கு முன்({).

அதனால்init.ppநாம் முன்பு உருவாக்கியது இது போன்றதாக இருக்க வேண்டும்:

class apache ($ apachename = $ :: apache :: params :: apachename,) மரபுரிமையாக :: apache :: params {package {'apache': name => $ apachename, உறுதி => தற்போது,}}

மதிப்பு சரம் $ :: அப்பாச்சி :: அளவுருக்கள் :: மதிப்பு பப்பட் இருந்து மதிப்புகளை இழுக்க சொல்கிறது அப்பாச்சி தொகுதிகள், அளவுருக்கள் வகுப்பு, அதைத் தொடர்ந்து அளவுரு பெயர். துண்டு வாரிசுகள் :: அப்பாச்சி :: அளவுருக்கள் அனுமதிக்கிறதுinit.ppஇந்த மதிப்புகளை மரபுரிமையாகப் பெற.

படி 2: உள்ளமைவு கோப்புகளை நிர்வகிக்கவும்

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

இந்த டெமோவின் முடிவில் பின்வரும் சார்பு கோப்புகளை நீங்கள் காணலாம்:httpd.conf(Red Hat),apache2.conf(டெபியன்).

  • இன் உள்ளடக்கத்தை நகலெடுக்கவும் httpd.conf மற்றும்apache2.confதனி கோப்புகளில் மற்றும் அவற்றை சேமிக்கவும் கோப்புகள் அடைவுஇல் / etc / puppetlabs / code / சூழல்கள் / உற்பத்தி / தொகுதிகள் / அப்பாச்சி / கோப்புகள் .
  • இரண்டு கோப்புகளையும் திருத்தவும் முடக்கு உயிரோடு வைத்திரு. நீங்கள் வரியைச் சேர்க்க வேண்டும் KeepAlive முடக்கு இல்httpd.confகோப்பு. இந்த அமைப்பை மாற்ற நீங்கள் விரும்பவில்லை என்றால், ஒவ்வொன்றின் மேலேயும் ஒரு கருத்தை நாங்கள் சேர்க்க வேண்டும்கோப்பு:
    /etc/puppetlabs/code/en Environmentles / production / modules / apache / files / httpd.conf
# இந்த கோப்பு பொம்மலாட்டத்தால் நிர்வகிக்கப்படுகிறது

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

/etc/puppetlabs/code/en Environmentles / production / modules / apache / manifests / init.pp

கோப்பு config 'கட்டமைப்பு-கோப்பு': பாதை => ff conffile, உறுதிப்படுத்த => கோப்பு, மூல => $ confsource,}

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

உறுதி அது ஒரு கோப்பு என்பதை உறுதி செய்கிறது.

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

திறparams.ppகோப்பு.

நாங்கள் வரையறுக்கிறோம் ff conffile மற்றும் s confsourceஉள்ள மாறிகள்என்றால்அறிக்கை:

/etc/puppetlabs/code/en Environment/production/modules/apache/manifests/params.pp

if $ :: osfamily == 'RedHat' {... $ conffile = '/etc/httpd/conf/httpd.conf' $ confsource = 'கைப்பாவை: ///modules/apache/httpd.conf'} elsif $: : osfamily == 'டெபியன்' {... $ conffile = '/etc/apache2/apache2.conf' $ confsource = 'கைப்பாவை: ///modules/apache/apache2.conf'} else {...

நாம் தொடக்கத்தில் அளவுருக்களை சேர்க்க வேண்டும்அப்பாச்சிவர்க்க அறிவிப்புinit.ppகோப்பு, முந்தைய உதாரணத்தைப் போன்றது.

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

ஜாவாவில் ஒரு நிகழ்வு மாறி என்ன

/etc/puppetlabs/code/en Environmentles / production / modules / apache / manifests / init.pp

கோப்பு config 'config-file': path => f conffile, உறுதி => கோப்பு, மூல => $ confsource, notify => சேவை ['அப்பாச்சி-சேவை'],} சேவை ap 'அப்பாச்சி-சேவை': பெயர் => $ apachename, hasrestart => உண்மை,}

சேவை Red Hat மற்றும் Debian கணினிகளில் அப்பாச்சி பெயரை வரையறுத்துள்ள ஏற்கனவே உருவாக்கிய அளவுருவை வள பயன்படுத்துகிறது.
hasrestart வரையறுக்கப்பட்ட சேவையின் மறுதொடக்கத்தைத் தூண்டுவதற்கு பண்புக்கூறு பயன்படுத்தப்படுகிறது.

படி 3: மெய்நிகர் ஹோஸ்ட் கோப்புகளை உருவாக்கவும்

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

  • உள்ளே இருந்துஅப்பாச்சி / வெளிப்படுகிறது /அடைவு, உருவாக்க மற்றும் திறக்க avhosts.ppகோப்பு. இன் எலும்புக்கூட்டைச் சேர்க்கவும்என்றால்அறிக்கை:

/etc/puppetlabs/code/en Environment/production/modules/apache/manifests/vhosts.pp

class apache :: vhosts {if $ :: osfamily == 'RedHat' {s elsif $ :: osfamily == 'டெபியன்' {} else {}}

எங்கள் CentOS 7 சேவையகத்தில் மெய்நிகர் ஹோஸ்ட் கோப்பின் இருப்பிடம்/etc/httpd/conf.d/vhost.conf . பப்பட் மாஸ்டரில் கோப்பை ஒரு டெம்ப்ளேட்டாக உருவாக்க வேண்டும். அமைந்துள்ள உபுண்டு மெய்நிகர் ஹோஸ்ட்கள் கோப்பிற்கும் இதைச் செய்யுங்கள்/etc/apache2/sites-available/example.com.conf, மாற்றுகிறதுexample.comசேவையகத்தின் FQDN உடன்.

  • செல்லவும் வார்ப்புருக்கள் க்குள் கோப்பு அப்பாச்சி தொகுதி மற்றும் உங்கள் மெய்நிகர் ஹோஸ்ட்களுக்கு இரண்டு கோப்புகளை உருவாக்கவும்:

Red Hat அமைப்புகளுக்கு:
/etc/puppetlabs/code/en Environmentles / production / modules / apache / templates / vhosts-rh.conf.erb

ServerAdmin ServerName ServerAlias ​​www. DocumentRoot / var / www // public_html / ErrorLog /var/www//logs/error.log CustomLog /var/www//logs/access.log இணைந்து

டெபியன் அமைப்புகளுக்கு:
/etc/puppet/modules/apache/templates/vhosts-deb.conf.erb

ServerAdmin ServerName ServerAlias ​​www. DocumentRoot / var / www / html // public_html / ErrorLog /var/www/html//logs/error.log CustomLog /var/www/html//logs/access.log இணைந்துவழங்கப்பட்ட அனைத்தும் தேவை

இந்த கோப்புகளில் இரண்டு மாறிகள் மட்டுமே பயன்படுத்துகிறோம்: adminemail மற்றும் சேவையக பெயர் . இவற்றை ஒரு முனை-மூலம்-முனை அடிப்படையில் வரையறுப்போம்site.ppகோப்பு.

  • திரும்பவும்vhosts.ppகோப்பு. உருவாக்கப்பட்ட வார்ப்புருக்கள் இப்போது குறியீட்டில் குறிப்பிடப்படலாம்:

/etc/puppetlabs/code/en Environment/production/modules/apache/manifests/vhosts.pp

class apache :: vhosts {if $ :: osfamily == 'RedHat' {file {'/etc/httpd/conf.d/vhost.conf': உறுதி => கோப்பு, உள்ளடக்கம் => வார்ப்புரு ('அப்பாச்சி / வோஸ்ட்ஸ்-ஆர்.எச் .conf.erb '),}} elsif $ :: osfamily ==' டெபியன் '{கோப்பு {' /etc/apache2/sites-available/$servername.conf ': உறுதிப்படுத்த => கோப்பு, உள்ளடக்கம் => வார்ப்புரு (' அப்பாச்சி /vhosts-deb.conf.erb '),}} else {தோல்வி (' இது ஆதரிக்கப்படும் டிஸ்ட்ரோ அல்ல. ')}}

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

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

/etc/puppetlabs/code/en Environment/production/modules/apache/manifests/vhosts.pp

class apache :: vhosts {if $ :: osfamily == 'RedHat' {file {'/etc/httpd/conf.d/vhost.conf': உறுதி => கோப்பு, உள்ளடக்கம் => வார்ப்புரு ('அப்பாச்சி / வோஸ்ட்ஸ்-ஆர்.எச் .conf.erb '),} கோப்பு {[' / var / www / $ சேவையகப் பெயர் ',' / var / www / $ சேவையகப் பெயர் / பொது_ஹெச்எம் ',' / var / www / $ சேவையகப் பெயர் / பதிவு ',]: உறுதி => அடைவு,}} elsif $ :: osfamily == 'டெபியன்' {கோப்பு {'/etc/apache2/sites-available/$servername.conf': உறுதி => கோப்பு, உள்ளடக்கம் => வார்ப்புரு ('அப்பாச்சி / வோஸ்ட்ஸ்-டெப். conf.erb '),} file {[' / var / www / $ servername ',' / var / www / $ servername / public_html ',' / var / www / $ servername / log ',]: உறுதி => அடைவு ,}} else {தோல்வி ('இது ஆதரிக்கப்படும் டிஸ்ட்ரோ அல்ல.')}}

படி 4: தொகுதியை சோதிக்கவும்

  • செல்லவும்அப்பாச்சி / வெளிப்படுகிறது /அடைவு, இயக்கவும் கைப்பாவை பாகுபடுத்தி பொம்மை குறியீட்டு முறை பிழையில்லாமல் இருப்பதை உறுதி செய்ய அனைத்து கோப்புகளிலும்:

sudo / opt / puppetlabs / bin / puppet parser init.pp params.pp vhosts.pp ஐ சரிபார்க்கவும்

எந்த பிரச்சினையும் இல்லாமல், அது காலியாக திரும்ப வேண்டும்.

  • செல்லவும் எடுத்துக்காட்டுகள் அடைவுஅப்பாச்சிதொகுதி. ஒரு உருவாக்கinit.ppகோப்பு மற்றும் உருவாக்கப்பட்ட வகுப்புகள் அடங்கும். க்கான மதிப்புகளை மாற்றவும்$ சர்வர் பெயர்மற்றும்$ அட்மினில்உங்கள் சொந்த:

/etc/puppetlabs/code/en Environmentles / production / modules / apache / example / init.pp

ansible vs பொம்மை vs செஃப்
serveremail = 'webmaster@example.com' $ servername = 'puppet.example.com' இல் அப்பாச்சி அடங்கும் அப்பாச்சி :: vhosts
  • இயங்குவதன் மூலம் தொகுதியை சோதிக்கவும் பொம்மை பொருந்தும் உடன் –நூப் குறிச்சொல்:
    sudo / opt / puppetlabs / bin / puppet apply --noop init.pp

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

  • பிரதான பொம்மை கோப்பகத்திற்குச் செல்லவும், பின்னர்வெளிப்படுகிறதுகோப்புறை (இல்லைஅப்பாச்சி தொகுதியில் உள்ள ஒன்று).

cd / etc / puppetlabs / code / சூழல்கள் / உற்பத்தி / வெளிப்படுகிறது

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

/etc/puppetlabs/code/en Environmentles / production / manifests / site.pp

node 'puppet-agent-ubuntu.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'puppet.example.com' இல் அப்பாச்சி அடங்கும் அப்பாச்சி :: வோஸ்ட்ஸ்} முனை 'கைப்பாவை-முகவர்-சென்டோஸ். .com '{$ adminemail =' webmaster@example.com '$ servername =' puppet.example.com 'இல் அப்பாச்சி அடங்கும் அப்பாச்சி :: வோஸ்ட்கள்}

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

sudo / opt / puppetlabs / bin / puppet agent -t

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

பப்பட்ஃபார்ஜிலிருந்து ஒரு தொகுதியைப் பயன்படுத்தவும்

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

நீங்கள் இருப்பதை உறுதிப்படுத்தவும் / etc / பொம்மலாட்டங்கள் / குறியீடு / சூழல்கள் / உற்பத்தி / தொகுதிகள் அடைவு மற்றும் நிறுவ பப்பட் ஃபோர்ஜின் MySQL தொகுதி வழங்கியவர் பப்பட் லேப்ஸ். இது எந்த முன்நிபந்தனை தொகுதிகளையும் நிறுவும்.

cd / etc / puppetlabs / code / சூழல்கள் / உற்பத்தி / தொகுதிகள்

sudo / opt / puppetlabs / bin / puppet module install puppetlabs-mysql

தரவுத்தளங்களை உருவாக்க ஹைராவைப் பயன்படுத்தவும்

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

  • செல்லவும்/ etc / கைப்பாவைமற்றும் ஹீராவின் உள்ளமைவு கோப்பை உருவாக்கவும்hiera.yamlமுக்கியமாககைப்பாவைஅடைவு. நீங்கள் ஹீராவின் இயல்புநிலை மதிப்புகளைப் பயன்படுத்துவீர்கள்:

/etc/puppetlabs/code/en Environmentles / production / hiera.yaml

--- பதிப்பு: 5 வரிசைமுறை: - பெயர்: பொதுவான பாதை: common.yaml இயல்புநிலை: data_hash: yaml_data datadir: data
  • கோப்பை உருவாக்கவும்common.yaml. இது இயல்புநிலையை வரையறுக்கும் வேர் MySQL க்கான கடவுச்சொல்:

/etc/puppetlabs/code/en Environmentles / production / com.yaml

mysql :: server :: root_password: 'password'

நாங்கள் பயன்படுத்துகிறோம்common.yamlகோப்புஒரு மாறி வேறு இடத்தில் வரையறுக்கப்படாதபோது. இதன் பொருள் எல்லா சேவையகங்களும் ஒரே MySQL ரூட் கடவுச்சொல்லைப் பகிரும். பாதுகாப்பை அதிகரிக்க இந்த கடவுச்சொற்களையும் ஹேஷ் செய்யலாம்.

  • MySQL தொகுதியின் இயல்புநிலையைப் பயன்படுத்த நீங்கள் ஒரு சேர்க்கலாம் ‘:: mysql :: server’ அடங்கும் வரிsite.ppகோப்பு. இருப்பினும், இந்த எடுத்துக்காட்டில், உங்கள் ஒவ்வொரு முனைகளுக்கும் ஒரு தரவுத்தளத்தை உருவாக்க தொகுதியின் இயல்புநிலைகளில் சிலவற்றை நீங்கள் மீறுவீர்கள்.

திருத்துsite.ppபின்வரும் மதிப்புகளுடன் கோப்பு:

node 'Puppetagent-ubuntu.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'hostname.example.com' இல் அப்பாச்சி அடங்கும் அப்பாச்சி அடங்கும் :: வோஸ்ட்களில் mysql :: server mysql :: db my 'mydb_ $ {fqdn} ': பயனர் =>' myuser ', கடவுச்சொல் =>' mypass ', dbname =>' mydb ', host => $ :: fqdn, grant => [' SELECT ',' UPDATE '], tag = > $ டொமைன்,} ode node 'Puppetagent-centos.example.com' {$ adminemail = 'webmaster@example.com' $ servername = 'hostname.example.com' அப்பாச்சியை உள்ளடக்கியது அப்பாச்சி அடங்கும் :: வோஸ்ட்களில் mysql :: server mysql :: db {'mydb _ $ q fqdn}': பயனர் => 'myuser', கடவுச்சொல் => 'mypass', dbname => 'mydb', host => $ :: fqdn, grant => ['SELECT', ' புதுப்பிப்பு '], குறிச்சொல் => $ களம்,}}

பொம்மை மாஸ்டரிலிருந்து பொம்மை முகவர் வரை பொம்மை தொகுதிகள் நிறுவலை தானியக்கமாக்குகிறது

  • ஒவ்வொரு முனையிலும் SSHing மற்றும் பின்வரும் கட்டளையை வழங்குவதன் மூலம் ஒவ்வொரு முனையிலும் இந்த புதுப்பிப்புகளை கைமுறையாக இயக்கலாம்:

sudo / opt / puppetlabs / bin / puppet agent -t

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

பட்டியல் உபுண்டு முகவர் மீது வெற்றிகரமாக பயன்படுத்தப்பட்டது

CentOS முகவரியில் பட்டியல் வெற்றிகரமாக பயன்படுத்தப்பட்டது

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

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

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