Google අනුව බහාලුම් භාවිතා කිරීම සඳහා හොඳම භාවිතයන් 7 ක්

සටහන. පරිවර්තනය.: මුල් ලිපියේ කතුවරයා Google Cloud Solutions Architect වන Théo Chamley වේ. ගූගල් ක්ලවුඩ් බ්ලොගය සඳහා මෙම සටහනෙහි, ඔහු තම සමාගමේ වඩාත් සවිස්තරාත්මක මාර්ගෝපදේශයේ සාරාංශයක් සපයයි, "බහාලුම් ක්රියාත්මක කිරීම සඳහා හොඳම භාවිතයන්" එහි දී, Google විශේෂඥයින් Google Kubernetes එන්ජිම සහ තවත් බොහෝ දේ භාවිතා කිරීමේ සන්දර්භය තුළ බහාලුම් ක්‍රියාත්මක කිරීම සඳහා හොඳම භාවිතයන් එකතු කර ඇත: ආරක්ෂාවේ සිට අධීක්ෂණය සහ ලොග් වීම දක්වා පුළුල් පරාසයක මාතෘකා ස්පර්ශ කරයි. ඉතින් Google ට අනුව වඩාත්ම වැදගත් බහාලුම් භාවිතයන් මොනවාද?

Google අනුව බහාලුම් භාවිතා කිරීම සඳහා හොඳම භාවිතයන් 7 ක්

Kubernetes එන්ජිම (Google Cloud මත බහාලුම් යෙදුම් ධාවනය කිරීම සඳහා Kubernetes මත පදනම් වූ සේවාවක් - ආසන්න වශයෙන් පරිවර්තනය) පරිමාණයට අවශ්‍ය වැඩ බර ධාවනය කිරීමට හොඳම ක්‍රමයකි. කුබර්නෙට්ස් බොහෝ යෙදුම් කන්ටේනරීකරණය කර ඇත්නම් ඒවායේ සුමට ක්‍රියාකාරිත්වය සහතික කරනු ඇත. නමුත් ඔබට ඔබගේ යෙදුම කළමනාකරණය කිරීමට පහසු වීමට සහ Kubernetes හි පූර්ණ ප්‍රයෝජන ගැනීමට අවශ්‍ය නම්, ඔබ හොඳම භාවිතයන් අනුගමනය කළ යුතුය. ඔවුන් යෙදුමේ ක්‍රියාකාරිත්වය, එහි අධීක්ෂණය සහ නිදොස්කරණය සරල කරන අතර ආරක්ෂාව වැඩි කරයි.

මෙම ලිපියෙන්, අපි Kubernetes මත බහාලුම් ඵලදායී ලෙස ධාවනය කිරීමට ඔබ දැනගත යුතු සහ කළ යුතු දේවල් ලැයිස්තුවක් හරහා යන්නෙමු. විස්තර ගැඹුරට යාමට කැමති අය ද්රව්ය කියවිය යුතුය බහාලුම් ක්රියාත්මක කිරීම සඳහා හොඳම භාවිතයන්, සහ අපගේ අවධානය යොමු කරන්න කලින් පෝස්ට් බහාලුම් එකලස් කිරීම ගැන.

1. දේශීය බහාලුම් ලොග් යාන්ත්‍රණ භාවිතා කරන්න

යෙදුම Kubernetes පොකුරක් මත ක්‍රියාත්මක වන්නේ නම්, ලඝු-සටහන් සඳහා බොහෝ දේ අවශ්‍ය නොවේ. මධ්‍යගත ලොග් කිරීමේ පද්ධතියක් ඔබ භාවිතා කරන පොකුරට දැනටමත් ගොඩනගා ඇත. Kubernetes එන්ජිම භාවිතා කිරීමේදී, මෙය වගකිව යුතුය Stackdriver ලොග් කිරීම. (සටහන. පරිවර්තනය.: ඔබ ඔබේම Kubernetes ස්ථාපනය භාවිතා කරන්නේ නම්, අපගේ විවෘත මූලාශ්‍ර විසඳුම දෙස සමීපව බැලීමට අපි නිර්දේශ කරමු - ලොග්හවුස්.) ඔබේ ජීවිතය සරලව තබාගන්න සහ දේශීය බහාලුම් ලොග් යාන්ත්‍රණ භාවිතා කරන්න. stdout සහ stderr වෙත ලඝු-සටහන් ලියන්න - ඒවා ස්වයංක්‍රීයව ලැබෙනු ඇත, සුරැකෙනු ඇත සහ සුචිගත කරනු ලැබේ.

අවශ්ය නම්, ඔබට ලඝු-සටහන් ලිවිය හැකිය JSON ආකෘතිය. මෙම ප්‍රවේශය මගින් ඒවාට පාරදත්ත එක් කිරීම පහසු කරනු ඇත. ඔවුන් සමඟ, Stackdriver Logging හට මෙම පාර-දත්ත භාවිතයෙන් ලොග සෙවීමේ හැකියාව ඇත.

2. බහාලුම් ස්ථාවර සහ වෙනස් කළ නොහැකි බවට වග බලා ගන්න

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

අස්ථායි ඕනෑම තත්වයක් (ඕනෑම ආකාරයක ස්ථීර දත්ත) බහාලුම් පිටත ගබඩා කර ඇති බවයි. මේ සඳහා, අවශ්යතා අනුව, විවිධ වර්ගයේ බාහිර ගබඩා භාවිතා කළ හැකිය: වලාකුළු ගබඩා, ස්ථිර තැටි, Redis, වලාකුළු SQL හෝ වෙනත් කළමනාකරණය කළ දත්ත සමුදායන්. (සටහන. පරිවර්තනය.: අපගේ ලිපියෙන් මේ ගැන වැඩිදුර කියවන්න "Kubernetes සඳහා ක්‍රියාකරුවන්: ප්‍රකාශිත යෙදුම් ධාවනය කරන්නේ කෙසේද".)

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

Google අනුව බහාලුම් භාවිතා කිරීම සඳහා හොඳම භාවිතයන් 7 ක්
වින්‍යාසයක් ලෙස කරල්වල සවි කර ඇති කන්ෆිග්මැප් භාවිතයෙන් කුබර්නෙටස් හි යෙදවුම් වින්‍යාසය යාවත්කාලීන කිරීමේ උදාහරණයක්

3. වරප්‍රසාද සහිත බහාලුම්වලින් වළකින්න

ඔබ ඔබගේ සේවාදායකයේ යෙදුම් root ලෙස ධාවනය කරන්නේ නැහැ, හරිද? ප්‍රහාරකයෙකු යෙදුමට ඇතුළු වුවහොත්, ඔහුට root ප්‍රවේශය ලැබෙනු ඇත. වරප්‍රසාද ලත් බහාලුම් ධාවනය නොකිරීම සම්බන්ධයෙන් ද එම සලකා බැලීම් අදාළ වේ. ඔබට සත්කාරකයේ සිටුවම් වෙනස් කිරීමට අවශ්‍ය නම්, ඔබට විශේෂිත බහාලුම් ලබා දිය හැක හැකියාවන් විකල්පය භාවිතා කරමින් securityContext Kubernetes හි. ඔබට වෙනස් කිරීමට අවශ්ය නම් sysctls, Kubernetes සතුව ඇත වෙනම වියුක්ත මේ වෙනුවෙන්. පොදුවේ, උපරිම ප්රයෝජන ගැනීමට උත්සාහ කරන්න init- සහ සමාන වරප්‍රසාදිත මෙහෙයුම් සිදු කිරීම සඳහා පැති කාර් බහාලුම්. ඒවා අභ්‍යන්තර හෝ බාහිර ගමනාගමනයට ප්‍රවේශ විය යුතු නැත.

ඔබ පොකුරක් පරිපාලනය කරන්නේ නම්, ඔබට භාවිතා කළ හැකිය Pod ආරක්ෂක ප්‍රතිපත්තිය වරප්රසාදිත බහාලුම් භාවිතය සීමා කිරීම සඳහා.

4. root ලෙස ධාවනය කිරීමෙන් වළකින්න

වරප්රසාදිත බහාලුම් දැනටමත් සාකච්ඡා කර ඇත, නමුත් මීට අමතරව, ඔබ root ලෙස කන්ටේනරය තුළ යෙදුම් ධාවනය නොකරන්නේ නම් එය වඩාත් හොඳ වනු ඇත. ප්‍රහාරකයෙකු කේත ක්‍රියාත්මක කිරීමට ඉඩ දෙන මූල අයිතිවාසිකම් සහිත යෙදුමක දුරස්ථ අවදානමක් සොයා ගන්නේ නම්, ඉන් පසුව ඔහුට තවමත් නොදන්නා අවදානමක් හරහා කන්ටේනරය හැර යාමට හැකි නම්, ඔහු ධාරකය මත මුල් බැස ගනී.

මෙය වළක්වා ගැනීමට ඇති හොඳම ක්‍රමය නම් කිසිවක් මුල් තැනට ක්‍රියාත්මක නොකිරීමයි. මෙය සිදු කිරීම සඳහා, ඔබට විධානය භාවිතා කළ හැකිය USER в Dockerfile හෝ runAsUser Kubernetes හි. පොකුරු පරිපාලකයාට බලාත්මක කිරීමේ හැසිරීම භාවිතා කරමින් වින්‍යාසගත කළ හැක Pod ආරක්ෂක ප්‍රතිපත්තිය.

5. යෙදුම නිරීක්ෂණය කිරීමට පහසු කරන්න

ලොග් වීම මෙන්ම, අධීක්ෂණය ද යෙදුම් කළමනාකරණයේ අනිවාර්ය අංගයකි. Kubernetes ප්‍රජාව තුළ ජනප්‍රිය අධීක්ෂණ විසඳුමකි Prometheus - අධීක්ෂණය අවශ්‍ය කරල් සහ සේවා ස්වයංක්‍රීයව හඳුනා ගන්නා පද්ධතියකි. (සටහන. පරිවර්තනය.: අපේ ද බලන්න සවිස්තර වාර්තාව Prometheus සහ Kubernetes භාවිතා කරමින් නිරීක්ෂණය කිරීමේ මාතෘකාව මත.) Stackdriver Kubernetes පොකුරු නිරීක්ෂණය කිරීමට හැකියාව ඇති අතර යෙදුම් අධීක්ෂණය සඳහා Prometheus හි තමන්ගේම අනුවාදයක් ඇතුළත් වේ.

Google අනුව බහාලුම් භාවිතා කිරීම සඳහා හොඳම භාවිතයන් 7 ක්
Stackdriver මත Kubernetes උපකරණ පුවරුව

Prometheus යෙදුම HTTP අන්ත ලක්ෂ්‍යය වෙත ප්‍රමිතික යොමු කිරීමට අපේක්ෂා කරයි. මේ සඳහා ලබා ගත හැකිය Prometheus සේවාදායක පුස්තකාල. එම ආකෘතියම වැනි වෙනත් මෙවලම් භාවිතා කරයි විවෘත සංගණනය и ඉස්ටියෝ.

6. යෙදුමේ සෞඛ්‍ය තත්ත්වය ලබා ගත හැකි බවට පත් කරන්න

නිෂ්පාදනයේ යෙදවුම් කළමනාකරණය සමස්ත පද්ධතියට එහි තත්ත්වය සන්නිවේදනය කිරීමේ හැකියාවෙන් උපකාර වේ. යෙදුම ක්‍රියාත්මක වේද? කමක් නැද්ද? ඔබ ගමනාගමනය ලබා ගැනීමට සූදානම්ද? ඔහු හැසිරෙන්නේ කෙසේද? මෙම ගැටළුව විසඳීම සඳහා වඩාත් පොදු ක්රමය වන්නේ සෞඛ්ය පරීක්ෂාවන් ක්රියාත්මක කිරීමයි (සෞඛ්‍ය පරීක්‍ෂණ). Kubernetes වර්ග දෙකක් ඇත: සජීවී බව සහ සූදානම පරීක්ෂණ.

සජීවී පරීක්ෂණය සඳහා (ජීවිත පරීක්ෂාව) යෙදුම ක්‍රියාකාරී නම් සහ එහි මූලික පරායත්තතා තෘප්තිමත් නම් "200 OK" ප්‍රතිචාරයක් ලබා දෙන HTTP අන්ත ලක්ෂ්‍යයක් තිබිය යුතුය. සූදානම පරීක්ෂණය සඳහා (සේවා සූදානම පරීක්ෂා කිරීම) යෙදුම සෞඛ්‍ය සම්පන්න මට්ටමක පවතී නම්, ආරම්භක පියවර සම්පූර්ණ කර ඇති අතර වලංගු ඉල්ලීමක් දෝෂයක් ඇති නොකරයි නම්, "200 OK" ප්‍රතිචාරයක් ලබා දෙන වෙනත් HTTP අන්ත ලක්ෂ්‍යයක් යෙදුමට තිබිය යුතුය. මෙම චෙක්පත් වලට අනුව යෙදුම සූදානම් නම් පමණක් Kubernetes කන්ටේනරය වෙත ගමනාගමනය යොමු කරයි. සජීවී බව සහ සූදානම අතර වෙනසක් නොමැති නම් අවසාන ලක්ෂ්‍ය දෙකක් ඒකාබද්ධ කළ හැකිය.

ඔබට Google හි සංවර්ධක අධිනීතිඥ සන්දීප් දිනේෂ්ගේ අදාළ ලිපියෙන් මේ ගැන වැඩිදුර කියවිය හැක: “Kubernetes හොඳම භාවිතයන්: සූදානම සහ සජීවී පරීක්ෂණ සමඟ සෞඛ්‍ය පරීක්‍ෂණ පිහිටුවීම".

7. ඔබේ රූප අනුවාදය ප්රවේශමෙන් තෝරා ගන්න

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

ඔබට ටැගය භාවිතා කළ හැකිය X.Y.Z (ඒවා සෑම විටම පාහේ නොවෙනස්ව පවතී), නමුත් මෙම අවස්ථාවෙහිදී, රූපයේ සියලුම පැච් සහ යාවත්කාලීනයන් නිරීක්ෂණය කරන්න. ඔබ භාවිතා කරන රූපයේ ටැග් එකක් තිබේ නම් X.Y, මෙය රන් මධ්යන්ය සඳහා හොඳ විකල්පයකි. එය තෝරා ගැනීමෙන්, ඔබට ස්වයංක්‍රීයව පැච් ලැබෙන අතර ඒ සමඟම යෙදුමේ ස්ථාවර අනුවාදය මත රඳා පවතී.

පරිවර්තකගෙන් PS

අපගේ බ්ලොග් අඩවියේ ද කියවන්න:

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

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