Helm 3 හඳුන්වා දීම

Helm 3 හඳුන්වා දීම

සටහන. පරිවර්තනය.: මෙම වසරේ මැයි 16 වන දින Kubernetes - Helm සඳහා පැකේජ කළමණාකරු සංවර්ධනය කිරීමේ වැදගත් සන්ධිස්ථානයක් සනිටුහන් කරයි. මෙම දිනයේ, ව්‍යාපෘතියේ අනාගත ප්‍රධාන අනුවාදයේ පළමු ඇල්ෆා නිකුතුව - 3.0 - ඉදිරිපත් කරන ලදී. එහි නිකුතුව හෙල්ම් වෙත සැලකිය යුතු සහ දිගු කලක් බලා සිටි වෙනස්කම් ගෙන එනු ඇත, ඒ සඳහා Kubernetes ප්‍රජාවේ බොහෝ දෙනෙක් බලාපොරොත්තු තබා ඇත. යෙදුම් යෙදවීම සඳහා අපි හෙල්ම් සක්‍රියව භාවිතා කරන බැවින් අපිම මෙයින් එකකි: අපි එය CI/CD ක්‍රියාත්මක කිරීම සඳහා අපගේ මෙවලමට ඒකාබද්ධ කර ඇත. werf සහ විටින් විට අපි උඩුගං බලා සංවර්ධනය සඳහා අපගේ දායකත්වය ලබා දෙන්නෙමු. මෙම පරිවර්තනය හෙල්ම් 7 හි පළමු ඇල්ෆා නිකුතුව සඳහා කැප වූ නිල හෙල්ම් බ්ලොගයේ සටහන් 3ක් ඒකාබද්ධ කරන අතර ව්‍යාපෘතියේ ඉතිහාසය සහ හෙල්ම් 3 හි ප්‍රධාන ලක්ෂණ ගැන කතා කරයි. ඒවායේ කතුවරයා මයික්‍රොසොෆ්ට් සේවකයෙකු වන මැට් “බැකොන්ගොබ්ලර්” ෆිෂර් ය. සහ හෙල්ම් හි ප්‍රධාන නඩත්තු කරන්නන්ගෙන් කෙනෙකි.

15 ඔක්තෝබර් 2015 වන දින, දැන් හෙල්ම් ලෙස හඳුන්වන ව්යාපෘතිය උපත ලැබීය. එය ආරම්භ කර වසරකට පසුව, Helm ප්‍රජාව Kubernetes හා සම්බන්ධ වූ අතර, Helm 2 හි සක්‍රීයව වැඩ කරමින් සිටියේය. 2018 ජුනි මාසයේදී, Helm CNCF වෙත සම්බන්ධ විය සංවර්ධනය වෙමින් පවතින (incubating) ව්‍යාපෘතියක් ලෙස. වර්තමානයට වේගයෙන් ඉදිරියට යන්න, සහ නව Helm 3 හි පළමු ඇල්ෆා නිකුතුව සිදුවෙමින් පවතී. (මෙම නිකුතුව දැනටමත් සිදුවී ඇත මැයි මැද - ආසන්න වශයෙන්. පරිවර්තනය.).

මේ කෑල්ලෙන් මම කතා කරන්නම් ඒ සියල්ල පටන් ගත්තේ කොතනින්ද, අද අපි ඉන්න තැනට අපි ආවේ කොහොමද කියලා, Helm 3 හි පළමු ඇල්ෆා නිකුතුවේ තිබෙන සුවිශේෂී විශේෂාංග කිහිපයක් හඳුන්වා දෙන්න, අපි ඉදිරියට යන්න සැලසුම් කරන්නේ කොහොමද කියලා පැහැදිලි කරන්නම්.

සාරාංශය:

  • හෙල්ම් නිර්මාණය කිරීමේ ඉතිහාසය;
  • ටිලර්ට ටෙන්ඩර් සමුගැනීමක්;
  • ප්‍රස්ථාර ගබඩා;
  • මුදා හැරීම කළමනාකරණය;
  • ප්රස්ථාර පරායත්තතා වල වෙනස්කම්;
  • පුස්තකාල ප්‍රස්ථාර;
  • ඊළඟට කුමක් ද?

හෙල්ම්ගේ ඉතිහාසය

උපත

Helm 1 Deis විසින් නිර්මාණය කරන ලද විවෘත මූලාශ්‍ර ව්‍යාපෘතියක් ලෙස ආරම්භ විය. අපි කුඩා ආරම්භයක් විය අවශෝෂණය කර ඇත 2017 වසන්තයේ Microsoft. අපගේ අනෙකුත් විවෘත මූලාශ්‍ර ව්‍යාපෘතිය, ඩීස් ලෙසද නම් කර ඇත, මෙවලමක් තිබුණි deisctl, ඩීස් වේදිකාව ස්ථාපනය කිරීමට සහ ක්‍රියාත්මක කිරීමට (වෙනත් දේ අතර) භාවිතා කරන ලදී නැව් සමූහය. එකල Fleet යනු පළමු බහාලුම් වාද්‍ය වෘන්ද වේදිකාවන්ගෙන් එකකි.

2015 මැද භාගයේදී, අපි පාඨමාලාව වෙනස් කිරීමට තීරණය කළ අතර, Deis (එකල Deis Workflow ලෙස නම් කරන ලදී) Fleet සිට Kubernetes වෙත ගෙන ගියා. ප්‍රතිනිර්මාණය කළ පළමු ඒවායින් එකක් වූයේ ස්ථාපන මෙවලමයි. deisctl. Fleet පොකුරේ Deis Workflow ස්ථාපනය කිරීමට සහ කළමනාකරණය කිරීමට අපි එය භාවිතා කළෙමු.

Homebrew, apt සහ yum වැනි සුප්‍රසිද්ධ පැකේජ කළමනාකරුවන්ගේ ප්‍රතිරූපය තුළ Helm 1 නිර්මාණය කරන ලදී. එහි ප්‍රධාන ඉලක්කය වූයේ Kubernetes හි ඇසුරුම්කරණය සහ යෙදුම් ස්ථාපනය කිරීම වැනි කාර්යයන් සරල කිරීමයි. Helm නිල වශයෙන් 2015 දී San Francisco හි KubeCon සමුළුවේදී හඳුන්වා දෙන ලදී.

හෙල්ම් සමඟ අපගේ පළමු උත්සාහය සාර්ථක වූ නමුත් එය බරපතල සීමාවන් නොමැතිව නොවේ. ඔහු හඳුන්වාදීමේ YAML කුට්ටි ලෙස ජනක යන්ත්‍රවලින් රස ගන්වන ලද Kubernetes මැනිෆෙස්ට් කට්ටලයක් ගත්තේය. (ඉදිරිපස)*, සහ ප්‍රතිඵල Kubernetes වෙත පූරණය කරන ලදී.

* සටහන. පරිවර්තනය.: Helm හි පළමු අනුවාදයෙන්, Kubernetes සම්පත් විස්තර කිරීමට YAML වාක්‍ය ඛණ්ඩය තෝරාගෙන ඇති අතර, වින්‍යාසයන් ලිවීමේදී Jinja සැකිලි සහ Python ස්ක්‍රිප්ට් සඳහා සහය දක්වන ලදී. අපි මේ ගැන වැඩි විස්තර සහ පොදුවේ හෙල්ම් හි පළමු අනුවාදයේ ව්‍යුහය “හෙල්ම් පිළිබඳ කෙටි ඉතිහාසයක්” පරිච්ඡේදයේ ලිව්වෙමු. මෙම ද්රව්යය.

උදාහරණයක් ලෙස, YAML ගොනුවක ක්ෂේත්‍රයක් ප්‍රතිස්ථාපනය කිරීමට, ඔබට මැනිෆෙස්ටයට පහත ගොඩනැගීම එක් කිරීමට සිදු විය:

#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my/pod.yaml

අද ටෙම්ප්ලේට් ඇන්ජින් තියෙන එක ලොකු දෙයක් නේද?

බොහෝ හේතු නිසා, මෙම මුල් Kubernetes ස්ථාපකයට මැනිෆෙස්ට් ගොනු වල දෘඪ-කේතගත ලැයිස්තුවක් අවශ්‍ය වූ අතර කුඩා, ස්ථාවර සිදුවීම් අනුපිළිවෙලක් පමණක් ක්‍රියාත්මක කරන ලදී. එය භාවිතා කිරීම කොතරම් දුෂ්කර වූවාද යත්, Deis Workflow R&D කණ්ඩායමට ඔවුන්ගේ නිෂ්පාදනය මෙම වේදිකාවට මාරු කිරීමට උත්සාහ කිරීමේදී දුෂ්කර කාලයක් ඇති විය - කෙසේ වෙතත්, අදහසෙහි බීජ දැනටමත් වපුරා ඇත. අපගේ පළමු උත්සාහය විශිෂ්ට ඉගෙනීමේ අවස්ථාවක් විය: අපගේ පරිශීලකයින් සඳහා එදිනෙදා ගැටලු විසඳන ප්‍රායෝගික මෙවලම් නිර්මාණය කිරීමට අප සැබවින්ම දැඩි උනන්දුවක් දක්වන බව අපට වැටහුණි.

අතීත වැරදි පිළිබඳ අත්දැකීම් මත පදනම්ව, අපි හෙල්ම් 2 සංවර්ධනය කිරීමට පටන් ගත්තෙමු.

හෙල්ම් 2 සෑදීම

2015 අවසානයේ Google කණ්ඩායම අප හා සම්බන්ධ විය. ඔවුන් Kubernetes සඳහා සමාන මෙවලමක් මත වැඩ කරමින් සිටියහ. Kubernetes සඳහා Deployment Manager යනු Google Cloud Platform සඳහා භාවිතා කරන ලද දැනට පවතින මෙවලමක වරායකි. "අපි කැමතිද, සමානකම් සහ වෙනස්කම් ගැන සාකච්ඡා කිරීමට දින කිහිපයක් ගත කිරීමට" ඔවුන් ඇසුවා.

2016 ජනවාරි මාසයේදී, අදහස් හුවමාරු කර ගැනීම සඳහා Helm සහ Deployment Manager කණ්ඩායම් සියැටල්හිදී රැස් වූහ. මෙම සාකච්ඡා අවසන් වූයේ අභිලාෂකාමී සැලැස්මක් සමඟිනි: ව්‍යාපෘති දෙකම ඒකාබද්ධ කර Helm 2 නිර්මාණය කිරීම. Deis සහ Google සමඟින්. SkippBox (දැන් Bitnami හි කොටසක් - දළ වශයෙන් පරිවර්තනය.), අපි හෙල්ම් 2 මත වැඩ කරන්න පටන් ගත්තා.

අපට හෙල්ම්ගේ භාවිතයේ පහසුව තබා ගැනීමට අවශ්‍ය විය, නමුත් පහත සඳහන් දෑ එක් කරන්න:

  • අභිරුචිකරණය සඳහා ප්‍රස්ථාර සැකිලි;
  • කණ්ඩායම් සඳහා අන්තර්-පොකුරු කළමනාකරණය;
  • ලෝක මට්ටමේ ප්‍රස්ථාර ගබඩාව;
  • අත්සන විකල්පය සමඟ ස්ථාවර පැකේජ ආකෘතිය;
  • අර්ථකථන අනුවාදනය සහ අනුවාද අතර පසුගාමී අනුකූලතාව පවත්වා ගැනීම සඳහා දැඩි කැපවීමක්.

මෙම අරමුණු සාක්ෂාත් කර ගැනීම සඳහා, හෙල්ම් පරිසර පද්ධතියට දෙවන අංගයක් එකතු කර ඇත. මෙම අන්තර්-පොකුරු සංරචකය ටිලර් ලෙස හැඳින්වූ අතර හෙල්ම් ප්‍රස්ථාර ස්ථාපනය කිරීම සහ ඒවා කළමනාකරණය කිරීම සඳහා වගකිව යුතු විය.

2 හි Helm 2016 නිකුත් කිරීමෙන් පසුව, Kubernetes ප්රධාන නවෝත්පාදන කිහිපයක් එකතු කර ඇත. භූමිකාව පදනම් කරගත් ප්‍රවේශ පාලනය එකතු කරන ලදි (ආර්බීඒසී), එය අවසානයේ Attribute-Based Access Control (ABAC) ප්‍රතිස්ථාපනය විය. නව සම්පත් වර්ග හඳුන්වා දෙන ලදී (එවකට යෙදවීම් තවමත් බීටා මට්ටමේ විය). අභිරුචි සම්පත් නිර්වචන (මුලින් තුන්වන පාර්ශ්ව සම්පත් හෝ TPR ලෙස හැඳින්වේ) සොයා ගන්නා ලදී. සහ වඩාත්ම වැදගත් දෙය නම්, හොඳම භාවිතයන් මාලාවක් මතු වී ඇත.

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

ටිලර්ට ටෙන්ඩර් සමුගැනීමක්

Helm 2 හි සංවර්ධනය අතරතුර, Google හි Deployment Manager සමඟ අපගේ ඒකාබද්ධතාවයේ කොටසක් ලෙස අපි Tiller හඳුන්වා දුන්නෙමු. පොදු පොකුරක් තුළ වැඩ කරන කණ්ඩායම් සඳහා Tiller වැදගත් කාර්යභාරයක් ඉටු කළේය: එය යටිතල පහසුකම් ක්‍රියාත්මක කරන විවිධ විශේෂඥයින්ට එකම නිකුතු කට්ටලයක් සමඟ අන්තර් ක්‍රියා කිරීමට ඉඩ දුන්නේය.

Kubernetes 1.6 හි පෙරනිමියෙන් භූමිකාව-පාදක ප්‍රවේශ පාලනය (RBAC) සක්‍රීය කර ඇති බැවින්, නිෂ්පාදනයේදී ටිලර් සමඟ වැඩ කිරීම වඩාත් අපහසු විය. විය හැකි ආරක්ෂක ප්‍රතිපත්ති විශාල සංඛ්‍යාවක් නිසා, අපගේ ස්ථාවරය වී ඇත්තේ පෙරනිමියෙන් අවසර වින්‍යාසයක් පිරිනැමීමයි. මෙය නවකයන්ට පළමුව ආරක්‍ෂක සැකසුම් වලට කිමිදීමකින් තොරව Helm සහ Kubernetes සමඟ අත්හදා බැලීමට ඉඩ ලබා දුන්නේය. අවාසනාවන්ත ලෙස, මෙම අවසර වින්‍යාසය මඟින් පරිශීලකයාට අවශ්‍ය නොවන පුළුල් පරාසයක අවසර ලබා දිය හැක. DevOps සහ SRE ඉංජිනේරුවන්ට Tiller බහු-කුලී පොකුරක් තුළ ස්ථාපනය කිරීමේදී අමතර මෙහෙයුම් පියවර ඉගෙන ගැනීමට සිදු විය.

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

Tiller ගේ ප්‍රධාන ඉලක්කය Tiller නොමැතිව සාක්ෂාත් කර ගත හැකිව තිබුණි, එබැවින් Helm 3 සම්බන්ධයෙන් අපගේ පළමු තීරණයක් වූයේ Tiller සම්පූර්ණයෙන්ම අත්හැර දැමීමයි.

ටිලර් නැතිවීමත් සමඟ, හෙල්ම්ගේ ආරක්ෂක ආකෘතිය රැඩිකල් ලෙස සරල කර ඇත. Helm 3 දැන් වත්මන් Kubernetes හි සියලුම නවීන ආරක්‍ෂාව, අනන්‍යතාවය සහ අවසර ක්‍රම සඳහා සහය දක්වයි. හෙල්ම් අවසරයන් තීරණය කරනු ලබන්නේ භාවිතා කරමිනි kubeconfig ගොනුව. පොකුරු පරිපාලකයින්ට ඕනෑම මට්ටමක කැටිති මට්ටමකට පරිශීලක අයිතිවාසිකම් සීමා කළ හැකිය. නිකුත් කිරීම් තවමත් පොකුර තුළ සුරකින අතර, Helm හි ඉතිරි ක්‍රියාකාරීත්වය නොවෙනස්ව පවතී.

ප්‍රස්ථාර ගබඩා

ඉහළ මට්ටමක, ප්‍රස්ථාර ගබඩාවක් යනු ප්‍රස්ථාර ගබඩා කර බෙදා ගත හැකි ස්ථානයකි. Helm සේවාදායකයා විසින් ප්‍රස්ථාර ඇසුරුම් කර ගබඩාවට යවයි. සරලව කිවහොත්, ප්‍රස්ථාර ගබඩාවක් යනු index.yaml ගොනුවක් සහ සමහර ඇසුරුම් කළ ප්‍රස්ථාර සහිත ප්‍රාථමික HTTP සේවාදායකයකි.

බොහෝ මූලික ගබඩා අවශ්‍යතා සපුරාලන ප්‍රස්ථාර ගබඩා API සඳහා යම් වාසි ඇතත්, අවාසි කිහිපයක් ද ඇත:

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

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

නමුත් බෙදාහැරීමේ ව්‍යාපෘතිය නිර්මාණය කර ඇත්තේ බහාලුම් රූප පමණක් නොව ඕනෑම ආකාරයක අන්තර්ගතයක් බෙදා හැරීමට බව ඔබ දන්නවාද?

උත්සාහයට ස්තුතියි විවෘත බහාලුම් මුලපිරීම (හෝ OCI), හෙල්ම් ප්‍රස්ථාර ඕනෑම බෙදාහැරීමේ අවස්ථාවක් මත තැබිය හැක. දැනට, මෙම ක්රියාවලිය පර්යේෂණාත්මක ය. සම්පූර්ණ Helm 3 සඳහා අවශ්‍ය පුරනය වීමේ සහය සහ අනෙකුත් විශේෂාංග ක්‍රියාත්මක වෙමින් පවතී, නමුත් OCI සහ බෙදාහැරීමේ කණ්ඩායම් වසර ගණනාවක් තිස්සේ සිදු කර ඇති සොයාගැනීම් වලින් ඉගෙන ගැනීමට අපි සතුටු වෙමු. ඔවුන්ගේ උපදේශනය සහ මගපෙන්වීම හරහා, ඉහළ මට්ටමේ පවතින සේවාවක් පරිමාණයෙන් ක්‍රියාත්මක කිරීම කෙබඳුදැයි අපි ඉගෙන ගනිමු.

Helm ප්‍රස්ථාර ගබඩාවේ ඉදිරියට එන සමහර වෙනස්කම් පිළිබඳ වඩාත් සවිස්තරාත්මක විස්තරයක් තිබේ ලින්ක්.

මුදා හැරීම කළමනාකරණය

Helm 3 හි, යෙදුම් තත්ත්වය පොකුර තුළ වස්තු යුගලයක් මගින් නිරීක්ෂණය කරනු ලැබේ:

  • මුදා හැරීමේ වස්තුව - යෙදුම් අවස්ථාවක් නියෝජනය කරයි;
  • මුදා හැරීමේ අනුවාදය රහස - නිශ්චිත වේලාවක යෙදුමේ අපේක්ෂිත තත්වය නියෝජනය කරයි (උදාහරණයක් ලෙස, නව අනුවාදයක් නිකුත් කිරීම).

අමතන්න helm install මුදා හැරීමේ වස්තුවක් සහ මුදා හැරීමේ අනුවාද රහසක් නිර්මාණය කරයි. අමතන්න helm upgrade මුදා හැරීමේ වස්තුවක් (එය වෙනස් කළ හැකි) අවශ්‍ය වන අතර නව අගයන් සහ සකස් කළ මැනිෆෙස්ටයක් අඩංගු නව නිකුතු අනුවාද රහසක් නිර්මාණය කරයි.

Release object හි නිකුතුව පිළිබඳ තොරතුරු අඩංගු වේ, නිකුතුව යනු නම් කරන ලද ප්‍රස්ථාරයක් සහ අගයන් නිශ්චිත ස්ථාපනයකි. මෙම වස්තුව නිකුතුව පිළිබඳ ඉහළ මට්ටමේ පාර-දත්ත විස්තර කරයි. මුදා හැරීමේ වස්තුව යෙදුමේ ජීවන චක්‍රය පුරා පවතින අතර සියලුම මුදා හැරීමේ අනුවාද රහස්වල හිමිකරු මෙන්ම හෙල්ම් ප්‍රස්ථාරය මගින් සෘජුවම නිර්මාණය කරන ලද සියලුම වස්තූන් වේ.

නිකුතු අනුවාද රහස සංශෝධන මාලාවක් සමඟ නිකුතුවක් සම්බන්ධ කරයි (ස්ථාපනය, යාවත්කාලීන කිරීම්, ආපසු හැරීම්, මකා දැමීම).

හෙල්ම් 2 හි, සංශෝධන අතිශයින්ම ස්ථාවර විය. අමතන්න helm install නිර්මාණය කරන ලද v1, පසුව යාවත්කාලීන (උත්ශ්‍රේණිගත කිරීම) - v2, සහ යනාදිය. මුදා හැරීමේ සහ මුදා හැරීමේ අනුවාද රහස සංශෝධනය ලෙස හැඳින්වෙන තනි වස්තුවකට හකුලා ඇත. සංශෝධන ගබඩා කර ඇත්තේ ටිලර් ලෙස එකම නාම අවකාශයක වන අතර, එයින් අදහස් වන්නේ සෑම නිකුතුවක්ම නාම අවකාශය අනුව "ගෝලීය" බවයි; එහි ප්රතිඵලයක් වශයෙන්, නමේ එක් අවස්ථාවක් පමණක් භාවිතා කළ හැකිය.

Helm 3 හි, සෑම නිකුතුවක්ම නිකුත් කිරීමේ අනුවාද රහස් එකක් හෝ කිහිපයක් සමඟ සම්බන්ධ වේ. මුදා හැරීමේ වස්තුව සෑම විටම Kubernetes වෙත යොදවා ඇති වත්මන් නිකුතුව විස්තර කරයි. සෑම නිකුතු අනුවාද රහසක්ම විස්තර කරන්නේ එම නිකුතුවේ එක් අනුවාදයක් පමණි. උත්ශ්‍රේණි කිරීම, උදාහරණයක් ලෙස, නව නිකුතු අනුවාද රහසක් නිර්මාණය කර, එම නව අනුවාදය වෙත යොමු කිරීමට මුදා හැරීමේ වස්තුව වෙනස් කරනු ඇත. ආපසු හැරවීමකදී, ඔබට නිකුතුව පෙර තත්වයට පෙරළීමට පෙර නිකුත් කළ අනුවාද රහස් භාවිතා කළ හැක.

Tiller අතහැර දැමීමෙන් පසු, Helm 3 ගබඩාව නිකුත් කරන ලද නාම අවකාශයේම දත්ත නිකුත් කරයි. මෙම වෙනස් කිරීම මඟින් ඔබට වෙනත් නාම අවකාශයක එකම නිකුතුවේ නම සහිත ප්‍රස්ථාරයක් ස්ථාපනය කිරීමට ඉඩ සලසයි, සහ etcd හි පොකුරු යාවත්කාලීන / නැවත පණගැන්වීම් අතර දත්ත සුරැකේ. උදාහරණයක් ලෙස, ඔබට වර්ඩ්ප්‍රෙස් "foo" නාම අවකාශයේ සහ පසුව "බාර්" නාම අවකාශයේ ස්ථාපනය කළ හැකි අතර, නිකුතු දෙකම "wordpress" ලෙස නම් කළ හැකිය.

ප්‍රස්ථාර පරායත්තතා වලට වෙනස්කම්

ප්‍රස්ථාර ඇසුරුම් කර ඇත (භාවිතා කර ඇත helm package) Helm 2 සමඟ භාවිතා කිරීම සඳහා Helm 3 සමඟ ස්ථාපනය කළ හැකිය, කෙසේ වෙතත් ප්‍රස්ථාර සංවර්ධන කාර්ය ප්‍රවාහය සම්පූර්ණයෙන්ම ප්‍රතිසංස්කරණය කර ඇත, එබැවින් Helm 3 සමඟ ප්‍රස්ථාර සංවර්ධනය දිගටම කරගෙන යාමට යම් වෙනස්කම් කළ යුතුය. විශේෂයෙන්, ප්‍රස්ථාර පරායත්ත කළමනාකරණ පද්ධතිය වෙනස් වී ඇත.

ප්‍රස්ථාරයේ පරායත්ත කළමනාකරණ පද්ධතිය මාරු වී ඇත requirements.yaml и requirements.lock මත Chart.yaml и Chart.lock. මෙයින් අදහස් කරන්නේ විධානය භාවිතා කළ ප්‍රස්ථාර බවයි helm dependency, Helm 3 හි වැඩ කිරීමට යම් සැකසුම අවශ්ය වේ.

අපි උදාහරණයක් බලමු. අපි Helm 2 හි ප්‍රස්ථාරයට පරායත්තතාවයක් එකතු කර Helm 3 වෙත මාරු වන විට වෙනස් වන දේ බලමු.

හෙල්ම් 2 හි requirements.yaml මේ වගේ පෙනුනා:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

Helm 3 හි, එම පරායත්තතාවය ඔබ තුළ පිළිබිඹු වේ Chart.yaml:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

ප්‍රස්ථාර තවමත් බාගත කර නාමාවලියෙහි තබා ඇත charts/, එසේ උපප්‍රස්ථාර (උපසටහන්), නාමාවලිය තුළ බොරු charts/, වෙනස්කම් නොමැතිව දිගටම වැඩ කරනු ඇත.

පුස්තකාල ප්‍රස්ථාර හඳුන්වා දීම

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

පුස්තකාල ප්‍රස්ථාර කොටසේ ප්‍රකාශ කර ඇත dependencies ගොනුවේ Chart.yaml. ඒවා ස්ථාපනය කිරීම සහ කළමනාකරණය කිරීම අනෙකුත් ප්‍රස්ථාර වලින් වෙනස් නොවේ.

dependencies:
  - name: mylib
    version: 1.x.x
    repository: quay.io

මෙම සංරචකය ප්‍රස්ථාර සංවර්ධකයින් සඳහා විවෘත වන භාවිත අවස්ථා මෙන්ම පුස්තකාල ප්‍රස්ථාරවලින් මතු විය හැකි හොඳම භාවිතයන් ගැන අපි සතුටු වෙමු.

ඊළඟට කුමක්ද?

Helm 3.0.0-alpha.1 යනු අපි Helm හි නව අනුවාදයක් තැනීමට පටන් ගන්නා පදනමයි. ලිපියේ මම Helm 3 හි රසවත් ලක්ෂණ කිහිපයක් විස්තර කළෙමි. ඒවායින් බොහොමයක් තවමත් සංවර්ධනයේ මුල් අවධියේ පවතින අතර මෙය සාමාන්යය; ඇල්ෆා නිකුතුවක කාරණය වන්නේ අදහස පරීක්ෂා කිරීම, මුල් පරිශීලකයින්ගෙන් ප්‍රතිපෝෂණ රැස් කිරීම සහ අපගේ උපකල්පන තහවුරු කිරීමයි.

ඇල්ෆා අනුවාදය නිකුත් වූ වහාම (මේ බව මතක තබා ගන්න දැනටමත් සිදුවී ඇත - ආසන්න වශයෙන්. පරිවර්තනය.), අපි ප්‍රජාවෙන් හෙල්ම් 3 සඳහා පැච් පිළිගැනීම ආරම්භ කරන්නෙමු. නව ක්‍රියාකාරීත්වය සංවර්ධනය කිරීමට සහ සම්මත කිරීමට ඉඩ සලසන ශක්තිමත් පදනමක් ඔබ නිර්මාණය කළ යුතු අතර, ප්‍රවේශපත්‍ර විවෘත කිරීමෙන් සහ නිවැරදි කිරීම් කිරීමෙන් ක්‍රියාවලියට සම්බන්ධ වීමට පරිශීලකයින්ට දැනේ.

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

අපට යමක් මග හැරී ඇති බව ඔබට හැඟේ නම්, අපි ඔබේ අදහස් ඇසීමට කැමතියි!

අපගේ සාකච්ඡාවට එක්වන්න මන්දගාමී නාලිකා:

  • #helm-users ප්‍රශ්න සහ ප්‍රජාව සමඟ සරල සන්නිවේදනය සඳහා;
  • #helm-dev ඇදීමේ ඉල්ලීම්, කේතය සහ දෝෂ සාකච්ඡා කිරීමට.

ඔබට බ්‍රහස්පතින්දා දිනවල 19:30 MSK ට අපගේ සතිපතා පොදු සංවර්ධක ඇමතුම් වල කතාබස් කළ හැකිය. ප්‍රධාන සංවර්ධකයින් සහ ප්‍රජාව වැඩ කරන ගැටළු මෙන්ම සතිය සඳහා සාකච්ඡා කරන මාතෘකා සාකච්ඡා කිරීමට රැස්වීම් කැපවී ඇත. ඕනෑම කෙනෙකුට රැස්වීමට සම්බන්ධ වී සහභාගි විය හැක. සබැඳිය Slack නාලිකාවේ ඇත #helm-dev.

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

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

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

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