වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5

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

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5

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

මෘදුකාංග සැලසුම් මූලධර්ම

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

  • හාදුවක් (එය සරල, මෝඩ ලෙස තබා ගන්න) - එය සංකීර්ණ නොකරන්න;
  • ඩයි (ඔබම නැවත නොකියන්න) - ඔබම නැවත නොකරන්න;
  • YAGNI (ඔබට එය අවශ්ය නොවේ) - වහාම අවශ්ය නොවන දෙයක් නිර්මාණය නොකරන්න;
  • සෝස් ගැටළු වෙන් කිරීම - වගකීම් බෙදා ගැනීම.

ඔබට පෙනෙන පරිදි, මෙම මූලධර්ම නිශ්චිත රීති කිසිවක් නොපවත්වයි, නමුත් ප්‍රායෝගික අත්දැකීම් මත පදනම් වූ ඊනියා සාමාන්‍ය බුද්ධිය සලකා බැලීම් කාණ්ඩයට අයත් වන අතර ඒවා බොහෝ සංවර්ධකයින් විසින් බෙදා ගන්නා අතර ඔවුන් නිතිපතා යොමු කරයි.
ඊට අමතරව තියෙනවා ඝණ - රොබට් මාටින් විසින් සකස් කරන ලද වස්තු-නැඹුරු වැඩසටහන්කරණය සහ සැලසුම් කිරීමේ පළමු මූලධර්ම පහේ කට්ටලයක්. SOLID හි පුළුල්, විවෘත-අවසන්, අනුපූරක මූලධර්ම ඇතුළත් වේ - එකට යෙදූ විට - වඩා හොඳ මෘදුකාංග පද්ධති නිර්මාණය කිරීමට සහ දිගු කාලීනව ඒවා වඩාත් හොඳින් නඩත්තු කිරීමට උපකාරී වේ.

SOLID මූලධර්ම OOP ක්ෂේත්‍රයට අයත් වන අතර පන්ති, අතුරුමුහුණත් සහ උරුමය වැනි සංකල්ප සහ සංකල්පවල භාෂාවෙන් සකස් කර ඇත. ප්‍රතිසමයෙන්, වලාකුළු යෙදුම් සඳහා සංවර්ධන මූලධර්ම ද සකස් කළ හැකිය, මෙහි මූලික අංගය පමණක් පන්තියක් නොව බහාලුමක් වනු ඇත. මෙම මූලධර්ම අනුගමනය කිරීමෙන්, ඔබට Kubernetes වැනි වලාකුළු වේදිකාවල ඉලක්ක සහ අරමුණු වඩා හොඳින් සපුරාලන බහාලුම් යෙදුම් නිර්මාණය කළ හැකිය.

Cloud-native බහාලුම්: Red Hat ප්‍රවේශය

අද, ඕනෑම යෙදුමක් පාහේ බහාලුම්වලට සාපේක්ෂව පහසුවෙන් ඇසුරුම් කළ හැකිය. නමුත් Kubernetes වැනි වලාකුළු වේදිකාවක් තුළ යෙදුම් ඵලදායි ලෙස ස්වයංක්‍රීය කිරීමට සහ සංවිධානය කිරීමට අමතර වෑයමක් අවශ්‍ය වේ.
පහත දක්වා ඇති අදහස් සඳහා පදනම වූයේ ක්‍රමවේදයයි දොළොස් සාධක යෙදුම මූලාශ්‍ර කේත කළමනාකරණයේ සිට පරිමාණ ආකෘති දක්වා වෙබ් යෙදුම් තැනීමේ විවිධ පැති ගැන සහ තවත් බොහෝ ක්‍රියා කරයි. විස්තර කර ඇති මූලධර්ම අදාළ වන්නේ ක්ෂුද්‍ර සේවා මත ගොඩනගා ඇති සහ Kubernetes වැනි වලාකුළු වේදිකා සඳහා නිර්මාණය කර ඇති බහාලුම් යෙදුම් සංවර්ධනය සඳහා පමණි. අපගේ සාකච්ඡාවේ මූලික අංගය බහාලුම් රූපය වන අතර ඉලක්කගත බහාලුම් ධාවන කාලය බහාලුම් වාද්‍ය වෘන්ද වේදිකාව වේ. යෝජිත මූලධර්මවල ඉලක්කය වන්නේ බොහෝ වාද්‍ය වෘන්ද වේදිකාවල උපලේඛනගත කිරීම, පරිමාණය කිරීම සහ අධීක්ෂණ කාර්යයන් ස්වයංක්‍රීය කළ හැකි බහාලුම් නිර්මාණය කිරීමයි. මූලධර්ම කිසිදු නිශ්චිත අනුපිළිවෙලකින් ඉදිරිපත් නොකෙරේ.

තනි උත්සුකතා මූලධර්මය (SCP)

මෙම මූලධර්මය තනි වගකීම් මූලධර්මයට බොහෝ ආකාරවලින් සමාන වේ. එස්ආර්පී), එය SOLID කට්ටලයේ කොටසක් වන අතර සෑම වස්තුවකටම එක් වගකීමක් තිබිය යුතු බවත්, එම වගකීම සම්පූර්ණයෙන්ම පන්තියක් තුළට ඇතුළත් කළ යුතු බවත් සඳහන් කරයි. SRP හි කාරණය නම් සෑම වගකීමක්ම වෙනස් වීමට හේතුවක් වන අතර පන්තියකට වෙනස් වීමට එකම එක හේතුවක් තිබිය යුතුය.

SCP හි, OOP පන්තියකට සාපේක්ෂව බහාලුමක ඉහළ මට්ටමේ වියුක්තකරණය සහ පුළුල් අරමුණ දැක්වීමට අපි "වගකීම" යන වචනය වෙනුවට "සැලකිල්ල" යන වචනය භාවිතා කරමු. SRP හි ඉලක්කය වෙනස් වීමට එක් හේතුවක් පමණක් නම්, SCP පිටුපස ඇත්තේ බහාලුම් නැවත භාවිතා කිරීමට සහ ප්‍රතිස්ථාපනය කිරීමට ඇති හැකියාව පුළුල් කිරීමට ඇති ආශාවයි. SRP අනුගමනය කිරීමෙන් සහ තනි ගැටළුවක් විසඳන සහ එය ක්‍රියාකාරීව සම්පූර්ණ ආකාරයෙන් කරන බහාලුමක් නිර්මාණය කිරීමෙන්, ඔබ එම බහාලුම් රූපය විවිධ යෙදුම් සන්දර්භයන් තුළ නැවත භාවිතා කිරීමේ අවස්ථා වැඩි කරයි.

SCP මූලධර්මයේ සඳහන් වන්නේ සෑම බහාලුමක්ම එක් ගැටලුවක් විසඳා එය හොඳින් කළ යුතු බවයි. එපමනක් නොව, බහාලුම් ලෝකයේ SCP සාක්ෂාත් කර ගැනීම OOP ලෝකයේ SRP වලට වඩා පහසු වේ, මන්ද බහාලුම් සාමාන්‍යයෙන් එක් ක්‍රියාවලියක් ක්‍රියාත්මක කරන අතර බොහෝ විට මෙම ක්‍රියාවලිය එක් කාර්යයක් විසඳයි.

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

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5

ඉහළ නිරීක්ෂණ මූලධර්මය (HOP)

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

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5
ප්‍රායෝගිකව, බහාලුම් කරන ලද යෙදුමක්, අවම වශයෙන්, විවිධ වර්ගයේ සෞඛ්‍ය පරීක්ෂාවන් සඳහා API එකක් තිබිය යුතුය: සජීවී පරීක්ෂණ සහ සූදානම පරීක්ෂා. යෙදුමක් වැඩි යමක් කිරීමට හිමිකම් කියයි නම්, එය එහි තත්ත්වය නිරීක්ෂණය කිරීමට වෙනත් ක්‍රම සැපයිය යුතුය. උදාහරණයක් ලෙස, Fluentd, Logstash සහ වෙනත් සමාන මෙවලම් භාවිතයෙන් ලොග් එකතු කිරීම සඳහා STDERR සහ STDOUT හරහා වැදගත් සිදුවීම් ලොග් කිරීම. OpenTracing, Prometheus යනාදී ලුහුබැඳීම් සහ ප්‍රමිතික එකතු කිරීමේ පුස්තකාල සමඟ ඒකාබද්ධ වීම මෙන්ම.

සාමාන්‍යයෙන්, යෙදුම තවමත් කළු පෙට්ටියක් ලෙස සැලකිය හැකිය, නමුත් එය හැකි උපරිම ආකාරයෙන් නිරීක්ෂණය කිරීමට සහ කළමනාකරණය කිරීමට වේදිකාවට අවශ්‍ය සියලුම API සමඟ එය සැපයිය යුතුය.

ජීවන චක්‍ර අනුකූලතා මූලධර්මය (LCP)

LCP යනු HOP හි ප්‍රතිවිරෝධයයි. කන්ටේනරය විසින් කියවන ලද APIs වේදිකාවට නිරාවරණය කළ යුතු බව HOP ප්‍රකාශ කරන අතර, LCP හට වේදිකාවෙන් තොරතුරු පිළිගැනීමට හැකි වීම යෙදුමට අවශ්‍ය වේ. එපමණක් නොව, කන්ටේනරය සිදුවීම් ලැබීම පමණක් නොව, අනුවර්තනය විය යුතුය, වෙනත් වචනවලින් කිවහොත්, ඒවාට ප්රතිචාර දැක්විය යුතුය. එබැවින් API ලිවීමේ වේදිකාවක් සැපයීම සඳහා අවශ්යතාවයක් ලෙස සැලකිය හැකි මූලධර්මයේ නම.

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5
කන්ටේනරයක ජීවන චක්‍රය කළමනාකරණය කිරීමට උපකාර වන විවිධ ආකාරයේ සිදුවීම් වේදිකාවල ඇත. නමුත් ඒවායින් කුමන සංජානනය කළ යුතුද සහ ප්‍රතික්‍රියා කරන්නේ කෙසේද යන්න තීරණය කිරීම යෙදුමටම භාරයි.

සමහර සිදුවීම් අනෙක් ඒවාට වඩා වැදගත් බව පැහැදිලිය. උදාහරණයක් ලෙස, යෙදුමක් බිඳ වැටීම් හොඳින් ඉවසා නොගන්නේ නම්, එය SIGTERM ට පසුව එන සංඥාව අල්ලා ගැනීමට SIGTERM (SIGTERM) පණිවිඩ පිළිගෙන හැකි ඉක්මනින් එහි අවසන් කිරීමේ දින චර්යාව ආරම්භ කළ යුතුය: kill (SIGKILL).

අතිරේකව, PostStart සහ PreStop වැනි සිදුවීම් යෙදුමක ජීවන චක්‍රයට වැදගත් විය හැක. උදාහරණයක් ලෙස, යෙදුමක් දියත් කිරීමෙන් පසු, ඉල්ලීම් වලට ප්‍රතිචාර දැක්වීමට පෙර එයට යම් උණුසුම් කාලයක් අවශ්‍ය විය හැකිය. නැතහොත් යෙදුම වසා දැමීමේදී යම් විශේෂ ආකාරයකින් සම්පත් මුදා හැරිය යුතුය.

රූප වෙනස් නොවන මූලධර්මය (IIP)

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

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

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5

ක්‍රියාවලි ඉවතලන මූලධර්මය (PDP)

කන්ටේනරයක ඇති වැදගත්ම ලක්ෂණයක් වන්නේ එහි තාවකාලික බව ය: කන්ටේනරයක අවස්ථාවක් නිර්මාණය කිරීමට පහසු වන අතර විනාශ කිරීමට පහසුය, එබැවින් එය ඕනෑම අවස්ථාවක වෙනත් අවස්ථාවක් සමඟ පහසුවෙන් ප්‍රතිස්ථාපනය කළ හැකිය. එවැනි ආදේශනයක් සඳහා බොහෝ හේතු තිබිය හැක: සේවා හැකියාව පිළිබඳ පරීක්ෂණයක් අසමත් වීම, යෙදුම පරිමාණය කිරීම, වෙනත් සත්කාරකයකට මාරු කිරීම, වේදිකා සම්පත් අවසන් වීම හෝ වෙනත් තත්වයන්.

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5
එහි ප්‍රතිඵලයක් ලෙස, බහාලුම් කරන ලද යෙදුම් යම් බාහිර ක්‍රම භාවිතයෙන් තම තත්ත්වය පවත්වා ගත යුතුය, නැතහොත් මේ සඳහා අතිරික්තයක් සහිත අභ්‍යන්තර බෙදාහැරීමේ යෝජනා ක්‍රම භාවිතා කළ යුතුය. ඊට අමතරව, යෙදුම ඉක්මනින් ආරම්භ කර ඉක්මනින් වසා දැමිය යුතු අතර, හදිසි මාරාන්තික දෘඩාංග අසමත් වීම සඳහා සූදානම් විය යුතුය.

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

ස්වයං පාලනයේ මූලධර්මය (S-CP)

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

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5

පරිසරයෙන් පරිසරයට වෙනස් වන වින්‍යාස කිරීම් සඳහා ව්‍යතිරේක සිදු කර ඇති අතර ඒවා ධාවන වේලාවේදී සැපයිය යුතුය, උදාහරණයක් ලෙස Kubernetes ConfigMap හරහා.

යෙදුමකට බහාලුම් කරන ලද සංරචක කිහිපයක් ඇතුළත් විය හැකිය, උදාහරණයක් ලෙස, බහාලුම් කළ වෙබ් යෙදුමක් තුළ වෙනම DBMS බහාලුමක්. S-CP මූලධර්මයට අනුව, මෙම බහාලුම් එකකට ඒකාබද්ධ නොකළ යුතුය, නමුත් දත්ත සමුදායේ ක්‍රියාකාරිත්වයට අවශ්‍ය සියල්ල DBMS කන්ටේනරයේ අඩංගු වන පරිදි සෑදිය යුතු අතර වෙබ් යෙදුම් කන්ටේනරයේ වෙබ් ක්‍රියාකාරිත්වයට අවශ්‍ය සියල්ල අඩංගු වේ. යෙදුම, එකම වෙබ් සේවාදායකය . එහි ප්‍රතිඵලයක් වශයෙන්, ධාවන වේලාවේදී වෙබ් යෙදුම් බහාලුම DBMS බහාලුම මත රඳා පවතින අතර අවශ්‍ය පරිදි එයට ප්‍රවේශ වේ.

ධාවන කාලය සීමා කිරීමේ මූලධර්මය (RCP)

S-CP මූලධර්මය කන්ටේනරය ගොඩනගා ගත යුතු ආකාරය සහ රූප ද්විමය අඩංගු විය යුතු දේ නිර්වචනය කරයි. නමුත් බහාලුමක් යනු එක් ලක්ෂණයක් පමණක් ඇති “කළු පෙට්ටියක්” නොවේ - ගොනු ප්‍රමාණය. ක්‍රියාත්මක කිරීමේදී, බහාලුම වෙනත් මානයන් ගනී: භාවිතා කරන මතක ප්‍රමාණය, CPU කාලය සහ අනෙකුත් පද්ධති සම්පත්.

වලාකුළු-ස්වදේශීය යෙදුම් ගොඩනැගීම සඳහා සාමාන්‍ය දැනීමේ මූලධර්ම 5
මෙහිදී RCP මූලධර්මය ප්‍රයෝජනවත් වේ, ඒ අනුව කන්ටේනරය පද්ධති සම්පත් සඳහා එහි අවශ්‍යතා කපා හැර ඒවා වේදිකාවට මාරු කළ යුතුය. එක් එක් බහාලුම්වල සම්පත් පැතිකඩ සමඟ (එයට කොපමණ CPU, මතකය, ජාල සහ තැටි සම්පත් අවශ්‍යද), වේදිකාවට උපලේඛනගත කිරීම සහ ස්වයං පරිමාණය කිරීම, තොරතුරු තාක්ෂණ ධාරිතාව කළමනාකරණය කිරීම සහ බහාලුම් සඳහා SLA මට්ටම් ප්‍රශස්ත ලෙස සිදු කළ හැකිය.

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

අපි cloud-first වීම ගැන කතා කරන විට, අපි වැඩ කරන ආකාරය ගැන කතා කරමු.
ඉහත, අපි වලාකුළු පරිසරයන් සඳහා උසස් තත්ත්වයේ බහාලුම් යෙදුම් තැනීම සඳහා ක්‍රමවේද පදනම සකස් කරන පොදු මූලධර්ම ගණනාවක් සකස් කළෙමු.

මෙම පොදු මූලධර්මවලට අමතරව, බහාලුම් සමඟ වැඩ කිරීම සඳහා ඔබට අතිරේක උසස් ක්රම සහ ශිල්පීය ක්රම අවශ්ය වනු ඇති බව සලකන්න. ඊට අමතරව, අපට වඩාත් නිශ්චිත කෙටි නිර්දේශ කිහිපයක් ඇති අතර තත්වය මත පදනම්ව යෙදිය යුතු (හෝ අදාළ නොවේ):

  • රූපවල ප්‍රමාණය අඩු කිරීමට උත්සාහ කරන්න: තාවකාලික ගොනු මකා දැමීම සහ අනවශ්‍ය පැකේජ ස්ථාපනය නොකරන්න - කුඩා බහාලුම් ප්‍රමාණය, එය වේගයෙන් එකලස් කර ජාලය හරහා ඉලක්ක සත්කාරක වෙත පිටපත් කරනු ලැබේ.
  • අත්තනෝමතික පරිශීලක හැඳුනුම්පත් කෙරෙහි අවධානය යොමු කරන්න: ඔබේ බහාලුම් දියත් කිරීමට sudo විධානය හෝ විශේෂ userid භාවිතා නොකරන්න.
  • වැදගත් වරායන් සලකුණු කරන්න: ඔබට ධාවන වේලාවේදී වරාය අංක සැකසිය හැක, නමුත් EXPOSE විධානය භාවිතයෙන් ඒවා සඳහන් කිරීම වඩා හොඳය - එය ඔබගේ පින්තූර භාවිතා කිරීම වෙනත් පුද්ගලයින්ට සහ වැඩසටහන් වලට පහසු කරයි.
  • වෙළුම් මත ස්ථිර දත්ත ගබඩා කරන්න: කන්ටේනරය විනාශ වූ පසු ඉතිරි විය යුතු දත්ත වෙළුම් වලට ලිවිය යුතුය.
  • රූප පාරදත්ත ලියන්න: ටැග්, ලේබල් සහ විවරණ රූප භාවිතා කිරීමට පහසු කරයි - අනෙකුත් සංවර්ධකයින් ඔබට ස්තූති කරනු ඇත.
  • ධාරකය සහ රූප සමමුහුර්ත කරන්න: සමහර බහාලුම් කරන ලද යෙදුම්වලට කාලය හෝ යන්ත්‍ර හැඳුනුම්පත වැනි ඇතැම් ගුණාංග මත ධාරකය සමඟ සමමුහුර්ත කිරීමට බහාලුම් අවශ්‍ය වේ.
  • අවසාන වශයෙන්, ඉහත ලැයිස්තුගත කර ඇති මූලධර්ම වඩාත් ඵලදායී ලෙස ක්‍රියාත්මක කිරීමට ඔබට උපකාර වන සැකිලි සහ හොඳම භාවිතයන් අපි බෙදා ගන්නෙමු:
    www.slideshare.net/luebken/container-patterns
    docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices
    docs.projectatomic.io/container-best-practices
    docs.openshift.com/enterprise/3.0/creating_images/guidelines.html
    www.usenix.org/system/files/conference/hotcloud16/hotcloud16_burns.pdf
    leanpub.com/k8spatterns
    12factor.net

OpenShift බහාලුම් වේදිකාවේ නව අනුවාදයේ Webinar - 4
ජූනි 11 11.00 ට

ඔබ ඉගෙන ගන්නේ කුමක්ද:

  • වෙනස් කළ නොහැකි Red Hat Enterprise Linux CoreOS
  • OpenShift සේවා දැලක්
  • ක්රියාකරු රාමුව
  • Knative රාමුව

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

අදහස් එක් කරන්න