டெர்ராஃபார்ம் தொகுதிகள்

Terrahparm Tokutikal



உள்கட்டமைப்பு வழங்குதல் மற்றும் மேலாண்மை உலகில், டெவலப்பர்கள் மற்றும் செயல்பாட்டுக் குழுக்களிடையே டெர்ராஃபார்ம் பிரபலமான தேர்வாக உருவெடுத்துள்ளது. அதன் அறிவிப்பு தொடரியல் (HCL – HashiCorp கட்டமைப்பு மொழி) மற்றும் பல்வேறு உள்கட்டமைப்பு வழங்குநர்களுக்கான ஆதரவுடன், Terraform உள்கட்டமைப்பு-குறியீடு (IaC) நடைமுறைகளை செயல்படுத்துகிறது.

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







டெர்ராஃபார்ம் தொகுதிகள் அறிமுகம்

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



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



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

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





ரூட் தொகுதி



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

ரூட் தொகுதி பொதுவாக 'main.tf' கோப்பைக் கொண்டுள்ளது, அங்கு நமது உள்கட்டமைப்பின் அடித்தளத்தை உருவாக்கும் வளங்கள் மற்றும் உள்ளமைவுகளை நாங்கள் வரையறுக்கிறோம். விருப்பமாக, அதனுடன் “variables.tf” மற்றும் “outputs.tf” கோப்புகளை வைத்திருக்கலாம். மேலும், குழந்தை தொகுதிகளை எளிதாக அணுக ரூட் கோப்பகத்தில் நமது 'தொகுதிகள்' கோப்பகத்தை வரையறுக்கலாம்.

குழந்தை தொகுதிகள்

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

குழந்தை தொகுதிகள் ரூட் அல்லது பிற குழந்தை தொகுதிகளுக்குள் பயன்படுத்தப்படலாம், அவை கலவை மற்றும் சிக்கலான உள்கட்டமைப்பை உருவாக்க அனுமதிக்கின்றன. ஒவ்வொரு சைல்டு மாட்யூலும் பொதுவாக 'main.tf', 'variables.tf' மற்றும் 'outputs.tf' போன்ற தேவையான உள்ளமைவு கோப்புகளைக் கொண்ட கோப்பகத்தைக் கொண்டுள்ளது.

இப்போது, ​​டெர்ராஃபார்ம் தொகுதியை எப்படி உருவாக்குவது என்று பார்க்கலாம்.

ஒரு டெர்ராஃபார்ம் தொகுதியை உருவாக்குதல்

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

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

வளம் 'டாக்கர்_கன்டெய்னர்' 'வெப்சர்வர்' {
பெயர்  = var.name
படம் = var.image
துறைமுகங்கள் {
அக = var.internal_port
வெளிப்புற = var.external_port
}
}

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

பின்வரும் படத்தில் காட்டப்பட்டுள்ளபடி, தொகுதியைப் பயன்படுத்தும் போது தனிப்பயனாக்கக்கூடிய உள்ளீட்டு மாறிகளை வரையறுக்க, 'தொகுதிகள்' கோப்பகத்தில் 'variables.tf' என்ற தனி கோப்பை உருவாக்குகிறோம்:

மாறி 'பெயர்' {
விளக்கம் = 'டோக்கர் கொள்கலன் பெயர்'
வகை = சரம்
}

மாறி 'படம்' {
விளக்கம் = 'டோக்கர் படம்'
வகை = சரம்
}

மாறி 'உள்_போர்ட்' {
விளக்கம் = 'டோக்கர் கொள்கலனில் உள்ள உள் துறைமுகம்'
வகை = எண்
}

மாறி 'வெளிப்புற_போர்ட்' {
விளக்கம் = 'மேப் செய்ய வெளிப்புற துறைமுகம்'
வகை = எண்
}

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

டெர்ராஃபார்ம் தொகுதியைப் பயன்படுத்துதல்

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

தொகுதி 'webserver_container' {
ஆதாரம் = '../modules/docker_container'
பெயர்         = 'mywebserver'
படம்         = 'nginx: சமீபத்திய'
அக_போர்ட்   = 80
வெளிப்புற_போர்ட்   = 8080
}

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

அடுத்து, தொகுதிகளுடன் பயன்படுத்த Terraform வெளியீடுகளை எவ்வாறு பயன்படுத்துவது என்பதைப் பார்ப்போம்.

தொகுதி வெளியீடுகள்

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

வெளியீடு 'கன்டெய்னர்_ஐடி' {
விளக்கம் = 'உருவாக்கப்பட்ட டோக்கர் கொள்கலனின் ஐடி'
மதிப்பு       = docker_container.webserver.id
}

இங்கே, 'modules' கோப்பகத்தில் 'outputs.tf' கோப்பை உருவாக்கினோம். இந்த வெளியீட்டு மாறியானது, தொகுதிக்குள் 'வெப்சர்வர்' என்று பெயரிடப்பட்ட 'டாக்கர்_கன்டெய்னர்' ஆதாரத்தால் உருவாக்கப்பட்ட டோக்கர் கண்டெய்னரின் ஐடியை வெளிப்படுத்துகிறது.

இப்போது, ​​நமது ரூட் உள்ளமைவு கோப்பில் கண்டெய்னர் ஐடியை அணுகலாம். ரூட் கோப்பகத்தில் “main.tf” கோப்பின் பின்வரும் மேம்படுத்தப்பட்ட குறியீட்டைப் பார்க்கவும்:

தொகுதி 'webserver_container' {
ஆதாரம் = '../modules/docker_container'
பெயர்         = 'mywebserver'
படம்         = 'nginx: சமீபத்திய'
அக_போர்ட்   = 80
வெளிப்புற_போர்ட்   = 8080
}

வளம் 'docker_volume' 'தகவல்கள்' {
# மீதமுள்ள வாதங்கள் இங்கே செல்கின்றன
கட்டுதல் = module.webserver_container.container_id
}

'module.webserver_container.container_id' ஐ 'பைண்ட்' வாதத்திற்கான மதிப்பாகப் பயன்படுத்துவதன் மூலம், 'web_container' தொகுதியின் கண்டெய்னர் ஐடியால் குறிப்பிடப்பட்ட இடத்திற்கு டோக்கர் வால்யூமை இணைக்குமாறு Terraform க்கு அறிவுறுத்துகிறோம். இது டோக்கர் வால்யூம் ரிசோர்ஸுக்கும் “வெப்சர்வர்_கன்டெய்னர்” மாட்யூலால் உருவாக்கப்பட்ட கொள்கலனுக்கும் இடையே ஒரு உறவை ஏற்படுத்துகிறது.

டெர்ராஃபார்ம் தொகுதிகளுக்கான சிறந்த நடைமுறைகள்

மறுபயன்பாட்டிற்கு மாடுலரைஸ் செய்யவும்

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

தெளிவான மற்றும் சீரான பெயரிடுதல்

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

தனிமைப்படுத்தப்பட்ட சார்புகள்

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

பதிப்பு கட்டுப்பாடு மற்றும் தொகுதி பதிவு

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

முடிவுரை

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