ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
டைஃபோன் சரக்கு கடத்தல் கருத்து, அன்டன் ஸ்வான்போல்

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

இது ஒரு மாநாட்டில் ஆற்றிய உரையின் அடிப்படையிலான சுருக்கம் @குபெர்னெட்ஸ் மாநாடு by Mail.ru கிளவுட் தீர்வுகள் - நீங்கள் படிக்க விரும்பவில்லை என்றால், வீடியோவைப் பார்க்கவும்.

உற்பத்தியில் குபெர்னெட்ஸை ஏன் பயன்படுத்துகிறோம்

லெராய் மெர்லின் ரஷ்யா மற்றும் ஐரோப்பாவில் DIY சில்லறை சந்தையில் முன்னணியில் உள்ளார். எங்கள் நிறுவனத்தில் நூற்றுக்கும் மேற்பட்ட டெவலப்பர்கள், 33 உள் ஊழியர்கள் மற்றும் அதிக எண்ணிக்கையிலான மக்கள் ஹைப்பர் மார்க்கெட்டுகள் மற்றும் வலைத்தளத்தைப் பார்வையிடுகிறார்கள். அவர்கள் அனைவரையும் மகிழ்விக்கும் வகையில், தொழில் தரமான அணுகுமுறைகளைப் பின்பற்ற முடிவு செய்தோம். மைக்ரோ சர்வீஸ் கட்டமைப்பைப் பயன்படுத்தி புதிய பயன்பாடுகளை உருவாக்குதல்; சுற்றுச்சூழலைத் தனிமைப்படுத்தவும் சரியான விநியோகத்தை உறுதிப்படுத்தவும் கொள்கலன்களைப் பயன்படுத்தவும்; மற்றும் குபெர்னெட்ஸை இசைக்குழுவிற்கு பயன்படுத்தவும். ஆர்கெஸ்ட்ரேட்டர்களைப் பயன்படுத்துவதற்கான விலை விரைவாக மலிவாகி வருகிறது: தொழில்நுட்பத்தில் திறமையான பொறியாளர்களின் எண்ணிக்கை சந்தையில் அதிகரித்து வருகிறது, மேலும் வழங்குநர்கள் குபெர்னெட்ஸை ஒரு சேவையாக வழங்குகிறார்கள்.

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

குபெர்னெட்டஸில் உள்ள பெரிய YAML கோப்புகளின் சாபம்

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

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
ஹெல்மின் முக்கிய பராமரிப்பாளரான ஆடம் ரீஸ், "என்ற கருத்தை அறிமுகப்படுத்தினார்.குபெர்னெட்டஸில் வளர்ச்சி சுழற்சி", இது போல் தெரிகிறது:

  1. YAML ஐ நகலெடுக்கவும் - YAML கோப்பை நகலெடுக்கவும்.
  2. ஒட்டு YAML - அதை ஒட்டவும்.
  3. உள்தள்ளல்களை சரிசெய்யவும் - உள்தள்ளல்களை சரிசெய்யவும்.
  4. மீண்டும் செய்யவும் - மீண்டும் செய்யவும்.

விருப்பம் வேலை செய்கிறது, ஆனால் நீங்கள் YAML கோப்புகளை பல முறை நகலெடுக்க வேண்டும். இந்த சுழற்சியை மாற்ற, ஹெல்ம் கண்டுபிடிக்கப்பட்டது.

ஹெல்ம் என்றால் என்ன

முதலில், ஹெல்ம் - தொகுப்பு மேலாளர், இது உங்களுக்குத் தேவையான நிரல்களைக் கண்டறிந்து நிறுவ உதவுகிறது. நிறுவ, எடுத்துக்காட்டாக, மோங்கோடிபி, நீங்கள் அதிகாரப்பூர்வ வலைத்தளத்திற்குச் சென்று பைனரிகளைப் பதிவிறக்கத் தேவையில்லை, கட்டளையை இயக்கவும் helm install stable/mongodb.

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

மூன்றாவதாக, ஹெல்ம் - வரிசைப்படுத்தல் மாஸ்டர். அதன் மூலம் நீங்கள் அப்ளிகேஷன்களை இன்ஸ்டால் செய்யலாம், ரோல்பேக் செய்யலாம் மற்றும் அப்டேட் செய்யலாம். இதை எப்படி செய்வது என்று கண்டுபிடிப்போம்.

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்

உங்கள் சொந்த பயன்பாடுகளை வரிசைப்படுத்த ஹெல்மை எவ்வாறு பயன்படுத்துவது

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

  • வார்ப்புருக்கள் கொண்ட கோப்புறையைக் குறிக்கவும்;
  • காப்பகத்தை ஒரு .tar இல் அடைத்து அதை சுட்டிக்காட்டவும்;
  • டெம்ப்ளேட்டை தொலை களஞ்சியத்தில் வைத்து, ஹெல்ம் கிளையண்டில் உள்ள களஞ்சியத்திற்கு இணைப்பைச் சேர்க்கவும்.

மதிப்புகள் கொண்ட கோப்பும் உங்களுக்குத் தேவை - values.yaml. அங்கிருந்து வரும் தரவு டெம்ப்ளேட்டில் செருகப்படும். அதையும் உருவாக்குவோம்.

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
ஹெல்மின் இரண்டாவது பதிப்பில் கூடுதல் சேவையக பயன்பாடு உள்ளது - டில்லர். இது Kubernetes க்கு வெளியே தொங்குகிறது மற்றும் ஹெல்ம் கிளையண்டின் கோரிக்கைகளுக்காக காத்திருக்கிறது, மேலும் அழைக்கப்படும் போது, ​​தேவையான மதிப்புகளை டெம்ப்ளேட்டில் மாற்றி குபெர்னெட்டஸுக்கு அனுப்புகிறது.

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
ஹெல்ம் 3 எளிமையானது: சர்வரில் டெம்ப்ளேட்களைச் செயலாக்குவதற்குப் பதிலாக, தகவல் இப்போது ஹெல்ம் கிளையன்ட் பக்கத்தில் முழுமையாகச் செயலாக்கப்பட்டு நேரடியாக குபெர்னெட்டஸ் ஏபிஐக்கு அனுப்பப்படுகிறது. இந்த எளிமைப்படுத்தல் கிளஸ்டர் பாதுகாப்பை மேம்படுத்துகிறது மற்றும் ரோல்அவுட் திட்டத்தை எளிதாக்குகிறது.

எப்படி எல்லாம் வேலை செய்கிறது

கட்டளையை இயக்கவும் helm install. பயன்பாட்டு வெளியீட்டின் பெயரைக் குறிப்பிட்டு, values.yaml க்கு பாதையைக் கொடுப்போம். முடிவில் விளக்கப்படம் அமைந்துள்ள களஞ்சியத்தையும் விளக்கப்படத்தின் பெயரையும் குறிப்பிடுவோம். எடுத்துக்காட்டில், இவை முறையே "lmru" மற்றும் "bestchart" ஆகும்.

helm install --name bestapp --values values.yaml lmru/bestchart

கட்டளையை ஒரு முறை மட்டுமே இயக்க முடியும், அதற்கு பதிலாக மீண்டும் இயக்கப்படும் install பயன்படுத்த வேண்டும் upgrade. எளிமைக்காக, இரண்டு கட்டளைகளுக்கு பதிலாக, நீங்கள் கட்டளையை இயக்கலாம் upgrade கூடுதல் விசையுடன் --install. முதல் முறையாக செயல்படுத்தப்படும் போது, ​​வெளியீட்டை நிறுவ ஹெல்ம் ஒரு கட்டளையை அனுப்பும், மேலும் எதிர்காலத்தில் அதை புதுப்பிக்கும்.

helm upgrade --install bestapp --values values.yaml lmru/bestchart

ஹெல்முடன் பயன்பாட்டின் புதிய பதிப்புகளைப் பயன்படுத்துவதில் உள்ள சிக்கல்கள்

கதையின் இந்த கட்டத்தில், நான் பார்வையாளர்களுடன் ஹூ வாண்ட்ஸ் டு பி எ மில்லியனர் என்று விளையாடுகிறேன், மேலும் பயன்பாட்டின் பதிப்பைப் புதுப்பிக்க ஹெல்மை எவ்வாறு பெறுவது என்பதைக் கண்டுபிடித்து வருகிறோம். வீடியோவைப் பாருங்கள்.

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

முறை 1. கடைசியாக அறிமுகப்படுத்தப்பட்டதிலிருந்து தகவலை மாற்ற வேண்டாம்

காக் கிளாசிட் அதிகாரப்பூர்வ வலைத்தளம் ஹெல்ம், "குபெர்னெட்டஸ் வரைபடங்கள் பெரியதாகவும் சிக்கலானதாகவும் இருக்கும், எனவே ஹெல்ம் எதையும் அதிகமாக தொடக்கூடாது." எனவே, நீங்கள் டோக்கர் பதிவேட்டில் பயன்பாட்டு படத்தின் சமீபத்திய பதிப்பைப் புதுப்பித்து கட்டளையை இயக்கினால் helm upgrade, அப்புறம் எதுவும் நடக்காது. ஹெல்ம் எதுவும் மாறவில்லை என்றும், பயன்பாட்டைப் புதுப்பிக்க குபெர்னெட்டஸுக்கு கட்டளையை அனுப்ப வேண்டிய அவசியமில்லை என்றும் நினைப்பார்.

இங்கே மற்றும் கீழே, சமீபத்திய குறிச்சொல் ஒரு உதாரணத்திற்கு மட்டுமே காட்டப்பட்டுள்ளது. நீங்கள் இந்தக் குறிச்சொல்லைக் குறிப்பிடும்போது, ​​குபெர்னெட்டஸ் ஒவ்வொரு முறையும், imagePullPolicy அளவுருவைப் பொருட்படுத்தாமல், டாக்கர் பதிவேட்டில் இருந்து படத்தைப் பதிவிறக்கும். சமீபத்திய உற்பத்தியைப் பயன்படுத்துவது விரும்பத்தகாதது மற்றும் பக்க விளைவுகளை ஏற்படுத்துகிறது.

முறை 2. படத்தில் லேபிளைப் புதுப்பிக்கவும்

அதே போல் எழுதப்பட்டுள்ளது ஆவணங்கள், "கடைசி வெளியீட்டிலிருந்து பயன்பாடு மாறியிருந்தால் மட்டுமே ஹெல்ம் புதுப்பிக்கும்." இதற்கான தர்க்கரீதியான விருப்பமானது, டோக்கர் படத்திலேயே LABEL ஐ புதுப்பிப்பது போல் தெரிகிறது. இருப்பினும், ஹெல்ம் பயன்பாட்டுப் படங்களைப் பார்க்கவில்லை மற்றும் அவற்றில் எந்த மாற்றமும் இல்லை. அதன்படி, படத்தில் லேபிள்களைப் புதுப்பிக்கும்போது, ​​அவற்றைப் பற்றி ஹெல்ம் அறியமாட்டார், மேலும் பயன்பாட்டு புதுப்பிப்பு கட்டளை குபெர்னெட்டஸுக்கு அனுப்பப்படாது.

முறை 3: ஒரு விசையைப் பயன்படுத்தவும் --force

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
கையேடுகளுக்குத் திரும்பி, தேவையான விசையைத் தேடுவோம். திறவுகோல் மிகவும் அர்த்தமுள்ளதாக இருக்கிறது --force. வெளிப்படையான பெயர் இருந்தபோதிலும், நடத்தை எதிர்பார்த்தது வேறுபட்டது. பயன்பாட்டு புதுப்பிப்பை கட்டாயப்படுத்துவதற்கு பதிலாக, அதன் உண்மையான நோக்கம் தோல்வியடைந்த நிலையில் உள்ள வெளியீட்டை மீட்டெடுப்பதாகும். இந்த விசையை நீங்கள் பயன்படுத்தவில்லை என்றால், நீங்கள் கட்டளைகளை வரிசையாக இயக்க வேண்டும் helm delete && helm install --replace. அதற்கு பதிலாக விசையைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது --force, இது இந்த கட்டளைகளின் தொடர்ச்சியான செயல்பாட்டை தானியங்குபடுத்துகிறது. இதில் கூடுதல் தகவல்கள் கோரிக்கையை இழுக்கவும். பயன்பாட்டின் பதிப்பைப் புதுப்பிக்குமாறு ஹெல்மிடம் கூற, துரதிர்ஷ்டவசமாக, இந்த விசை வேலை செய்யாது.

முறை 4. நேரடியாக குபெர்னெட்டஸில் லேபிள்களை மாற்றவும்

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
கட்டளையைப் பயன்படுத்தி நேரடியாக கிளஸ்டரில் லேபிளைப் புதுப்பிக்கிறது kubectl edit - மோசமான யோசனை. இந்தச் செயல் இயங்கும் பயன்பாட்டிற்கும் முதலில் வரிசைப்படுத்துவதற்காக அனுப்பப்பட்ட பயன்பாட்டிற்கும் இடையே உள்ள தகவலின் முரண்பாட்டிற்கு வழிவகுக்கும். இந்த வழக்கில் வரிசைப்படுத்தலின் போது ஹெல்மின் நடத்தை அதன் பதிப்பிலிருந்து வேறுபடுகிறது: ஹெல்ம் 2 எதையும் செய்யாது, மேலும் ஹெல்ம் 3 பயன்பாட்டின் புதிய பதிப்பை வரிசைப்படுத்தும். ஏன் என்பதைப் புரிந்து கொள்ள, ஹெல்ம் எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும்.

ஹெல்ம் எப்படி வேலை செய்கிறது?

ஒரு பயன்பாடு அதன் கடைசி வெளியீட்டிலிருந்து மாறியுள்ளதா என்பதைத் தீர்மானிக்க, ஹெல்ம் இதைப் பயன்படுத்தலாம்:

  • Kubernetes இல் இயங்கும் பயன்பாடு;
  • புதிய மதிப்புகள்.யாம்ல் மற்றும் தற்போதைய விளக்கப்படம்;
  • ஹெல்மின் உள் வெளியீடு தகவல்.

அதிக ஆர்வமுள்ளவர்களுக்கு: வெளியீடுகள் பற்றிய உள் தகவல்களை ஹெல்ம் எங்கே சேமிக்கிறது?கட்டளையை செயல்படுத்துவதன் மூலம் helm history, ஹெல்மைப் பயன்படுத்தி நிறுவப்பட்ட பதிப்புகள் பற்றிய அனைத்து தகவல்களையும் நாங்கள் பெறுவோம்.

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
அனுப்பப்பட்ட வார்ப்புருக்கள் மற்றும் மதிப்புகள் பற்றிய விரிவான தகவல்களும் உள்ளன. நாங்கள் அதைக் கோரலாம்:

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்
ஹெல்மின் இரண்டாவது பதிப்பில், இந்தத் தகவல் டில்லர் இயங்கும் அதே பெயர்வெளியில் உள்ளது (இயல்புநிலையாக kube-system), ConfigMap இல், "OWNER=TILLER" என்ற லேபிளுடன் குறிக்கப்பட்டுள்ளது:

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

ஹெல்ம் சாதனம் மற்றும் அதன் ஆபத்துகள்

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

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

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

முறை 5. --recreate-pods சுவிட்சைப் பயன்படுத்தவும்

ஒரு சாவியுடன் --recreate-pods திறவுகோல் மூலம் நீங்கள் முதலில் அடையத் திட்டமிட்டதை நீங்கள் அடையலாம் --force. கன்டெய்னர்கள் மறுதொடக்கம் செய்யப்பட்டு, imagePullPolicy: எப்போதும் சமீபத்திய குறிச்சொல்லுக்கான கொள்கையின்படி (மேலே உள்ள அடிக்குறிப்பில் இது பற்றி மேலும்), குபெர்னெட்டஸ் படத்தின் புதிய பதிப்பைப் பதிவிறக்கி வெளியிடும். இது சிறந்த முறையில் செய்யப்படாது: வரிசைப்படுத்தலின் வியூக வகையை கணக்கில் எடுத்துக் கொள்ளாமல், அது திடீரென்று அனைத்து பழைய பயன்பாட்டு நிகழ்வுகளையும் அணைத்து புதியவற்றைத் தொடங்கத் தொடங்கும். மறுதொடக்கம் செய்யும் போது, ​​​​கணினி இயங்காது, பயனர்கள் பாதிக்கப்படுவார்கள்.

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

ஹெல்ம் எல்லா பயன்பாடுகளையும் அணைத்துவிட்டு, அருகிலுள்ள புதிய கொள்கலன்களை அறிமுகப்படுத்துகிறது. பயன்பாட்டின் செயலிழப்பை ஏற்படுத்தாமல் இருக்க, தயாரிப்பில் இதைச் செய்ய முடியாது. இது வளர்ச்சித் தேவைகளுக்கு மட்டுமே தேவை மற்றும் மேடை சூழல்களில் மட்டுமே செய்ய முடியும்.

ஹெல்மைப் பயன்படுத்தி பயன்பாட்டு பதிப்பை எவ்வாறு புதுப்பிப்பது?

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

  1. சீரற்ற மதிப்பு நிலையான செயல்பாட்டைப் பயன்படுத்தி - {{ randAlphaNum 6 }}.
    ஒரு எச்சரிக்கை உள்ளது: அத்தகைய மாறியுடன் ஒரு விளக்கப்படத்தைப் பயன்படுத்தி ஒவ்வொரு வரிசைப்படுத்தலுக்குப் பிறகு, சிறுகுறிப்பு மதிப்பு தனிப்பட்டதாக இருக்கும், மேலும் மாற்றங்கள் இருப்பதாக ஹெல்ம் கருதுவார். அதன் பதிப்பை நாங்கள் மாற்றாவிட்டாலும், நாங்கள் எப்போதும் பயன்பாட்டை மறுதொடக்கம் செய்வோம் என்று மாறிவிடும். இது முக்கியமானதல்ல, ஏனென்றால் வேலையில்லா நேரம் இருக்காது, ஆனால் அது இன்னும் விரும்பத்தகாதது.
  2. தற்போதைய ஒட்டவும் தேதி மற்றும் நேரம் - {{ .Release.Date }}.
    ஒரு மாறுபாடு நிரந்தரமாக தனித்துவமான மாறியுடன் கூடிய சீரற்ற மதிப்பைப் போன்றது.
  3. மிகவும் சரியான வழி பயன்படுத்துவது செக்சம்கள். இது படத்தின் SHA அல்லது git இல் உள்ள கடைசி உறுதிப்பாட்டின் SHA ஆகும் - {{ .Values.sha }}.
    அவை எண்ணப்பட்டு அழைப்பு பக்கத்தில் உள்ள ஹெல்ம் கிளையண்டிற்கு அனுப்பப்பட வேண்டும், எடுத்துக்காட்டாக ஜென்கின்ஸ். பயன்பாடு மாறியிருந்தால், செக்சம் மாறும். எனவே, தேவைப்படும்போது மட்டுமே ஹெல்ம் பயன்பாட்டைப் புதுப்பிக்கும்.

எங்கள் முயற்சிகளை சுருக்கமாகக் கூறுவோம்

  • ஹெல்ம் குறைந்த ஆக்கிரமிப்பு வழியில் மாற்றங்களைச் செய்கிறது, எனவே டோக்கர் பதிவேட்டில் பயன்பாட்டு பட மட்டத்தில் எந்த மாற்றமும் புதுப்பிப்பை ஏற்படுத்தாது: கட்டளை செயல்படுத்தப்பட்ட பிறகு எதுவும் நடக்காது.
  • முக்கிய --force சிக்கலான வெளியீடுகளை மீட்டெடுக்கப் பயன்படுகிறது மற்றும் கட்டாய புதுப்பிப்புகளுடன் தொடர்புடையது அல்ல.
  • முக்கிய --recreate-pods பயன்பாடுகளை வலுக்கட்டாயமாக புதுப்பிக்கும், ஆனால் அதை ஒரு அழிவு வழியில் செய்யும்: இது திடீரென்று அனைத்து கொள்கலன்களையும் அணைக்கும். பயனர்கள் இதனால் பாதிக்கப்படுவார்கள்; நீங்கள் தயாரிப்பில் இதைச் செய்யக்கூடாது.
  • கட்டளையைப் பயன்படுத்தி நேரடியாக Kubernetes கிளஸ்டரில் மாற்றங்களைச் செய்யுங்கள் kubectl edit வேண்டாம்: நாங்கள் நிலைத்தன்மையை உடைப்போம், மேலும் ஹெல்மின் பதிப்பைப் பொறுத்து நடத்தை மாறுபடும்.
  • ஹெல்மின் புதிய பதிப்பின் வெளியீட்டில், பல நுணுக்கங்கள் தோன்றின. ஹெல்ம் களஞ்சியத்தில் உள்ள சிக்கல்கள் தெளிவான மொழியில் விவரிக்கப்பட்டுள்ளன, அவை விவரங்களைப் புரிந்துகொள்ள உதவும்.
  • விளக்கப்படத்தில் திருத்தக்கூடிய சிறுகுறிப்பைச் சேர்ப்பது அதை மேலும் நெகிழ்வாக மாற்றும். வேலையில்லா நேரம் இல்லாமல், பயன்பாட்டை சரியாக வெளியிட இது உங்களை அனுமதிக்கும்.

வாழ்க்கையின் அனைத்து பகுதிகளிலும் செயல்படும் ஒரு "உலக அமைதி" சிந்தனை: பயன்பாட்டிற்கு முன் வழிமுறைகளைப் படிக்கவும், பிறகு அல்ல. முழுமையான தகவல்களால் மட்டுமே நம்பகமான அமைப்புகளை உருவாக்கவும் பயனர்களை மகிழ்ச்சியடையச் செய்யவும் முடியும்.

பிற தொடர்புடைய இணைப்புகள்:

  1. உடன் அறிமுகம் தலைமையில் 3
  2. ஹெல்ம் அதிகாரப்பூர்வ வலைத்தளம்
  3. GitHub இல் ஹெல்ம் களஞ்சியம்
  4. 25 பயனுள்ள குபெர்னெட்ஸ் கருவிகள்: வரிசைப்படுத்தல் மற்றும் மேலாண்மை

இந்த அறிக்கை முதலில் சமர்ப்பிக்கப்பட்டது @குபெர்னெட்ஸ் மாநாடு Mail.ru கிளவுட் தீர்வுகள் மூலம். பார் видео மற்ற நிகழ்ச்சிகள் மற்றும் டெலிகிராமில் நிகழ்வு அறிவிப்புகளுக்கு குழுசேரவும் Mail.ru குழுவில் Kubernetes சுற்றி.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்