விநியோகிக்கப்பட்ட அமைப்புகளின் செயல்பாட்டில் ஒரு முக்கியமான புள்ளி தோல்வி கையாளுதல் ஆகும். உங்கள் சிஸ்டத்தின் ஆரோக்கியத்தைக் கண்காணிக்கும் கன்ட்ரோலர்களைப் பயன்படுத்தி, வேலை செய்வதை நிறுத்திய சேவைகளை மறுதொடக்கம் செய்வதன் மூலம் குபெர்னெட்ஸ் இதற்கு உதவுகிறது. இருப்பினும், ஒட்டுமொத்த சிஸ்டத்தின் ஆரோக்கியத்தை உறுதிப்படுத்த குபெர்னெட்ஸ் உங்கள் பயன்பாடுகளை வலுக்கட்டாயமாக நிறுத்தலாம். இந்தத் தொடரில், Kubernetes அதன் வேலையை இன்னும் திறமையாகச் செய்வதற்கும், பயன்பாட்டின் வேலையில்லா நேரத்தைக் குறைப்பதற்கும் நீங்கள் எவ்வாறு உதவலாம் என்பதைப் பார்ப்போம்.
கொள்கலன்களுக்கு முன், பெரும்பாலான பயன்பாடுகள் மெய்நிகர் அல்லது இயற்பியல் இயந்திரங்களில் இயங்கின. பயன்பாடு செயலிழந்தால் அல்லது செயலிழந்தால், செயலில் உள்ள பணியை ரத்துசெய்து நிரலை மீண்டும் ஏற்றுவதற்கு நீண்ட நேரம் எடுக்கும். மோசமான சூழ்நிலையில், யாரோ ஒருவர் இந்த சிக்கலை கைமுறையாக இரவில், மிகவும் பொருத்தமற்ற நேரங்களில் தீர்க்க வேண்டும். 1-2 வேலை செய்யும் இயந்திரங்கள் மட்டுமே ஒரு முக்கியமான பணியைச் செய்தால், அத்தகைய இடையூறு முற்றிலும் ஏற்றுக்கொள்ள முடியாதது.
எனவே, கைமுறையாக மறுதொடக்கம் செய்வதற்குப் பதிலாக, அசாதாரணமான முடிவின் போது தானாகவே பயன்பாட்டை மறுதொடக்கம் செய்ய செயல்முறை-நிலை கண்காணிப்பைப் பயன்படுத்தத் தொடங்கினர். நிரல் தோல்வியுற்றால், கண்காணிப்பு செயல்முறை வெளியேறும் குறியீட்டைப் பிடித்து, சேவையகத்தை மறுதொடக்கம் செய்கிறது. குபெர்னெட்ஸ் போன்ற அமைப்புகளின் வருகையுடன், கணினி தோல்விகளுக்கு இந்த வகையான பதில் உள்கட்டமைப்பில் ஒருங்கிணைக்கப்பட்டது.
குபெர்னெட்டஸ், கன்டெய்னர்களில் இருந்து முனைகளுக்குப் பயணிக்கும்போது, வளங்கள் ஆரோக்கியமாக இருப்பதை உறுதிசெய்ய, கவனிக்க-வேறுபாடு-எடுத்து-செயல் நிகழ்வு வளையத்தைப் பயன்படுத்துகிறது.
இதன் பொருள் நீங்கள் இனி செயல்முறை கண்காணிப்பை கைமுறையாக இயக்க வேண்டியதில்லை. ஒரு ஆதாரம் உடல்நலச் சரிபார்ப்பில் தோல்வியுற்றால், குபெர்னெட்ஸ் தானாகவே அதற்கு மாற்றாக வழங்கும். இருப்பினும், தோல்விகளுக்கான உங்கள் விண்ணப்பத்தை கண்காணிப்பதை விட குபெர்னெட்ஸ் அதிகம் செய்கிறது. பல கணினிகளில் இயங்க, பயன்பாட்டைப் புதுப்பிக்க அல்லது உங்கள் பயன்பாட்டின் பல பதிப்புகளை ஒரே நேரத்தில் இயக்க இது பயன்பாட்டின் அதிக நகல்களை உருவாக்கலாம்.
எனவே, குபெர்னெட்ஸ் ஒரு முழுமையான ஆரோக்கியமான கொள்கலனை நிறுத்துவதற்கு பல காரணங்கள் உள்ளன. எடுத்துக்காட்டாக, உங்கள் வரிசைப்படுத்தலை மேம்படுத்தினால், புதியவற்றைத் தொடங்கும் போது குபெர்னெட்ஸ் பழைய காய்களை மெதுவாக நிறுத்தும். நீங்கள் ஒரு முனையை மூடினால், குபெர்னெட்டஸ் அந்த முனையில் அனைத்து காய்களையும் இயக்குவதை நிறுத்திவிடும். இறுதியாக, ஒரு முனையில் வளங்கள் தீர்ந்துவிட்டால், அந்த வளங்களை விடுவிக்க குபெர்னெட்டஸ் அனைத்து காய்களையும் மூடும்.
எனவே, உங்கள் பயன்பாடு இறுதிப் பயனருக்கு குறைந்த தாக்கம் மற்றும் குறைந்த மீட்பு நேரத்துடன் முடிவடைவது மிகவும் முக்கியமானது. அதாவது, பணிநிறுத்தம் செய்வதற்கு முன், அது சேமிக்கப்பட வேண்டிய எல்லா தரவையும் சேமிக்க வேண்டும், அனைத்து நெட்வொர்க் இணைப்புகளையும் மூட வேண்டும், மீதமுள்ள வேலைகளை முடிக்க வேண்டும் மற்றும் பிற அவசர பணிகளை நிர்வகிக்க வேண்டும்.
நடைமுறையில், உங்கள் பயன்பாடு SIGTERM செய்தியைக் கையாளக்கூடியதாக இருக்க வேண்டும், இது Unix இயக்க முறைமைகளில் உள்ள கில் பயன்பாட்டிற்கான இயல்புநிலை சமிக்ஞையான செயல்முறை முடிவு சமிக்ஞையாகும். இந்த செய்தியைப் பெற்றவுடன், பயன்பாடு நிறுத்தப்பட வேண்டும்.
குபெர்னெட்டஸ் ஒரு பாடை நிறுத்த முடிவு செய்தவுடன், பல நிகழ்வுகள் நிகழ்கின்றன. கன்டெய்னர் அல்லது பாட் மூடும் போது குபெர்னெட்டஸ் எடுக்கும் ஒவ்வொரு அடியையும் பார்க்கலாம்.
காய்களில் ஒன்றை நிறுத்த வேண்டும் என்று வைத்துக்கொள்வோம். இந்த கட்டத்தில், அது புதிய போக்குவரத்தைப் பெறுவதை நிறுத்தும் - பானையில் இயங்கும் கொள்கலன்கள் பாதிக்கப்படாது, ஆனால் அனைத்து புதிய போக்குவரத்தும் தடுக்கப்படும்.
ப்ரீஸ்டாப் ஹூக்கைப் பார்ப்போம், இது ஒரு சிறப்பு கட்டளை அல்லது HTTP கோரிக்கையாகும், இது ஒரு பாடில் உள்ள கொள்கலன்களுக்கு அனுப்பப்படுகிறது. SIGTERM ஐப் பெறும்போது உங்கள் பயன்பாடு சரியாக மூடப்படாவிட்டால், சரியாக மூடுவதற்கு preStop ஐப் பயன்படுத்தலாம்.
பெரும்பாலான நிரல்கள் SIGTERM சிக்னலைப் பெறும்போது அவை அழகாக வெளியேறும், ஆனால் நீங்கள் மூன்றாம் தரப்புக் குறியீடு அல்லது நீங்கள் முழுமையாகக் கட்டுப்படுத்தாத சில சிஸ்டத்தைப் பயன்படுத்தினால், பயன்பாட்டை மாற்றாமலேயே ப்ரீஸ்டாப் ஹூக் ஒரு அழகான பணிநிறுத்தத்தை கட்டாயப்படுத்துவதற்கான சிறந்த வழியாகும்.
இந்த ஹூக்கைச் செயல்படுத்திய பிறகு, குபெர்னெட்டஸ் பாட்டில் உள்ள கொள்கலன்களுக்கு SIGTERM சிக்னலை அனுப்பும், அவை விரைவில் துண்டிக்கப்படும் என்பதை அவர்களுக்குத் தெரிவிக்கும். இந்த சிக்னலைப் பெற்றவுடன், உங்கள் குறியீடு பணிநிறுத்தம் செயல்முறைக்கு செல்லும். தரவுத்தள இணைப்பு அல்லது WebSocket ஸ்ட்ரீம் போன்ற நீண்ட கால இணைப்புகளை நிறுத்துதல், தற்போதைய நிலையைச் சேமிப்பது மற்றும் பலவற்றை இந்த செயல்முறை உள்ளடக்கியிருக்கலாம்.
நீங்கள் ப்ரீஸ்டாப் ஹூக்கைப் பயன்படுத்தினாலும், உங்கள் பயன்பாட்டிற்கு SIGTERM சிக்னலை அனுப்பும்போது சரியாக என்ன நடக்கும் என்பதையும், அது எவ்வாறு செயல்படுகிறது என்பதையும் சரிபார்ப்பது மிகவும் முக்கியம், இதனால் பாட் நிறுத்தத்தால் ஏற்படும் நிகழ்வுகள் அல்லது கணினி செயல்பாட்டில் மாற்றங்கள் வராது. உங்களுக்கு ஒரு ஆச்சரியம்.
இந்த கட்டத்தில், குபெர்னெட்டஸ், terminationGracePeriodSecond எனப்படும் ஒரு குறிப்பிட்ட நேரத்திற்கு காத்திருப்பார், அல்லது SIGTERM சிக்னலைப் பெறும்போது, அடுத்த நடவடிக்கை எடுப்பதற்கு முன், லாவகமாக நிறுத்தப்படும்.
இயல்பாக, இந்த காலம் 30 வினாடிகள். இது ப்ரீஸ்டாப் ஹூக் மற்றும் SIGTERM சிக்னலுடன் இணையாக இயங்குகிறது என்பதைக் கவனத்தில் கொள்ள வேண்டும். PreStop ஹூக் மற்றும் SIGTERM முடிவடையும் வரை Kubernetes காத்திருக்காது - TerminationGracePeriod முடிவதற்குள் உங்கள் விண்ணப்பம் வெளியேறினால், Kubernetes உடனடியாக அடுத்த கட்டத்திற்குச் செல்லும். எனவே, இந்த காலகட்டத்தின் மதிப்பு நொடிகளில் சரியாக மூடுவதற்கு தேவையான நேரத்தை விட குறைவாக இல்லை என்பதை சரிபார்க்கவும், மேலும் அது 30 வினாடிகளுக்கு மேல் இருந்தால், YAML இல் விரும்பிய மதிப்பிற்கு காலத்தை அதிகரிக்கவும். கொடுக்கப்பட்ட எடுத்துக்காட்டில், இது 60s ஆகும்.
இறுதியாக, கிரேஸ்பிரியட் நிறுத்தப்பட்ட பிறகும் கொள்கலன்கள் இயங்கினால், அவை SIGKILL சிக்னலை அனுப்பும் மற்றும் வலுக்கட்டாயமாக நீக்கப்படும். இந்த கட்டத்தில், குபெர்னெட்ஸ் மற்ற அனைத்து பாட் பொருட்களையும் சுத்தம் செய்வார்.
Kubernetes பல காரணங்களுக்காக காய்களை நிறுத்துகிறது, எனவே நிலையான சேவையை உறுதிசெய்ய உங்கள் விண்ணப்பம் எந்த வகையிலும் அழகாக முடிவடைவதை உறுதிசெய்யவும்.
சில விளம்பரங்கள் 🙂
எங்களுடன் தங்கியதற்கு நன்றி. எங்கள் கட்டுரைகளை விரும்புகிறீர்களா? மேலும் சுவாரஸ்யமான உள்ளடக்கத்தைப் பார்க்க வேண்டுமா? ஒரு ஆர்டரை வைப்பதன் மூலம் அல்லது நண்பர்களுக்கு பரிந்துரை செய்வதன் மூலம் எங்களை ஆதரிக்கவும்,
ஆம்ஸ்டர்டாமில் உள்ள Equinix Tier IV தரவு மையத்தில் Dell R730xd 2 மடங்கு மலிவானதா? இங்கே மட்டும்
ஆதாரம்: www.habr.com