ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ටෙරාෆෝම් සංවර්ධකයින් AWS යටිතල පහසුකම් සමඟ වැඩ කිරීම සඳහා තරමක් පහසු හොඳම භාවිතයන් ලබා දෙන බව පෙනේ. ඇත්තේ සූක්ෂ්මතාවයක් පමණි. කාලයත් සමඟම, පරිසරයන් ගණන වැඩි වන අතර, එක් එක් ඒවායේ ලක්ෂණ ඇත. යෙදුම් තොගයේ පාහේ පිටපතක් අසල්වැසි කලාපයේ දිස්වේ. තවද ටෙරාෆෝම් කේතය නව අවශ්‍යතා අනුව ප්‍රවේශමෙන් පිටපත් කර සංස්කරණය කිරීම හෝ හිම පියල්ලක් බවට පත් කිරීම අවශ්‍ය වේ.

විශාල සහ දිගු ව්‍යාපෘතිවල අවුල්සහගත හා අතින් ක්‍රියාදාමයට එරෙහිව සටන් කිරීමට Terraform හි රටා පිළිබඳ මගේ වාර්තාව.

වීඩියෝ:

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මට වයස අවුරුදු 40 යි, මම අවුරුදු 20 ක් තොරතුරු තාක්ෂණ ක්ෂේත්‍රයේ සිටිමි. මම අවුරුදු 12 ක් Ixtens සඳහා වැඩ කරනවා. අපි ඊ-වාණිජ්‍යය මත පදනම් වූ සංවර්ධනයක නියැලී සිටිමු. ඒ වගේම මම අවුරුදු 5ක් තිස්සේ DevOps පුහුණුවීම් කරනවා.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

හෙළිදරව් නොකිරීමේ ගිවිසුමක් පිටුපස සැඟවී සිටින මම නම නොකියන සමාගමක ව්‍යාපෘතියක මගේ අත්දැකීම් ගැන මගේ කතාව වනු ඇත.

ව්‍යාපෘතියේ පරිමාණය තේරුම් ගැනීම සඳහා විනිවිදකයේ ඇති සංඛ්‍යා දක්වා ඇත. ඒවගේම මම ඊලගට කියන හැමදේම Amazon වලට සම්බන්ධයි.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මම මේ ව්‍යාපෘතියට සම්බන්ධ වුණේ මීට අවුරුදු 4කට කලින්. ව්‍යාපෘතිය වර්ධනය වී තිබූ නිසා යටිතල පහසුකම් ප්‍රතිනිර්මාණය කිරීම සම්පූර්ණයෙන් සිදු විය. තවද භාවිතා කරන ලද රටා තවදුරටත් සුදුසු නොවේ. ව්‍යාපෘතියේ සියලු සැලසුම්ගත වර්ධනය අනුව, අලුත් දෙයක් ඉදිරිපත් කිරීමට අවශ්‍ය විය.

ඊයේ Dodo Pizza හි සිදු වූ දේ අපට පැවසූ Matvey ට ස්තූතියි. මීට වසර 4 කට පෙර මෙහි සිදුවූයේ මෙයයි.

සංවර්ධකයින් පැමිණ යටිතල පහසුකම් කේතය සෑදීමට පටන් ගත්හ.

මෙය අවශ්‍ය වීමට වඩාත්ම පැහැදිලි හේතු වූයේ වෙළඳපල සඳහා කාලයයි. පෙරළීමේදී DevOps කණ්ඩායම බාධාවක් නොවන බව සහතික කිරීම අවශ්‍ය විය. වෙනත් දේ අතර, ටෙරාෆෝම් සහ රූකඩ පළමු මට්ටමේ භාවිතා කරන ලදී.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

Terraform යනු HashiCorp වෙතින් විවෘත මූලාශ්‍ර ව්‍යාපෘතියකි. තවද මෙය කුමක්දැයි නොදන්නා අය සඳහා, ඊළඟ විනිවිදක කිහිපය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

කේතය ලෙස යටිතල පහසුකම් යන්නෙන් අදහස් කරන්නේ අපට අපගේ යටිතල පහසුකම් විස්තර කළ හැකි අතර අප විස්තර කළ සම්පත් අපට ලැබෙන බව සහතික කර ගැනීමට සමහර රොබෝවරුන්ගෙන් ඉල්ලා සිටීමයි.

උදාහරණයක් ලෙස, අපට අථත්ය යන්ත්රයක් අවශ්ය වේ. අපි විස්තර කර අවශ්ය පරාමිති කිහිපයක් එකතු කරන්නෙමු.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මෙයින් පසු, අපි කොන්සෝලය තුළ Amazon වෙත ප්‍රවේශය වින්‍යාස කරමු. අපි ටෙරාෆෝම් සැලැස්ම ඉල්ලමු. ටෙරාෆෝම් සැලැස්ම මෙසේ කියනු ඇත: "හරි, අපට ඔබේ සම්පත සඳහා මේ දේවල් කළ හැකිය." සහ අවම වශයෙන් එක් සම්පතක් එකතු කරනු ඇත. සහ කිසිදු වෙනසක් අපේක්ෂා නොකෙරේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඔබ සෑම දෙයකින්ම තෘප්තිමත් වූ පසු, ඔබට ටෙරාෆෝම් අයදුම් කරන ලෙස ඉල්ලා සිටිය හැකි අතර ටෙරාෆෝම් ඔබ වෙනුවෙන් අවස්ථාවක් සාදනු ඇත, ඔබට ඔබේ වලාකුළෙහි අථත්‍ය යන්ත්‍රයක් ලැබෙනු ඇත.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

තවදුරටත් අපගේ ව්යාපෘතිය සංවර්ධනය වෙමින් පවතී. අපි එහි යම් යම් වෙනස්කම් එකතු කරනවා. අපි තවත් අවස්ථා ඉල්ලා සිටිමු, අපි ඇතුළත් කිරීම් 53 ක් එකතු කරමු.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඒ වගේම අපි නැවත කියනවා. කරුණාකර සැලසුම් කරන්න. සැලසුම් කර ඇති වෙනස්කම් මොනවාදැයි අපි දකිමු. අපි අයදුම් කරන්නෙමු. ඒ වගේම තමයි අපේ යටිතල පහසුකම් වර්ධනය වෙන්නේ.

ටෙරාෆෝම් රාජ්‍ය ගොනු ලෙස හඳුන්වන දෙයක් භාවිතා කරයි. එනම්, ඔබ විස්තර කළ සෑම සම්පතක් සඳහාම ඇමේසන් තුළ නිර්මාණය කර ඇති අනුරූප සම්පත් ඇති ගොනුවක ඇමේසන් වෙත යන සියලුම වෙනස්කම් ඔහු සුරකියි. මේ අනුව, සම්පතක විස්තරය වෙනස් වූ විට, Amazon හි වෙනස් කළ යුතු දේ Terraform හරියටම දනී.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මෙම රාජ්ය ගොනු මුලින් ගොනු විය. අපි ඒවා Git හි ගබඩා කළෙමු, එය අතිශයින්ම අපහසු විය. යමෙකුට සෑම විටම වෙනස්කම් කිරීමට අමතක වූ අතර බොහෝ ගැටුම් ඇති විය.

දැන් එය පසුපෙළ භාවිතා කළ හැකිය, එනම් Terraform කුමන බාල්දියේ සහ කුමන යතුරෙන් රාජ්ය ගොනුව සුරැකිය යුතුද යන්න සඳහන් කර ඇත. ටෙරාෆෝම් විසින්ම මෙම රාජ්‍ය ගොනුව ලබා ගැනීම, සියලු මැජික් කිරීම සහ අවසාන ප්‍රති result ලය නැවත ලබා දීම බලා ගනී.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

අපේ යටිතල පහසුකම් වර්ධනය වෙනවා. මෙන්න අපේ කේතය. දැන් අපට අවශ්‍ය වන්නේ අතථ්‍ය යන්ත්‍රයක් නිර්මාණය කිරීමට පමණක් නොව, අපට පරීක්ෂණ පරිසරයක් තිබීමට අවශ්‍ය වේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

Terraform ඔබට මොඩියුලයක් වැනි දෙයක් නිර්මාණය කිරීමට ඉඩ සලසයි, එනම්, යම් ෆෝල්ඩරයක එකම දේ විස්තර කරන්න.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

තවද, උදාහරණයක් ලෙස, පරීක්ෂා කිරීමේදී, මෙම මොඩියුලය අමතා, මොඩියුලය තුළම අපි Terraform යෙදීම ක්‍රියාත්මක කර ඇති ආකාරයටම ලබා ගන්න. පරීක්ෂා කිරීම සඳහා මෙම කේතය ඇත.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

නිෂ්පාදනය සඳහා, අපට එහි වෙනස්කම් කිහිපයක් යැවිය හැකිය, මන්ද පරීක්ෂණ වලදී අපට විශාල අවස්ථා අවශ්‍ය නොවේ; නිෂ්පාදනයේදී, විශාල අවස්ථා ප්‍රයෝජනවත් වේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඊට පස්සේ මම ආපහු ව්‍යාපෘතියට එන්නම්. එය දුෂ්කර කාර්යයක් විය, සැලසුම් කළ යටිතල පහසුකම් ඉතා විශාල විය. සෑම කෙනෙකුටම පහසු වන පරිදි සියලුම කේතය කෙසේ හෝ තැබීම අවශ්‍ය විය: මෙම කේතය නඩත්තු කරන අයට සහ වෙනස්කම් කරන අයට. තවද ඕනෑම සංවර්ධකයෙකුට ගොස් ඔහුගේ වේදිකාවේ කොටස සඳහා අවශ්‍ය යටිතල පහසුකම් සකස් කිරීමට සැලසුම් කර තිබුණි.

මෙය ඔබට විශාල ව්‍යාපෘතියක් තිබේ නම් HashiCorp විසින්ම නිර්දේශ කරනු ලබන නාමාවලි ගසක් වන අතර සම්පූර්ණ යටිතල ව්‍යුහයම කුඩා කොටස් කිහිපයකට බෙදා වෙන් කර එක් එක් කැබැල්ලක් වෙනම ෆෝල්ඩරයක විස්තර කිරීම අර්ථවත් කරයි.

පුළුල් සම්පත් පුස්තකාලයක් තිබීම, ඔබට පරීක්ෂා කිරීමේදී සහ නිෂ්පාදනයේදී ආසන්න වශයෙන් එකම දේ ඇමතිය හැකිය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

අපගේ නඩුවේදී, මෙය සම්පූර්ණයෙන්ම සුදුසු නොවේ, මන්ද සංවර්ධකයින් සඳහා හෝ පරීක්ෂණ සඳහා පරීක්ෂණ තොගය කෙසේ හෝ සරලව ලබා ගත යුතු බැවිනි. නමුත් මට අවශ්‍ය ෆෝල්ඩර හරහා ගොස් ඒවා අවශ්‍ය අනුපිළිවෙලට යෙදීමට අවශ්‍ය නොවීය, සහ දත්ත සමුදාය ඉහළ යනු ඇතැයි කනස්සල්ලට පත්ව, පසුව මෙම දත්ත සමුදාය භාවිතා කරන අවස්ථාව ඉහළ යනු ඇත. එබැවින්, සියලුම පරීක්ෂණ එක් ෆෝල්ඩරයකින් දියත් කරන ලදී. එකම මොඩියුල එහි කැඳවනු ලැබුවද, සියල්ල එක් ධාවනයකින් සිදු කරන ලදී.

ටෙරාෆෝම් සියලු පරායත්තතා ගැන සැලකිලිමත් වේ. තවද එය සෑම විටම අනුපිළිවෙලින් සම්පත් නිර්මාණය කරයි, එවිට ඔබට IP ලිපිනයක් ලබා ගත හැකිය, උදාහරණයක් ලෙස, අලුතින් සාදන ලද අවස්ථාවකින්, සහ මෙම IP ලිපිනය route53 වාර්තාවෙන් ලබා ගන්න.

මීට අමතරව, වේදිකාව ඉතා විශාලයි. පැයක් සඳහා වුවද, පැය 8ක් සඳහා වුවද පරීක්ෂණ තොගයක් දියත් කිරීම තරමක් මිල අධික කටයුත්තකි.

අපි මේ කාරණය ස්වයංක්‍රීය කළා. ඒ වගේම Jenkins ජොබ් එකෙන් අපිට Stack එක දුවන්න ඉඩ දුන්නා. එහි දී, සංවර්ධකයාට පරීක්ෂා කිරීමට අවශ්‍ය වෙනස්කම් සමඟ ඇදීමේ ඉල්ලීමක් දියත් කිරීම අවශ්‍ය විය, අවශ්‍ය සියලු විකල්ප, සංරචක සහ මානයන් සඳහන් කරන්න. ඔහුට කාර්ය සාධන පරීක්ෂාව අවශ්‍ය නම්, ඔහුට තවත් අවස්ථා ගත හැකිය. ඔහුට යම් පෝරමයක් විවෘත වේද යන්න පරීක්ෂා කිරීමට අවශ්‍ය නම්, ඔහුට අවම වැටුපෙන් ආරම්භ කළ හැකිය. තවද පොකුරක් අවශ්‍යද නැද්ද යන්න සඳහන් කරන්න.

ඉන්පසු ජෙන්කින්ස් ෂෙල් ස්ක්‍රිප්ට් එකක් තල්ලු කළ අතර එය ටෙරාෆෝම් ෆෝල්ඩරයේ කේතය තරමක් වෙනස් කළේය. මම අනවශ්‍ය ලිපිගොනු ඉවත් කර අවශ්‍ය ලිපිගොනු එකතු කළෙමි. ඉන්පසු ටෙරාෆෝම් එක ධාවනයකින් තොගය ඉහළ නැංවීය.

ඊට පස්සේ මම යන්න කැමති නැති වෙනත් පියවර තිබුණා.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

පරීක්ෂණ සඳහා අපට නිෂ්පාදනයට වඩා ටිකක් වැඩි විකල්ප අවශ්‍ය වූ නිසා, අපට මොඩියුලවල පිටපත් සෑදීමට සිදු වූ අතර එමඟින් මෙම පිටපත් තුළ අපට පරීක්ෂණ සඳහා පමණක් අවශ්‍ය විශේෂාංග එකතු කළ හැකිය.

එය එසේ සිදු වූයේ පරීක්ෂා කිරීමේදී අවසානයේ නිෂ්පාදනයට යන වෙනස්කම් පරීක්ෂා කිරීමට මට අවශ්‍ය වීමයි. නමුත් ඇත්ත වශයෙන්ම, එක් දෙයක් පරීක්ෂා කරන ලද අතර, නිෂ්පාදනයේදී තරමක් වෙනස් එකක් භාවිතා කරන ලදී. නිෂ්පාදනයේ දී සියලු වෙනස්කම් මෙහෙයුම් කණ්ඩායම විසින් යොදන ලද රටාවේ කුඩා බිඳීමක් ඇති විය. සමහර විට එය පරීක්ෂණයේ සිට නිෂ්පාදනය දක්වා යා යුතු වෙනස්කම් වෙනත් අනුවාදයක පවතින බව පෙනී ගියේය.

මීට අමතරව, නව සේවාවක් එකතු කරන ලද එවැනි ගැටළුවක් ඇති අතර, එය දැනටමත් පවතින සමහරකට වඩා තරමක් වෙනස් විය. තවද පවතින මොඩියුලයක් වෙනස් කිරීම වෙනුවට, අපට එහි පිටපතක් සාදා අවශ්‍ය වෙනස්කම් එකතු කිරීමට සිදු විය.

අත්යවශ්යයෙන්ම, Terraform සැබෑ භාෂාවක් නොවේ. මෙය ප්‍රකාශනයකි. අපට යමක් ප්‍රකාශ කිරීමට අවශ්‍ය නම්, අපි එය ප්‍රකාශ කරමු. ඒ වගේම ඔක්කොම වැඩ.

වෙලාවකට මගේ එක ඇදීමේ ඉල්ලීමක් ගැන කතා කරනකොට මගේ සගයෙක් කිව්වා හිම පියලි හදන්න ඕන නෑ කියලා. ඔහු අදහස් කළේ කුමක්දැයි මම කල්පනා කළෙමි. ලෝකයේ සමාන හිම පියලි දෙකක් නොමැති බව විද්‍යාත්මක සත්‍යයක් ඇත, ඒවා සියල්ලම තරමක් වෙනස් ය. ඒවගේම මේක අහපු ගමන්ම මට ටෙරාෆෝම් කෝඩ් එකේ සම්පූර්ණ බර දැනුනා. මක්නිසාද යත්, අනුවාදයෙන් අනුවාදයට යාමට අවශ්‍ය වූ විට, Terraform හට බිඳීමේ දාම වෙනස්කම් අවශ්‍ය විය, එනම් කේතය තවදුරටත් ඊළඟ අනුවාදය සමඟ නොගැලපේ. ටෙරාෆෝම් හි ඊළඟ අනුවාදයට යටිතල පහසුකම් ගෙන ඒම සඳහා යටිතල ව්‍යුහයේ ඇති ලිපිගොනු වලින් අඩක් පමණ ආවරණය වන පරිදි ඇදීමේ ඉල්ලීමක් කිරීමට අපට සිදු විය.

එවැනි හිම පියල්ලක් දර්ශනය වූ පසු, අපි විශාල, විශාල හිම ගොඩක් බවට පත් කළ සියලුම ටෙරාෆෝම් කේතය.

මෙහෙයුමෙන් පිටත සිටින බාහිර සංවර්ධකයෙකුට, මෙය ඔහුට එතරම් වැදගත් නොවේ, ඔහු අදින්න ඉල්ලීමක් කළ නිසා, ඔහුගේ සම්පත ආරම්භ විය. එපමණයි, එය තවදුරටත් ඔහුගේ සැලකිල්ල නොවේ. තවද සෑම දෙයක්ම හරි බව සහතික කරන DevOps කණ්ඩායමට මෙම සියලු වෙනස්කම් සිදු කිරීමට අවශ්‍ය වේ. තවද එක් එක් අතිරේක හිම පියලි සමඟ මෙම වෙනස්කම්වල පිරිවැය බෙහෙවින් වැඩි විය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

සම්මන්ත්‍රණයකදී ශිෂ්‍යයෙක් කළු ලෑල්ලේ හුණුවලින් පරිපූර්ණ කව දෙකක් අඳින ආකාරය ගැන කතාවක් තිබේ. මාලිමා යන්ත්‍රයක් නොමැතිව මෙතරම් සුමටව ඇඳීමට ඔහු සමත් වූයේ කෙසේදැයි ගුරුවරයා පුදුමයට පත් වේ. ශිෂ්‍යයා පිළිතුරු දෙයි: “ඉතා සරලයි, මම මස් ඇඹරුම් යන්තයක් කරකවන්න හමුදාවේ අවුරුදු දෙකක් ගත කළා.”

ඒ වගේම මම මේ ව්‍යාපෘතියට සම්බන්ධ වෙලා ඉන්න අවුරුදු හතරෙන් මම අවුරුදු දෙකක් විතර ටෙරාෆෝම් කරනවා. ඇත්ත වශයෙන්ම, මට සමහර උපක්‍රම තිබේ, ටෙරාෆෝම් කේතය සරල කරන්නේ කෙසේද, එය ක්‍රමලේඛන භාෂාවක් මෙන් වැඩ කරන්නේ කෙසේද සහ මෙම කේතය යාවත්කාලීනව තබා ගත යුතු සංවර්ධකයින්ගේ බර අඩු කරන්නේ කෙසේද යන්න පිළිබඳ උපදෙස් කිහිපයක්.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මම මුලින්ම පටන් ගන්න කැමති Symlinks වලින්. ටෙරාෆෝම් හි පුනරාවර්තන කේතයක් තිබේ. උදාහරණයක් ලෙස, අපි යටිතල පහසුකම් කැබැල්ලක් නිර්මාණය කරන සෑම අවස්ථාවකම පාහේ සැපයුම්කරු වෙත කරන ඇමතුම සමාන වේ. එය වෙනම ෆෝල්ඩරයක තැබීම තාර්කික ය. තවද මෙම ගොනුවට Symlinks සෑදීමට සැපයුම්කරුට අවශ්‍ය ඕනෑම තැනක.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

උදාහරණයක් ලෙස, නිෂ්පාදනයේදී ඔබ උපකල්පනය කරන භූමිකාව භාවිතා කරයි, එමඟින් ඔබට යම් බාහිර Amazon ගිණුමකට ප්‍රවේශ හිමිකම් ලබා ගැනීමට ඉඩ සලසයි. එක් ගොනුවක් වෙනස් කිරීමෙන් පසු, සම්පත් ගසේ ඉතිරිව ඇති සියලුම ඒවාට අවශ්‍ය අයිතිවාසිකම් ඇති අතර එමඟින් ප්‍රවේශ විය යුත්තේ කුමන ඇමසන් කොටසටද යන්න Terraform දැන ගනී.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

Symlinks අසමත් වන්නේ කොතැනද? මම කිව්වා වගේ Terraform වල රාජ්‍ය ලිපිගොනු තියෙනවා. ඒ වගේම ඔවුන් ඉතා සිසිල් ය. නමුත් කාරණය වන්නේ Terraform මුල්ම ස්ථානයේ පසුබිම ආරම්භ කිරීමයි. තවද ඔහුට මෙම පරාමිතිවල කිසිදු විචල්‍යයක් භාවිතා කළ නොහැක; ඒවා සැමවිටම පෙළෙහි ලිවිය යුතුය.

එහි ප්‍රතිඵලයක් වශයෙන්, යමෙකු නව සම්පතක් සාදන විට, ඔහු වෙනත් ෆෝල්ඩරවලින් සමහර කේතයන් පිටපත් කරයි. තවද ඔහු යතුරෙන් හෝ බාල්දියෙන් වැරැද්දක් කළ හැකිය. නිදසුනක් වශයෙන්, ඔහු වැලිපිල්ලෙන් වැලිපිල්ල දෙයක් සාදා, පසුව එය නිෂ්පාදනය කරයි. එබැවින් නිෂ්පාදනයේ බාල්දිය වැලිපිල්ලෙන් භාවිතා කරන බව පෙනේ. ඇත්ත වශයෙන්ම, ඔවුන් ඉක්මනින් සොයා ගනු ඇත. මෙය කෙසේ හෝ නිවැරදි කිරීමට හැකි වනු ඇත, නමුත් කෙසේ වෙතත් එය කාලය හා යම් දුරකට සම්පත් නාස්තියකි.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඊළඟට අපට කුමක් කළ හැකිද? Terraform සමඟ වැඩ කිරීමට පෙර, ඔබ එය ආරම්භ කළ යුතුය. ආරම්භයේදී, Terraform සියලුම ප්ලගීන බාගත කරයි. යම් අවස්ථාවක දී ඔවුන් ඒකලිතයක සිට වඩාත් ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පයකට බෙදී යයි. තවද ඔබ සෑම විටම Terraform init කළ යුතු අතර එමඟින් සියලුම මොඩියුල, සියලුම ප්ලගීන ඉහළට ඇද දමයි.

තවද ඔබට shell script එකක් භාවිතා කළ හැක, පළමුව, සියලු විචල්‍යයන් ලබා ගත හැක. shell script එක කිසිම ආකාරයකින් සීමා නොවේ. සහ, දෙවනුව, මාර්ග. අපි සැමවිටම රාජ්‍ය ගොනුවේ යතුර ලෙස ගබඩාවේ ඇති මාර්ගය භාවිතා කරන්නේ නම්, ඒ අනුව, මෙහි ඇති දෝෂය ඉවත් කරනු ලැබේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මට දත්ත ලබා ගත හැක්කේ කොතැනින්ද? JSON ගොනුව. ටෙරාෆෝම් ඔබට hcl (HashiCorp වින්‍යාස භාෂාව) පමණක් නොව JSON හි යටිතල පහසුකම් ලිවීමට ඉඩ සලසයි.

JSON shell script එකකින් කියවීමට පහසුය. ඒ අනුව, ඔබට වින්‍යාස ගොනුව බාල්දිය සමඟ යම් ස්ථානයක තැබිය හැකිය. ආරම්භ කිරීම සඳහා මෙම බාල්දිය Terraform කේතයේ සහ shell script දෙකෙහිම භාවිතා කරන්න.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

Terraform සඳහා බාල්දියක් තිබීම වැදගත් වන්නේ ඇයි? මොකද remote state files කියල දෙයක් තියෙනවා. එනම්, මම යම් සම්පතක් රැස් කරන විට, Amazon වෙත පැවසීම සඳහා: "කරුණාකර උදාහරණයක් මතු කරන්න", මට අවශ්‍ය පරාමිති ගොඩක් සඳහන් කිරීමට අවශ්‍යයි.

තවද මෙම හඳුනාගැනීම් වෙනත් ෆෝල්ඩරයක ගබඩා කර ඇත. මට ගොස් මෙසේ පැවසිය හැකිය: "ටෙරාෆෝම්, කරුණාකර එම සම්පතේ රාජ්‍ය ගොනුව වෙත දිව ගොස් මෙම හඳුනාගැනීම් මට ලබා දෙන්න." මේ අනුව විවිධ ප්‍රදේශ හෝ පරිසරයන් අතර යම් එකමුතුවක් දිස්වේ.

දුරස්ථ රාජ්ය ගොනුවක් භාවිතා කිරීම සැමවිටම කළ නොහැක. උදාහරණයක් ලෙස, ඔබ අතින් VPC නිර්මාණය කර ඇත. තවද VPC නිර්මාණය කරන Terraform කේතය එවැනි විවිධ VPCs නිර්මාණය කරන අතර එය ඉතා දිගු කාලයක් ගතවනු ඇති අතර ඔබට එකකට එකක් සකස් කිරීමට සිදුවනු ඇත, එබැවින් ඔබට පහත උපක්‍රමය භාවිතා කළ හැකිය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

එනම්, VPC සෑදීමට පෙනෙන මොඩියුලයක් සාදා, එය ඔබට හඳුනාගැනීම් ලබා දෙයි, නමුත් ඇත්ත වශයෙන්ම එකම අවස්ථාව නිර්මාණය කිරීමට භාවිතා කළ හැකි දෘඪ කේත අගයන් සහිත ගොනුවක් තිබේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

රාජ්ය ගොනුව වලාකුළෙහි සුරැකීමට සෑම විටම අවශ්ය නොවේ. උදාහරණයක් ලෙස, මොඩියුල පරීක්ෂා කිරීමේදී, ඔබට පසුපෙළ ආරම්භ කිරීම භාවිතා කළ හැකිය, එහිදී ගොනුව පරීක්ෂා කිරීමේදී තැටියේ සරලව සුරැකෙනු ඇත.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

දැන් පරීක්ෂණය ගැන ටිකක්. Terraform හි ඔබට පරීක්ෂා කළ හැක්කේ කුමක්ද? බොහෝ විට හැකි ය, නමුත් මම මෙම කරුණු 4 ගැන කතා කරමි.

HashiCorp ටෙරාෆෝම් කේතය ආකෘතිගත කළ යුතු ආකාරය පිළිබඳ අවබෝධයක් ඇත. තවද Terraform fmt මෙම විශ්වාසයට අනුව ඔබ විසින් සංස්කරණය කරන ලද කේතය ආකෘතිකරණය කිරීමට ඔබට ඉඩ සලසයි. ඒ අනුව, වරහන් වල පිහිටීම වෙනස් කිරීමට අවශ්‍ය නොවන පරිදි හැඩතල ගැන්වීම HashiCorp දායාද කළ දේට අනුරූප වේද යන්න පරීක්ෂණ අවශ්‍යයෙන්ම පරීක්ෂා කළ යුතුය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඊළඟ එක තමයි Terraform Validate. එය වාක්‍ය ඛණ්ඩය - අලා, සියලු වරහන් යුගල කර තිබේද යන්න පරීක්ෂා කිරීමට වඩා වැඩි යමක් කරයි. මෙහි වැදගත් වන්නේ කුමක්ද? අපගේ යටිතල පහසුකම් ඉතා පුළුල් ය. ඒකේ විවිධ තාත්තලා ගොඩක් ඉන්නවා. ඒ සෑම එකක් තුළම ඔබ Terraform Validate ධාවනය කළ යුතුය.

ඒ අනුව, පරීක්ෂණ වේගවත් කිරීම සඳහා, අපි සමාන්තර භාවිතා කරමින් සමාන්තරව බහු ක්‍රියාවලි ක්‍රියාත්මක කරමු.

සමාන්තරව ඉතා සිසිල් දෙයක්, එය භාවිතා කරන්න.

නමුත් Terraform ආරම්භ කරන සෑම අවස්ථාවකම, එය HashiCorp වෙත ගොස්, "නවතම ප්ලගින අනුවාදයන් මොනවාද? සහ මම හැඹිලියේ ඇති ප්ලගිනය - එය නිවැරදි එකක්ද වැරදි එකක්ද?" තවද මෙය සෑම පියවරකදීම මන්දගාමී විය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඔබ Terraform හට ප්ලගීන ඇත්තේ කොතැනදැයි පැවසුවහොත්, Terraform පවසනු ඇත: "හරි, මෙය බොහෝ විට එහි ඇති නවතම දෙය විය හැකිය. මම කොහේවත් යන්නේ නැහැ, මම වහාම ඔබේ ටෙරාෆෝම් කේතය වලංගු කිරීම ආරම්භ කරමි.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

අවශ්‍ය ප්ලගීන සමඟ ෆෝල්ඩරය පිරවීම සඳහා, අප සතුව ඉතා සරල ටෙරාෆෝම් කේතයක් ඇති අතර එය ආරම්භ කිරීමට අවශ්‍ය වේ. මෙන්න, ඇත්ත වශයෙන්ම, ඔබේ කේතයට කෙසේ හෝ සහභාගී වන සියලුම සැපයුම්කරුවන් සඳහන් කිරීමට ඔබට අවශ්‍ය වේ, එසේ නොමැතිනම් Terraform මෙසේ කියනු ඇත: "මම නිශ්චිත සැපයුම්කරුවෙකු නොදන්නේ එය හැඹිලියේ නොමැති බැවිනි."

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

ඊළඟට Terraform සැලැස්ම. මම කිව්වා වගේ සංවර්ධනය චක්‍රීයයි. අපි කේතයේ වෙනස්කම් කරන්නෙමු. එවිට යටිතල පහසුකම් සඳහා සැලසුම් කර ඇති වෙනස්කම් මොනවාදැයි ඔබ සොයා බැලිය යුතුය.

යටිතල පහසුකම් ඉතා විශාල වන විට, ඔබට එක් මොඩියුලයක් වෙනස් කිරීමට, පරීක්ෂණ පරිසරයක් හෝ යම් නිශ්චිත කලාපයක් සවි කර අසල්වැසි එකක් බිඳ දැමිය හැකිය. එබැවින්, සම්පූර්ණ යටිතල පහසුකම් සඳහා ටෙරාෆෝම් සැලැස්ම සෑදිය යුතු අතර සැලසුම් කර ඇති වෙනස්කම් මොනවාදැයි පෙන්විය යුතුය.

ඔබට මෙය බුද්ධිමත්ව කළ හැකිය. උදාහරණයක් ලෙස, අපි පරායත්තතා විසඳන පයිතන් ස්ක්‍රිප්ට් එකක් ලිව්වෙමු. වෙනස් කරන ලද දේ මත පදනම්ව: Terraform මොඩියුලයක් හෝ නිශ්චිත සංරචකයක්, එය සියලු යැපෙන ෆෝල්ඩර සඳහා සැලසුම් කරයි.

ටෙරාෆෝම් සැලසුම් ඉල්ලීම මත සිදු කළ යුතුය. අවම වශයෙන් අපි කරන්නේ එයයි.

ඇත්ත වශයෙන්ම, සෑම වෙනසක් සඳහාම, සෑම කැපවීමක් සඳහාම පරීක්ෂණ සිදු කිරීම හොඳය, නමුත් සැලසුම් තරමක් මිල අධික දෙයකි. ඇදීමේ ඉල්ලීමකදී අපි කියනවා, "කරුණාකර මට සැලසුම් දෙන්න" රොබෝවරයා ආරම්භ වේ. සහ ඔබේ වෙනස්කම් වලින් බලාපොරොත්තු වන සියලුම සැලසුම් අදහස් යැවීම හෝ අමුණන්න.

සැලසුමක් යනු තරමක් මිල අධික දෙයකි. ටෙරාෆෝම් ඇමේසන් වෙත ගොස්, “මෙම අවස්ථාව තවමත් පවතීද? මෙම ස්වයංක්‍රීය පරිමාණයට හරියටම එකම පරාමිතීන් තිබේද?" තවද මෙය වේගවත් කිරීම සඳහා, ඔබට refresh=false වැනි පරාමිතියක් භාවිතා කළ හැක. මෙයින් අදහස් කරන්නේ Terraform S3 වෙතින් තත්වය බාගත කරන බවයි. ඇමේසන් හි ඇති දේට ප්‍රාන්තය හරියටම ගැලපෙන බව එය විශ්වාස කරනු ඇත.

එවැනි ටෙරාෆෝම් සැලැස්ම වඩා වේගයෙන් ගමන් කරයි, නමුත් රාජ්‍යය ඔබේ යටිතල ව්‍යුහයට අනුරූප විය යුතුය, එනම් කොහේ හරි, කවදා හෝ ටෙරාෆෝම් නැවුම් කිරීම ආරම්භ විය යුතුය. Terraform refresh එය හරියටම කරයි: සැබෑ යටිතල ව්‍යුහයේ ඇති දේට රාජ්‍ය ගැලපේ.

ඒ වගේම ආරක්ෂාව ගැන කතා කරන්න ඕන. මෙතනින් තමයි අපිට පටන් ගන්න තිබුණේ. ඔබ Terraform ධාවනය කරන විට සහ Terraform ඔබේ යටිතල පහසුකම් මත ධාවනය වන විට අවදානමක් ඇත. එනම්, ඔබ අත්‍යවශ්‍යයෙන්ම කේතය ක්‍රියාත්මක කරයි. ඇදීමේ ඉල්ලීමෙහි යම් ආකාරයක අනිෂ්ට කේතයක් තිබේ නම්, එය ඕනෑවට වඩා ප්‍රවේශයක් ඇති යටිතල ව්‍යුහයක් මත ක්‍රියාත්මක කළ හැක. එබැවින් ඔබ Terraform සැලැස්ම ක්‍රියාත්මක කරන තැන ප්‍රවේශම් වන්න.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මම ඊළඟට කතා කරන්න කැමති පරිශීලක දත්ත පරීක්ෂාව ගැන.

පරිශීලක දත්ත යනු කුමක්ද? Amazon හි, අපි උදාහරණයක් නිර්මාණය කරන විට, අපට නිදසුන සමඟ නිශ්චිත ලිපියක් යැවිය හැක - මෙටා දත්ත. නිදසුන ආරම්භ වන විට, සාමාන්‍යයෙන් Cloud init මෙම අවස්ථාවන්හි සෑම විටම පවතී. Cloud init මෙම ලිපිය කියවා මෙසේ කියයි: "හරි, අද මම තමයි load balancer." තවද මෙම ගිවිසුම්වලට අනුකූලව ඔහු යම් ක්රියාවන් සිදු කරයි.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

නමුත්, අවාසනාවකට, අපි Terraform සැලැස්ම සකස් කර Terraform යෙදූ විට, පරිශීලක-දත්ත පෙනෙන්නේ මේ ආකාරයේ සංඛ්‍යා ලෙසය. එනම්, ඔහු ඔබට හෑෂ් යවයි. තවද ඔබට සැලැස්ම තුළ බැලිය හැක්කේ කිසියම් වෙනසක් සිදුවේද නැතහොත් හැෂ් එලෙසම පවතිනු ඇත්ද යන්නයි.

ඔබ මේ ගැන අවධානය යොමු නොකරන්නේ නම්, සමහර කැඩුණු පෙළ ගොනුවක් සැබෑ යටිතල පහසුකම් මත Amazon මත අවසන් විය හැක.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

විකල්පයක් ලෙස, ක්‍රියාත්මක කිරීමේදී, ඔබට සම්පූර්ණ යටිතල පහසුකම් නොව, සැකිල්ල පමණක් නියම කළ හැක. සහ කේතයේ කියන්න: "කරුණාකර මෙම අච්චුව මගේ තිරය මත පෙන්වන්න." එහි ප්‍රතිඵලයක් වශයෙන්, Amazon හි ඔබගේ දත්ත කෙබඳු වනු ඇත්ද යන්න පිළිබඳ මුද්‍රණයක් ඔබට ලබාගත හැක.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

තවත් විකල්පයක් වන්නේ පරිශීලක දත්ත උත්පාදනය කිරීම සඳහා මොඩියුලයක් භාවිතා කිරීමයි. ඔබ මෙම මොඩියුලය යොදනු ඇත. ඔබට තැටියේ ගොනුව ලැබේ. එය යොමු එක සමඟ සසඳන්න. මේ අනුව, යම් පුද්ගලයෙක් පරිශීලක දත්ත ටිකක් නිවැරදි කිරීමට තීරණය කරන්නේ නම්, ඔබේ පරීක්ෂණ මගින් මෙසේ කියනු ඇත: "හරි, එහෙන් මෙහෙන් වෙනස්කම් කිහිපයක් තිබේ - මෙය සාමාන්යයි."

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මම ඊළඟට කතා කරන්න කැමති දේ තමයි Automate Terraform apply ගැන.

ඇත්ත වශයෙන්ම, ටෙරාෆෝම් ස්වයංක්‍රීය ප්‍රකාරයේදී යෙදීම තරමක් බියජනක ය, මන්ද එහි පැමිණ ඇති වෙනස්කම් මොනවාද සහ ඒවා ජීවමාන යටිතල පහසුකම් සඳහා කෙතරම් විනාශකාරී විය හැකිදැයි දන්නේ කවුද?

පරීක්ෂණ පරිසරයක් සඳහා, මේ සියල්ල සාමාන්යයි. එනම්, සියලුම සංවර්ධකයින්ට අවශ්‍ය වන්නේ පරීක්ෂණ පරිසරයක් නිර්මාණය කරන රැකියාවකි. “සියල්ල මා වෙනුවෙන් ක්‍රියාත්මක විය” වැනි ප්‍රකාශනයක් විහිලු මතකයක් නොවේ, නමුත් පුද්ගලයෙකු ව්‍යාකූල වී, තොගයක් ඔසවා, මෙම තොගය පිළිබඳ පරීක්ෂණ කිහිපයක් පැවැත්වූ බවට සාක්ෂියකි. ඔහු එහි සියල්ල හොඳින් ඇති බවට වග බලා ගෙන මෙසේ පැවසීය: "හරි, මම නිකුත් කරන කේතය පරීක්ෂා කර ඇත."

නිෂ්පාදනය, සෑන්ඩ්බොක්ස් සහ වඩාත් ව්‍යාපාරික තීරනාත්මක වන වෙනත් පරිසරයන්හිදී, ඔබට යම් කිසිවකු මියයාමට හේතු නොවන නිසා යම් යම් සම්පත් තරමක් ආරක්ෂිතව භාවිත කළ හැක. ඒවා නම්: ස්වයංක්‍රීය පරිමාණ කණ්ඩායම්, ආරක්ෂක කණ්ඩායම්, භූමිකාවන්, route53 සහ එහි ලැයිස්තුව තරමක් විශාල විය හැක. නමුත් සිදුවන්නේ කුමක්ද යන්න පිළිබඳව විමසිල්ලෙන් සිටින්න, ස්වයංක්‍රීය යෙදුම් වාර්තා කියවන්න.

අයදුම් කිරීම භයානක හෝ බියජනක නම්, උදාහරණයක් ලෙස, මේවා දත්ත සමුදායකින් පවතින සමහර සම්පත් නම්, යටිතල ව්‍යුහයේ යම් කොටසක නොයෙදුණු වෙනස්කම් ඇති බවට වාර්තා ලබා ගන්න. ඉංජිනේරුවරයා, අධීක්ෂණය යටතේ, අයදුම් කිරීමට හෝ ඔහුගේ කොන්සෝලයෙන් එය සිදු කිරීමට රැකියා ආරම්භ කරයි.

Amazon එකේ Terminate protection වගේ දෙයක් තියෙනවා. තවද එය ඔබට අවශ්‍ය නොවන වෙනස්කම් වලින් සමහර අවස්ථාවලදී ආරක්ෂා විය හැක. එනම්, ටෙරාෆෝම් ඇමේසන් වෙත ගොස් මෙසේ පැවසීය: "තවත් එකක් සෑදීමට මට මෙම අවස්ථාව මරා දැමිය යුතුයි." ඇමේසන් මෙසේ පවසයි: “කණගාටුයි, අද නොවේ. අපට අවසන් ආරක්ෂාව ඇත."

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

සහ කේක් මත ඇති අයිසිං යනු කේත ප්‍රශස්තිකරණයයි. අපි Terraform කේතය සමඟ වැඩ කරන විට, අපි මොඩියුලයට පරාමිති විශාල සංඛ්යාවක් ලබා දිය යුතුය. යම් ආකාරයක සම්පතක් නිර්මාණය කිරීම සඳහා අවශ්ය වන පරාමිතීන් මේවාය. තවද කේතය මොඩියුලයෙන් මොඩියුලයට, මොඩියුලයෙන් මොඩියුලයට, විශේෂයෙන් මොඩියුල කැදලි කර ඇත්නම්, පරාමිති විශාල ලැයිස්තුවක් බවට පත්වේ.

ඒ වගේම කියවන්න හරිම අමාරුයි. මෙය සමාලෝචනය කිරීම ඉතා අපහසුය. බොහෝ විට සමහර පරාමිතීන් සමාලෝචනයට භාජනය වන අතර ඒවා හරියටම අවශ්‍ය දේ නොවේ. තවද මෙය පසුව නිවැරදි කිරීමට කාලය සහ මුදල් වැය වේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

එමනිසා, මම ඔබට යෝජනා කරන්නේ යම් වටිනාකම් සහිත ගසක් ඇතුළත් සංකීර්ණ පරාමිතියක් ලෙස එවැනි දෙයක් භාවිතා කිරීමයි. එනම්, ඔබට කිසියම් පරිසරයක තිබිය යුතු සියලුම අගයන් ඇති යම් ආකාරයක ෆෝල්ඩරයක් අවශ්‍ය වේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

තවද මෙම මොඩියුලය ඇමතීමෙන්, ඔබට එක් පොදු මොඩියුලයක ජනනය වන ගසක් ලබා ගත හැකිය, එනම් සමස්ත යටිතල පහසුකම් සඳහාම ක්‍රියා කරන පොදු මොඩියුලයක.

මෙම මොඩියුලය තුළ ඔබට දේශීය වශයෙන් Terraform හි එවැනි මෑත විශේෂාංගයක් භාවිතා කර ගණනය කිරීම් කිහිපයක් කළ හැකිය. ඉන්පසුව, එක් ප්‍රතිදානයක් සමඟින්, යම් සංකීර්ණ පරාමිතියක් ලබා දෙන්න, එයට අරා හැෂ් යනාදිය ඇතුළත් විය හැකිය.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මම හොඳම සොයාගැනීම් සියල්ල අවසන් කළේ මෙතැනින්. ඒ වගේම මම කොලම්බස් ගැන කතාවක් කියන්න කැමතියි. ඔහු ඉන්දියාව සොයා ගැනීම සඳහා ඔහුගේ ගවේෂණය සඳහා මුදල් සොයමින් සිටියදී (ඔහු සිතූ පරිදි) කිසිවෙකු ඔහුව විශ්වාස නොකළ අතර එය කළ නොහැකි යැයි ඔවුහු සිතූහ. එවිට ඔහු මෙසේ පැවසීය: "බිත්තරය වැටෙන්නේ නැති බවට වග බලා ගන්න." සියලුම බැංකුකරුවන්, ඉතා ධනවත් සහ සමහර විට බුද්ධිමත් අය, කෙසේ හෝ බිත්තරය තැබීමට උත්සාහ කළ අතර, එය දිගටම වැටුණි. ඉන්පසු කොලම්බස් බිත්තරය ගෙන එය ටිකක් තද කළේය. කවචය ගරා වැටුණු අතර බිත්තරය චලනය නොවී පැවතුනි. ඔවුන් කිව්වා, "ඔහ්, ඒක හරිම ලේසියි!" කොලොම්බස් පිළිතුරු දුන්නේය: "ඔව්, එය ඉතා සරලයි. මම ඉන්දියාව විවෘත කරන විට, සෑම කෙනෙකුම මෙම වෙළඳ මාර්ගය භාවිතා කරනු ඇත."

මම ඔබට දැන් කී දේ බොහෝ විට සරල හා සුළු දේවල් විය හැකිය. ඔබ ඒවා ගැන ඉගෙන ගෙන ඒවා භාවිතා කිරීමට පටන් ගත් විට, එය දේවල් පිළිවෙලට තිබේ. ඒ නිසා ප්‍රයෝජන ගන්න. මේවා ඔබට සම්පූර්ණයෙන්ම සාමාන්‍ය දේවල් නම්, අවම වශයෙන් බිත්තරය නොවැටෙන ලෙස තබන්නේ කෙසේදැයි ඔබ දන්නවා.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

දැන් අපි සමාලෝචනය කරමු:

  • හිම පියලි වළක්වා ගැනීමට උත්සාහ කරන්න. හිම පියලි අඩු වන තරමට, ඔබේ විශාල යටිතල ව්‍යුහය පුරාවට ඔබට යම් වෙනසක් කිරීමට අවශ්‍ය වනු ඇත.
  • නිරන්තර වෙනස්කම්. එනම්, කේතයේ යම් යම් වෙනස්කම් සිදු වූ විට, හැකි ඉක්මනින් ඔබේ යටිතල ව්‍යුහය මෙම වෙනස්කම්වලට අනුකූලව ගෙන ඒමට අවශ්‍ය වේ. කවුරුහරි මාස දෙක තුනකට පස්සේ Elasticsearch බලන්න එන තත්ත්වයක් ඇති නොවිය යුතුයි, Terraform සැලැස්මක් හදනවා, ඔහු බලාපොරොත්තු නොවූ වෙනස්කම් ගොන්නක් තියෙනවා. ඒ වගේම හැම දෙයක්ම නැවත පිළිවෙලට තැබීමට බොහෝ කාලයක් ගත වේ.
  • පරීක්ෂණ සහ ස්වයංක්රීයකරණය. ඔබගේ කේතය පරීක්ෂණ සහ විශේෂාංග වලින් ආවරණය වන තරමට, ඔබ සියල්ල නිවැරදිව කරන බවට ඔබට වැඩි විශ්වාසයක් ඇත. ස්වයංක්‍රීය බෙදා හැරීම ඔබේ විශ්වාසය බොහෝ වාරයක් වැඩි කරයි.
  • පරීක්ෂණ සහ නිෂ්පාදන පරිසරයන් සඳහා කේතය පාහේ සමාන විය යුතුය. ප්‍රායෝගිකව, නිෂ්පාදනය තවමත් ටිකක් වෙනස් වන අතර පරීක්ෂණ පරිසරයෙන් ඔබ්බට යන සමහර සූක්ෂ්මතා තවමත් පවතිනු ඇත. එහෙත්, කෙසේ වෙතත්, ප්ලස් හෝ අඩු, මෙය සහතික කළ හැකිය.
  • තවද ඔබ සතුව ටෙරාෆෝම් කේතය විශාල ප්‍රමාණයක් තිබේ නම් සහ මෙම කේතය යාවත්කාලීනව තබා ගැනීමට බොහෝ කාලයක් ගත වන්නේ නම්, එය ප්‍රතිනිර්මාණය කර එය හොඳ තත්වයට පත් කිරීමට කිසිදා ප්‍රමාද වැඩි නොවේ.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

  • වෙනස් කළ නොහැකි යටිතල පහසුකම්. කාලසටහනට අනුව AMI බෙදා හැරීම.
  • ඔබට බොහෝ ප්‍රවේශයන් ඇති විට සහ ඔබට ඒවා ස්ථාවර පිළිවෙළකට තිබීමට අවශ්‍ය විට route53 සඳහා ව්‍යුහය.
  • API අනුපාත සීමාවන්ට එරෙහිව සටන් කිරීම. ඇමේසන් පවසන්නේ මෙයයි, "ඒක තමයි, මට තවත් ඉල්ලීම් පිළිගත නොහැක, කරුණාකර රැඳී සිටින්න." කාර්යාලයෙන් අඩක් එහි යටිතල පහසුකම් දියත් කරන තෙක් බලා සිටී.
  • ස්ථානීය අවස්ථා. Amazon යනු ලාභ සිදුවීමක් නොවන අතර ලප ඔබට බොහෝ දේ ඉතිරි කර ගැනීමට ඉඩ සලසයි. එතනදී ඔබට ඒ ගැන සම්පූර්ණ වාර්තාවක් කියන්න පුළුවන්.
  • ආරක්ෂාව සහ IAM භූමිකාවන්.
  • නැතිවූ සම්පත් සොයමින්, ඔබ Amazone හි නොදන්නා සම්භවයක් ඇති අවස්ථා ඇති විට, ඔවුන් මුදල් අනුභව කරයි. අවස්ථා සඳහා මසකට ඩොලර් 100-150 ක් වැය වුවද, එය වසරකට ඩොලර් 1 කට වඩා වැඩිය. එවැනි සම්පත් සොයා ගැනීම ලාභදායී ව්යාපාරයකි.
  • සහ වෙන් කළ අවස්ථා.

ව්‍යාකූලත්වයට සහ අත්පොත චර්යාවට එරෙහිව සටන් කිරීමට Terraform හි රටා. මැක්සිම් කොස්ට්‍රිකින් (Ixtens)

මට එච්චරයි. Terraform ඉතා සිසිල්, ඔබ එය භාවිතා කරන්න. ඔයාට ස්තූතියි!

ඔබගේ ප්රශ්න

වාර්තාවට ස්තූතියි! ඔබගේ රාජ්‍ය ගොනුව S3 හි ඇත, නමුත් කිහිප දෙනෙකුට මෙම රාජ්‍ය ගොනුව ගෙන පුළුල් කිරීමට උත්සාහ කළ හැකි ගැටළුව ඔබ විසඳන්නේ කෙසේද?

මුලින්ම කියන්න ඕන අපිට හදිස්සියක් නෑ. දෙවනුව, කොඩි ඇත, අපි යම් කේතයක් මත වැඩ කරන බව අපි වාර්තා කරමු. එනම්, යටිතල පහසුකම් ඉතා විශාල වුවද, යමෙකු නිරන්තරයෙන් යමක් භාවිතා කරන බව මින් අදහස් නොවේ. ක්‍රියාකාරී අවධියක් ඇති විට, මෙය ගැටළුවක් විය; අපි රාජ්‍ය ගොනු Git හි ගබඩා කළෙමු. මෙය වැදගත් විය, එසේ නොවුවහොත් යමෙකු රාජ්‍ය ගොනුවක් සාදනු ඇත, සහ සෑම දෙයක්ම දිගටම කරගෙන යාම සඳහා අපට ඒවා අතින් එකතු කිරීමට සිදු විය. දැන් එහෙම ප්‍රශ්නයක් නැහැ. පොදුවේ ගත් කල, Terraform මෙම ගැටළුව විසඳා ඇත. යමක් නිරන්තරයෙන් වෙනස් වන්නේ නම්, ඔබට අගුල් භාවිතා කළ හැකිය, එය ඔබ පැවසූ දේ වළක්වයි.

ඔබ භාවිතා කරන්නේ විවෘත මූලාශ්‍රයක් හෝ ව්‍යවසායක්ද?

ව්‍යවසාය නැත, එනම් ඔබට ගොස් නොමිලේ බාගත හැකි සියල්ල.

මගේ නම ස්ටැනිස්ලාව්. මට පොඩි එකතු කිරීමක් කරන්න ඕන වුණා. ඔබ ඇමේසන් විශේෂාංගයක් ගැන කතා කර ඇති අතර එය ඔබට නිදසුනක් නැති කිරීමට ඉඩ සලසයි. මෙයද Terraform තුළම ඇත; Life Second block හි ඔබට වෙනස්කම් තහනම් කිරීම හෝ විනාශ කිරීම තහනම් කිරීම නියම කළ හැක.

කාලය සීමිත විය. හොඳ කරුණක්.

මටත් කාරණා දෙකක් අහන්න හිතුනා. පළමුව, ඔබ පරීක්ෂණ ගැන කතා කළා. ඔබ පරීක්ෂණ මෙවලම් භාවිතා කළේද? ටෙස්ට් කිචන් ප්ලගිනය ගැන මම අසා ඇත්තෙමි. සමහර විට තවත් යමක් තිබේ. ඒ වගේම මම දේශීය වටිනාකම් ගැනත් අහන්න කැමතියි. ඒවා ආදාන විචල්‍යයන්ගෙන් මූලික වශයෙන් වෙනස් වන්නේ කෙසේද? සහ මට දේශීය අගයන් හරහා පමණක් යමක් පරාමිතිකරණය කළ නොහැක්කේ ඇයි? මම මෙම මාතෘකාව තේරුම් ගැනීමට උත්සාහ කළ නමුත් කෙසේ හෝ මට එය තේරුම් ගැනීමට නොහැකි විය.

මෙම කාමරයෙන් පිටත අපට වඩාත් විස්තරාත්මකව කතා කළ හැකිය. අපගේ පරීක්ෂණ මෙවලම් සම්පූර්ණයෙන්ම ස්වයං-සාදන ලද ඒවා වේ. එහි පරීක්ෂා කිරීමට කිසිවක් නැත. සාමාන්‍යයෙන්, ස්වයංක්‍රීය පරීක්ෂණ කොතැනක හෝ යටිතල පහසුකම් ලබා ගන්නා විට විකල්ප තිබේ, එය හරිදැයි පරීක්ෂා කර, ඔබේ යටිතල පහසුකම් තවමත් හොඳ තත්ත්වයේ පවතින බවට වාර්තාවක් සමඟ සියල්ල විනාශ කරයි. ටෙස්ට් ස්ටැක් හැමදාම දුවන නිසා අපිට මේක නෑ. හා ඒ ඇති. අනික මොකක් හරි කැඩෙන්න පටන් ගත්තොත් අපි ඒක වෙන කොහෙන් හරි බලන්නේ නැතුව කැඩෙන්න පටන් ගන්නවා.

දේශීය වටිනාකම් සම්බන්ධයෙන්, අපි කාමරයෙන් පිටත සංවාදය දිගටම කරගෙන යමු.

ආයුබෝවන්! වාර්තාවට ස්තූතියි! ඉතා තොරතුරු සහිතයි. යටිතල පහසුකම් විස්තර කිරීමට ඔබට එකම වර්ගයේ කේතයක් ඇති බව ඔබ පැවසුවා. ඔබ මෙම කේතය ජනනය කිරීමට සලකා බැලුවද?

නියම ප්‍රශ්නයක්, ස්තූතියි! කාරණය නම්, අපි යටිතල පහසුකම් කේතය ලෙස භාවිතා කරන විට, අපි කේතය දෙස බලා එම කේතය පිටුපස ඇති යටිතල ව්‍යුහය කුමක්දැයි වටහා ගනිමු. කේතය ජනනය කරන්නේ නම්, කුමන ආකාරයේ යටිතල පහසුකම් තිබේද යන්න තේරුම් ගැනීමට කුමන කේතයක් ජනනය වේදැයි අප සිතාගත යුතුය. එක්කෝ අපි කේතය ජනනය කරන්න, එය කරන්න, සහ අත්‍යවශ්‍යයෙන්ම එකම දේ සිදු වේ. ඉතින් අපි ලියපු පාරේ ගියා, අපිට ඒක ලැබුණා. අපි ඒවා සෑදීමට පටන් ගත් විට ප්ලස් ජෙනරේටර් ටිකක් පසුව දර්ශනය විය. ඒ වගේම වෙනස් වෙන්න දැනටමත් පරක්කු වැඩියි.

ඔබ jsonnet ගැන කිසිවක් අසා තිබේද?

අංක

බලන්න මේක හරිම අපූරු දෙයක්. ඔබට එය යෙදිය හැකි සහ දත්ත ව්‍යුහයක් ජනනය කළ හැකි විශේෂිත අවස්ථාවක් මම දකිමි.

රැවුල කපන යන්ත්‍රයක් ගැන විහිළුවක් මෙන් ඔබ සතුව ඇති විට ජෙනරේටර් හොඳයි. එනම්, පළමු වරට මුහුණ වෙනස් වේ, නමුත් පසුව සෑම කෙනෙකුටම එකම මුහුණක් ඇත. ජනක යන්ත්‍ර ඉතා හොඳින් ක්‍රියා කරයි. එහෙත්, අවාසනාවකට මෙන්, අපගේ මුහුණු තරමක් වෙනස් ය. මෙය ගැටලුවකි.

නිකමට බලන්න. ඔයාට ස්තූතියි!

මගේ නම මැක්සිම්, මම Sberbank වලින්. ඔබ ටෙරාෆෝම් ක්‍රමලේඛන භාෂාවකට සමාන කිරීමට උත්සාහ කරන ආකාරය ගැන ඔබ ටිකක් කතා කළා. Ansible භාවිතා කිරීම පහසු නොවේද?

මේවා ගොඩක් වෙනස් දේවල්. ඔබට Ansible හි සම්පත් නිර්මාණය කළ හැකි අතර, Puppet හට Amazon හි සම්පත් නිර්මාණය කළ හැකිය. නමුත් Terraform කෙළින්ම තියුණු කර ඇත.

ඔයාට තියෙන්නේ Amazon විතරද?

අපිට තියෙන්නේ Amazon විතරක් නෙවෙයි. අපිට තියෙන්නේ ඇමේසන් විතරයි. නමුත් ප්රධාන ලක්ෂණය වන්නේ Terraform මතක තබා ගැනීමයි. Ansible හි, ඔබ “මට අවස්ථා 5ක් දෙන්න” යැයි පැවසුවහොත්, එය ඉහළ යනු ඇත, එවිට ඔබ පවසන්නේ “දැන් මට 3ක් අවශ්‍යයි.” ටෙරාෆෝම් පවසනු ඇත: "හරි, මම 2 ක් මරනවා" සහ ඇන්සිබල් පවසනු ඇත: "හරි, මෙන්න ඔබ වෙනුවෙන් 3." එකතුව 8.

ආයුබෝවන්! ඔබගේ වාර්තාවට ස්තූතියි! ටෙරාෆෝම් ගැන ඇසීම ඉතා සිත්ගන්නා සුළු විය. ටෙරාෆෝම් තවමත් ස්ථායී නිකුතුවක් නොමැති බව මම වහාම කුඩා ප්‍රකාශයක් කිරීමට කැමතියි, එබැවින් ටෙරාෆෝම් ඉතා ප්‍රවේශමෙන් සලකන්න.

රාත්රී ආහාරය සඳහා හොඳ හැන්දක්. එනම්, ඔබට විසඳුමක් අවශ්‍ය නම්, සමහර විට ඔබ අස්ථායී දේ කල් දමා ඇත, නමුත් එය ක්‍රියාත්මක වන අතර එය අපට උපකාරී විය.

ප්‍රශ්නය මෙයයි. ඔබ Remote backend භාවිතා කරයි, ඔබ S 3 භාවිතා කරයි. ඔබ නිල පසුබිම භාවිතා නොකරන්නේ මන්ද?

නිල?

Terraform Cloud.

ඔහු පෙනී සිටියේ කවදාද?

මාස 4කට විතර කලින්.

එය මීට වසර 4 කට පෙර දර්ශනය වූවා නම්, මම ඔබේ ප්‍රශ්නයට පිළිතුරු දීමට බොහෝ විට ඉඩ තිබුණි.

දැනටමත් ගොඩනඟන ලද කාර්යයක් සහ අගුලු ඇති අතර, ඔබට රාජ්ය ගොනුවක් ගබඩා කළ හැකිය. එය උත්සාහ කරන්න. නමුත් මම එය පරීක්ෂා කර නැත.

අපි ගමන් කරන්නේ අධික වේගයෙන් ගමන් කරන විශාල දුම්රියක. තවද ඔබට මෝටර් රථ කිහිපයක් ගෙන ඒවා විසි කළ නොහැක.

ඔබ හිම පියලි ගැන කතා කළා, ඔබ ශාඛාවක් භාවිතා නොකළේ ඇයි? ඇයි ඒක ඒ විදියට හරි ගියේ නැත්තේ?

අපගේ ප්‍රවේශය වන්නේ සමස්ත යටිතල පහසුකම් එකම ගබඩාවක තිබීමයි. Terraform, Puppet, මේකට කොහොම හරි සම්බන්ධ scripts ඔක්කොම එක repository එකක. මේ ආකාරයෙන් අපට වර්ධක වෙනස්කම් එකින් එක පරීක්‍ෂා කරන බව සහතික කළ හැකිය. එය ශාඛා පොකුරක් නම්, එවැනි ව්යාපෘතියක් නඩත්තු කිරීමට පාහේ නොහැකි වනු ඇත. මාස හයක් ගත වන අතර, ඔවුන් කෙතරම් අපසරනය වී ඇත්ද යත්, එය යම් ආකාරයක දඬුවමක් පමණි. නැවත සකස් කිරීමට පෙර මට ගැලවීමට අවශ්‍ය වූයේ මෙයයි.

ඉතින් ඒක වැඩ කරන්නේ නැද්ද?

මේක කොහෙත්ම වැඩ කරන්නේ නැහැ.

ශාඛාවේ මම ෆෝල්ඩර ස්ලයිඩය කපා. එනම්, ඔබ එක් එක් පරීක්ෂණ තොගයක් සඳහා එය කරන්නේ නම්, උදාහරණයක් ලෙස, A කණ්ඩායමට තමන්ගේම ෆෝල්ඩරයක් ඇත, B කණ්ඩායමට තමන්ගේම ෆෝල්ඩරයක් ඇත, එවිට මෙයද ක්‍රියා නොකරයි. අපි සෑම කෙනෙකුටම ගැලපෙන පරිදි නම්‍යශීලී ඒකීය පරීක්ෂණ පරිසර කේතයක් නිර්මාණය කළෙමු. එනම්, අපි එක් කේතයක් සේවය කළෙමු.

ආයුබෝවන්! මගේ නම යූරා! වාර්තාවට ස්තූතියි! මොඩියුල පිළිබඳ ප්රශ්නය. ඔබ පවසන්නේ ඔබ මොඩියුල භාවිතා කරන බවයි. වෙනත් පුද්ගලයෙකුගේ වෙනස් කිරීමකට නොගැලපෙන එක් මොඩියුලයකට වෙනස්කම් සිදු කර ඇත්නම් ඔබ ගැටලුව විසඳන්නේ කෙසේද? ඔබ කෙසේ හෝ මොඩියුල සංස්කරණය කරනවාද නැතිනම් අවශ්‍යතා දෙකක් සපුරාලීම සඳහා wunderwaffle ගෙන ඒමට උත්සාහ කරනවාද?

මෙය විශාල හිම ගොඩක ගැටලුවකි. යම්කිසි අහිංසක වෙනසක් යටිතල ව්‍යුහයේ යම් කොටසක් බිඳ දැමිය හැකි විට අප දුක් විඳින්නේ මෙයයි. තවද මෙය සැලකිය හැක්කේ ටික කලකට පසුවය.

එනම්, එය තවමත් විසඳා නැත?

ඔබ විශ්වීය මොඩියුල සාදන්න. හිම පියලි වළකින්න. තවද සෑම දෙයක්ම සාර්ථක වනු ඇත. වාර්තාවේ දෙවන භාගය මෙය වළක්වා ගන්නේ කෙසේද යන්නයි.

ආයුබෝවන්! වාර්තාවට ස්තූතියි! මම පැහැදිලි කිරීමට කැමතියි. තිරය ​​පිටුපස මා පැමිණි විශාල ගොඩකි. රූකඩ සහ භූමිකාව බෙදාහැරීම ඒකාබද්ධ වන්නේ කෙසේද?

පරිශීලක දත්ත.

එනම්, ඔබ ගොනුව කෙළ ගසා එය කෙසේ හෝ ක්‍රියාත්මක කරනවාද?

පරිශීලක දත්ත යනු සටහනකි, එනම් අපි රූපයේ ක්ලෝනයක් සාදන විට, ඩීමන් එහි නැඟී, ඔහු කවුදැයි සොයා ගැනීමට උත්සාහ කරමින්, ඔහු බර සමතුලිතයෙකු බව සටහන කියවයි.

එනම්, මෙය ලබා දෙන්නේ යම් ආකාරයක වෙනම ක්‍රියාවලියක් ද?

අපි එය නිර්මාණය කළේ නැහැ. අපි එය භාවිතා කරමු.

ආයුබෝවන්! මට ඇත්තේ පරිශීලක දත්ත පිළිබඳ ප්‍රශ්නයක් පමණි. ඔයා කිව්වා එතන ප්‍රශ්න තියෙනවා, කවුරුහරි වැරදි තැනකට යවන්න පුළුවන් කියලා. පරිශීලක දත්ත යනු කුමක්ද යන්න සැමවිටම පැහැදිලි වන පරිදි, එකම Git හි පරිශීලක දත්ත ගබඩා කිරීමට ක්‍රමයක් තිබේද?

අපි සැකිල්ලෙන් පරිශීලක දත්ත උත්පාදනය කරමු. එනම් එහිදී යම් විචල්‍ය සංඛ්‍යාවක් භාවිතා වේ. ටෙරාෆෝම් අවසාන ප්‍රතිඵලය ජනනය කරයි. එමනිසා, ඔබට අච්චුව දෙස බලා කුමක් සිදුවේදැයි පැවසිය නොහැක, මන්ද සියලු ගැටළු සංවර්ධකයා මෙම විචල්‍යයේ නූලක් පසු කරන බව සිතීම හා සම්බන්ධ වන නමුත් එහි අරාවක් භාවිතා වේ. සහ ඔහු - බාම් සහ මම - එසේ-එසේ, එසේ-එසේ, ඊළඟ පේළිය, සහ සියල්ල කැඩී ගියේය. මෙය නව සම්පතක් නම් සහ පුද්ගලයෙකු එය ලබාගෙන යමක් වැඩ නොකරන බව දුටුවහොත් එය ඉක්මනින් විසඳනු ලැබේ. මෙම ස්වයංක්‍රීය පරිමාණ කණ්ඩායම යාවත්කාලීන කරන්නේ නම්, යම් අවස්ථාවක ස්වයංක්‍රීය පරිමාණ සමූහයේ අවස්ථා ප්‍රතිස්ථාපනය වීමට පටන් ගනී. හා බං, මොකක් හරි වැඩක් නෑ. එය වේදනා දෙයි.

එකම විසඳුම පරීක්ෂණය බව පෙනී යයි?

ඔව්, ඔබ ගැටලුව දකිනවා, ඔබ එහි පරීක්ෂණ පියවර එකතු කරන්න. එනම්, ප්රතිදානය ද පරීක්ෂා කළ හැකිය. සමහර විට එය එතරම් පහසු නොවේ, නමුත් ඔබට ලකුණු කිහිපයක් ද තැබිය හැකිය - පරිශීලක දත්ත මෙහි ඇණ ගසා ඇත්දැයි පරීක්ෂා කරන්න.

මගේ නම තිමූර්. Terraform නිසි ලෙස සංවිධානය කරන්නේ කෙසේද යන්න පිළිබඳ වාර්තා තිබීම ඉතා සිසිල් ය.

මම පටන් ගත්තෙත් නෑ.

මම හිතනවා සමහර විට මීළඟ සමුළුවේදී එහෙම වෙයි කියලා. මට සරල ප්‍රශ්නයක් ඇත. ඔබ tfvars භාවිතා කරනවාට වඩා වෙනම මොඩියුලයක අගය දැඩි කේතීකරණය කරන්නේ ඇයි, එනම් අගයන් සහිත මොඩියුලයක් tfvars වලට වඩා හොඳ වන්නේ ඇයි?

එනම්, මම මෙහි ලිවිය යුතුද (slide: Production/environment/settings.tf): domain = variable, domain vpcnetwork, variable vpcnetwork සහ stvars - මට එකම දේ ලබා ගත හැකිද?

ඒක තමයි අපි හරියටම කරන්නේ. අපි උදාහරණයක් ලෙස, සැකසුම් මූලාශ්ර මොඩියුලය වෙත යොමු කරමු.

අත්යවශ්යයෙන්ම, මෙය එවැනි tfvars වේ. පරීක්ෂණ පරිසරයක් තුළ Tfvars ඉතා පහසු වේ. මා සතුව විශාල අවස්ථා සඳහා, කුඩා ඒවා සඳහා tfvars ඇත. මම එක ගොනුවක් ෆෝල්ඩරයට විසි කළා. ඒ වගේම මට අවශ්‍ය දේ මට ලැබුණා. අපි යටිතල පහසුකම් කප්පාදු කරන විට, අපට අවශ්‍ය වන්නේ සියල්ල දෙස බලා වහාම තේරුම් ගැනීමට හැකි වීමයි. එබැවින් ඔබ මෙහි බැලිය යුතු බව පෙනේ, පසුව tfvars දෙස බලන්න.

සෑම දෙයක්ම එක තැනක තබා ගත හැකිද?

ඔව්, tfvars යනු ඔබට එක් කේතයක් ඇති විටය. තවද එය විවිධ සූක්ෂ්මතා සහිත විවිධ ස්ථාන කිහිපයක භාවිතා වේ. එවිට ඔබ tfvar විසි කර ඔබේ සූක්ෂ්මතා ලබා ගනීවි. තවද අපි යටිතල පහසුකම් එහි පිරිසිදු ස්වරූපයෙන් කේතයක් ලෙස ය. මම බලලා තේරුම් ගත්තා.

ආයුබෝවන්! ඔබ ටෙරාෆෝම් සෑදූ දෙයට වලාකුළු සපයන්නා බාධා කරන අවස්ථාවන්ට ඔබ මුහුණ දී තිබේද? අපි හිතමු අපි පාරදත්ත සංස්කරණය කරනවා කියලා. ssh යතුරු ඇත. ගූගල් නිරන්තරයෙන් එහි පාර-දත්ත සහ එහි යතුරු එහි තබයි. ඒවගේම Terraform හැම විටම ලියන්නේ එහි වෙනස්කම් ඇති බවයි. එක් එක් ධාවන කාලයෙන් පසු, කිසිවක් වෙනස් නොවුනත්, ඔහු නිතරම පවසන්නේ දැන් මෙම ක්ෂේත්රය යාවත්කාලීන කරන බවයි.

යතුරු සමඟ, නමුත් ඔව්, යටිතල ව්‍යුහයේ කොටසක් මෙම දෙයට බලපායි, එනම් ටෙරාෆෝම් වලට කිසිවක් වෙනස් කළ නොහැක. අපට අපේ අතින් කිසිවක් වෙනස් කළ නොහැක. අපි දැනට එය සමඟ ජීවත් වෙමු.

එනම්, ඔබ මෙවැනි දෙයකට මුහුණ දී ඇත, නමුත් කිසිවක් ඉදිරිපත් කර නැත, ඔහු එය කරන්නේ කෙසේද සහ එය තනිවම කරන්නේ කෙසේද?

අවාසනාවට ඔව්.

ආයුබෝවන්! මගේ නම Starkov Stanislav. තැපෑල. ru සමූහය. ටැග් එකක් ජනනය කිරීමේ ගැටලුව ඔබ විසඳන්නේ කෙසේද ..., ඔබ එය ඇතුළට යන්නේ කෙසේද? මම තේරුම් ගත් පරිදි, ධාරක නාමය සඳහන් කිරීමට පරිශීලක - දත්ත හරහා, රූකඩ සකසන්නද? සහ ප්රශ්නයේ දෙවන කොටස. ඔබ SG හි මෙම ගැටළුව විසඳන්නේ කෙසේද, එනම් ඔබ SG, එකම වර්ගයේ අවස්ථා සිය ගණනක් උත්පාදනය කරන විට, ඒවාට නිවැරදි නම කුමක්ද?

අපිට ගොඩක් වැදගත් ඒ අවස්ථා අපි ලස්සනට නම් කරනවා. අනවශ්‍ය ඒවා නම් මේක autoscale group එකක් කියලා සටහනක් තියෙනවා. සහ න්යාය අනුව ඔබට එය ඇණ ගසා අලුත් එකක් ලබා ගත හැකිය.

ටැග් එකේ ගැටලුව සම්බන්ධයෙන්, එවැනි ගැටළුවක් නොමැත, නමුත් එවැනි කාර්යයක් තිබේ. යටිතල පහසුකම් විශාල සහ මිල අධික නිසා අපි ටැග් ඉතා දැඩි ලෙස භාවිතා කරමු. ඒවගේම අපි බලන්න ඕන සල්ලි කොහෙටද යන්නේ කියලා, ඒ නිසා ටැග් වලින් අපිට ගිය තැන කඩාගන්න පුළුවන්. තවද, ඒ අනුව, විශාල මුදලක් අදහස් කරන දෙයක් සෙවීම මෙහි වැය වේ.

ප්‍රශ්නය තවත් කුමක් ගැනද?

SG විසින් අවස්ථා සිය ගණනක් නිර්මාණය කරන විට, ඒවා කෙසේ හෝ වෙන්කර හඳුනාගත යුතුද?

නැහැ, එපා. සෑම අවස්ථාවකදීම මට ගැටලුවක් ඇති බව වාර්තා කරන නියෝජිතයෙක් සිටී. නියෝජිතයෙකු වාර්තා කරන්නේ නම්, නියෝජිතයා ඔහු ගැන දන්නා අතර, අවම වශයෙන්, ඔහුගේ IP ලිපිනය පවතී. ඔබට දැනටමත් පලා යා හැක. දෙවනුව, අපි Kubernetes නැති තැන Discovery සඳහා Consul භාවිතා කරමු. තවද කොන්සල් විසින් එම අවස්ථාවෙහි IP ලිපිනය ද පෙන්වයි.

එනම්, ඔබ විශේෂයෙන් අවධානය යොමු කරන්නේ IP වෙත මිස සත්කාරක නාමයට නොවේද?

සත්කාරක නාමයෙන් සැරිසැරීමට නොහැකිය, එනම් ඒවායින් බොහොමයක් තිබේ. නිදසුන් හඳුනාගැනීම් ඇත - AE, ආදිය. ඔබට එය කොතැනක හෝ සොයාගත හැකිය, ඔබට එය සෙවුමට විසි කළ හැකිය.

ආයුබෝවන්! ටෙරාෆෝම් හොඳ දෙයක්, වලාකුළුවලට ගැලපෙන බව මට වැටහුණා.

පමණක් නොවේ.

මෙය හරියටම මා උනන්දු වන ප්රශ්නයයි. ඔබ ඔබේ සියලු අවස්ථා සමඟ සමූහ වශයෙන් බෙයාර් මෙටල් වෙත යාමට තීරණය කරන්නේ නම්? ගැටළු ඇති වේවිද? නැතහොත් ඔබට තවමත් වෙනත් නිෂ්පාදන භාවිතා කිරීමට සිදුවේද, උදාහරණයක් ලෙස, මෙහි සඳහන් කර ඇති ඇන්සිබල්ම?

Ansible කියන්නේ වෙන දෙයක් ගැන ටිකක්. එනම්, උදාහරණය ආරම්භ වූ විට Ansible දැනටමත් ක්‍රියා කරයි. සහ ටෙරාෆෝම් උදාහරණයක් ආරම්භ කිරීමට පෙර ක්රියා කරයි. Bare Metal වෙත මාරු වීම - නැත.

දැන් නොවේ, නමුත් ව්‍යාපාරය පැමිණ “එන්න” යැයි කියනු ඇත.

වෙනත් වලාකුළකට මාරු වීම - ඔව්, නමුත් මෙහි තරමක් වෙනස් උපක්‍රමයක් තිබේ. ඔබට ටෙරාෆෝම් කේතය ලිවීමට අවශ්‍ය වන්නේ ඔබට අඩු උත්සාහයකින් වෙනත් වලාකුළකට මාරු විය හැකි ආකාරයටය.

මුලදී, අපගේ සමස්ත යටිතල ව්‍යුහයම අඥෙයවාදී, එනම් ඕනෑම වලාකුළක් සුදුසු විය යුතු බවට කාර්යය සකසා ඇත, නමුත් යම් අවස්ථාවක ව්‍යාපාරය අතහැර දමා මෙසේ පැවසීය: “හරි, ඉදිරි වසර N තුළ අපි කොහේවත් නොයන්නෙමු, අපට සේවාවන් භාවිතා කළ හැකිය. Amazon වෙතින්"

Terraform මඟින් ඔබට Front-End jobs නිර්මාණය කිරීමට, PagerDuty, data doc ආදිය වින්‍යාස කිරීමට ඉඩ සලසයි. එහි වලිග ගොඩක් තිබේ. ඔහුට මුළු ලෝකයම ප්‍රායෝගිකව පාලනය කළ හැකිය.

වාර්තාවට ස්තූතියි! මමත් දැන් අවුරුදු 4ක් තිස්සේ Terraform පාවිච්චි කරනවා. ටෙරාෆෝම් වෙත, යටිතල පහසුකම් වෙත, ප්‍රකාශන විස්තරයක් වෙත සුමට සංක්‍රමණයක අවධියේදී, යමෙකු අතින් යමක් කරන අතර ඔබ සැලැස්මක් සෑදීමට උත්සාහ කරන තත්වයකට අපට මුහුණ දීමට සිදු විය. ඒ වගේම මට එතන යම් දෝෂයක් ඇති වුණා. එවැනි ගැටළු සමඟ ඔබ කටයුතු කරන්නේ කෙසේද? ලැයිස්තුගත කර ඇති නැතිවූ සම්පත් සොයා ගන්නේ කෙසේද?

ප්‍රධාන වශයෙන්ම අපගේ දෑතින් සහ ඇස්වලින්, අපි වාර්තාවේ අමුතු දෙයක් දුටුවහොත්, අපි එහි සිදුවන දේ විශ්ලේෂණය කරමු, නැතහොත් අපි සරලව මරා දමමු. සාමාන්‍යයෙන් අදින්න ඉල්ලීම් සාමාන්‍ය දෙයක්.

දෝෂයක් තිබේ නම්, ඔබ ආපසු හැරෙනවාද? ඔබ මෙය කිරීමට උත්සාහ කර තිබේද?

නැත, මෙය ගැටලුවක් දකින මොහොතේ පුද්ගලයෙකුගේ තීරණයකි.

මූලාශ්රය: www.habr.com