இந்தக் கட்டுரையில் பல்வேறு Kubernetes மறுதொடக்கம் கொள்கைகளைப் பற்றி குறிப்பாகப் பேசுவோம். குபெர்னெட்டஸை மறுதொடக்கம் செய்யும்போது பயன்படுத்தப்படும் பல்வேறு கொள்கைகளை முதலில் விவாதிப்போம். கிளஸ்டரில் குறிப்பிட்ட பணிச்சுமையை நிறுத்துவதற்கு இந்தக் கொள்கைகளைப் பயன்படுத்தலாம். கிளஸ்டரில் கடுமையான தரங்களை விதிப்பது பொதுவாக இணக்கத்தை உறுதி செய்வதற்காக செய்யப்படுகிறது, கிளஸ்டர் நிர்வாகிகள் பரிந்துரைக்கப்பட்ட பல சிறந்த நடைமுறைகளையும் பின்பற்ற வேண்டும்.
குபெர்னெட்ஸ் மறுதொடக்கம் கொள்கை என்றால் என்ன?
ஒவ்வொரு குபெர்னெட்டஸ் பாட் ஒரு குறிப்பிட்ட வாழ்க்கைச் சுழற்சியைக் கடைப்பிடிக்கிறது. இது 'நிலுவையில் உள்ள' கட்டத்தில் தொடங்குகிறது, மேலும் ஒன்று அல்லது அதற்கு மேற்பட்ட முதன்மை கொள்கலன்கள் வெற்றிகரமாக தொடங்கப்பட்டால், 'இயங்கும்' நிலைக்கு மாறுகிறது. காய்களில் உள்ள கொள்கலன்கள் வெற்றியடைகிறதா அல்லது தோல்வியடைகிறதா என்பதைப் பொறுத்து, செயல்முறை 'வெற்றி' அல்லது 'தோல்வியுற்றது' நிலைக்குச் செல்லும்.
பயன்படுத்தப்பட்ட கொள்கலன்களின் மட்டத்தில் கொள்கையை மறுதொடக்கம் செய்ய, மூன்று விருப்பங்களைப் பயன்படுத்தலாம்:
எப்போதும்
ஒவ்வொரு முறையும் ஒரு கொள்கலன் முடிவடையும் போது, குபெர்னெட்டஸ் புதிய ஒன்றை உற்பத்தி செய்கிறது, ஏனெனில் பாட் எல்லா நேரங்களிலும் சுறுசுறுப்பாக இருக்க வேண்டும்.
தோல்வியில்
0 ஐத் தவிர வேறு திரும்பக் குறியீட்டுடன் கொள்கலன் வெளியேறினால், அது ஒருமுறை மட்டுமே மறுதொடக்கம் செய்யப்படும். 0 (வெற்றி) திரும்பும் கொள்கலன்களுக்கு மறுதொடக்கம் தேவையில்லை.
ஒருபோதும் இல்லை
கொள்கலனை மறுதொடக்கம் செய்ய முடியவில்லை.
இப்போது, பின்வரும் பகுதியில், நீங்கள் எப்படி ஒரு பாட் மறுதொடக்கம் செய்யலாம் என்பதை நாங்கள் விவாதிப்போம்.
குபெர்னெட்டஸில் ஒரு பாட் மீண்டும் தொடங்குவது எப்படி?
குபெர்னெட்டஸ் பாட் ஒன்றை மறுதொடக்கம் செய்ய, kubectl கருவியைப் பயன்படுத்தி கட்டளைகளை வழங்கவும். இது KubeAPI சேவையகத்துடன் இணைக்கப்படும். கிடைக்கக்கூடிய விருப்பங்களை ஆராய்வோம்:
ஒரு பாட்க்குள் ஒரு கொள்கலனை மறுதொடக்கம் செய்தல்
ஒரு நெற்று பல கொள்கலன்களை வைத்திருக்கலாம். மறுபுறம், நீங்கள் அதை இணைக்கும் போது அடிப்படை கொள்கலனுடன் இணைக்க வேண்டும். நீங்கள் ஒன்றுக்கு மேற்பட்டவற்றை வரையறுத்திருந்தால், ஒரு வழக்கில் நீங்கள் வரையறுத்துள்ள ஒவ்வொரு கொள்கலனுடனும் இணைக்கலாம்.
பல கொள்கலன் பாட் விவரக்குறிப்பு உதாரணத்தை நீங்கள் கீழே காணலாம்:
இது பகிரப்பட்ட தொகுதி மற்றும் இரண்டு கொள்கலன்களை விவரிக்கிறது. HTML கோப்பு NGINX கண்டெய்னரால் வழங்கப்படும், மேலும் ஒவ்வொரு நொடியும் உபுண்டு கொள்கலன் HTML கோப்பில் தேதி முத்திரையைச் சேர்க்கும்.
எந்த கொள்கலனுடன் இணைக்க வேண்டும் என்பதை நீங்கள் குறிப்பிடாததால், நீங்கள் அந்த பாட் உடன் இணைக்க முயற்சிக்கும்போது அது தானாகவே முதல் ஒன்றை (NGINX) தேர்ந்தெடுக்கும். ஸ்கிரீன்ஷாட் கீழே இணைக்கப்பட்டுள்ளது:
நீங்கள் தற்போது செயலில் உள்ள கொள்கலனுக்குள் PID 1 செயல்முறையை நிறுத்த முயற்சிக்கலாம். இதைச் செய்ய, பின்வரும் கட்டளைகளை ரூட்டாக இயக்கவும்:
கீழே விவரிக்கப்பட்டுள்ள kubectl கருவியையும் நீங்கள் பயன்படுத்தலாம்:
பாட் விவரக்குறிப்பின்படி, K8s இப்போது அழிக்கப்பட்ட கொள்கலனை மறுதொடக்கம் செய்ய முயற்சிக்கும். அதற்கு, 'விவரிக்க' கட்டளை பின்வருமாறு பயன்படுத்தப்படுகிறது:
மேலே உள்ள கட்டளையின் முடிவு இங்கே:
தற்போதைய நிலை 'போகிறது', அதே சமயம் முந்தைய நிலை 'நிறுத்தப்பட்டது.' இதன்படி, கொள்கலன் மறுதொடக்கம் செய்யப்பட்டது என்று அர்த்தம். இருப்பினும், அனைத்து கொள்கலன்களும் ரூட் சான்றுகளை அணுக முடியாது. அதனால்தான் இந்த முறை மிகவும் பயனுள்ளதாக இருக்காது.
அளவிடுதல் மூலம் ஒரு பாட் மறுதொடக்கம்
ஒரு பாட்டின் பிரதி எண்ணிக்கையை 0 ஆக அளவிடுதல் மற்றும் அதை 1 வரை அளவிடுவது அதை மறுதொடக்கம் செய்வதற்கான எளிய வழியாகும். அதற்கு பதிலாக நீங்கள் ஒரு வரிசைப்படுத்தலை உருவாக்க வேண்டும், ஏனெனில் அளவு கட்டளையை காய்களில் பயன்படுத்த முடியாது. அதை நிறைவேற்ற எளிதான வழி:
0 ஆகவும் அதன் பிறகு 1 ஆகவும் அளவிடவும். இதைச் செய்வதன் மூலம், நெற்று நிறுத்தப்பட்டு, பின்னர் கிளஸ்டருக்கு மீண்டும் வரிசைப்படுத்தப்படும்:
இந்தப் படத்தில் நீங்கள் பார்ப்பது போல் பிரதிகள் 1 க்கு அமைக்கப்பட்டுள்ளன.
வரிசைப்படுத்தல் விவரங்களைப் பார்க்க, நாங்கள் இப்போது 'kubectl get deployments' ஐப் பயன்படுத்தியுள்ளோம். பின்வரும் கட்டளை மற்றும் முடிவு இரண்டின் பட்டியல்:
அதை நீக்கி மீண்டும் வரிசைப்படுத்துவதன் மூலம் ஒரு பாட் மறுதொடக்கம்
“kubectl delete” கட்டளையைப் பயன்படுத்தி, நீங்கள் ஒரு பாட் ஒன்றை நீக்கிவிட்டு, அதை மீண்டும் வரிசைப்படுத்தலாம். இருப்பினும், இந்த அணுகுமுறை மிகவும் இடையூறு விளைவிக்கும், எனவே இது பரிந்துரைக்கப்படவில்லை.
ரோல்அவுட்டைப் பயன்படுத்தி ஒரு பாட் மறுதொடக்கம்
மேலே விவரிக்கப்பட்ட முறையைப் பயன்படுத்தி ஒரு பாட் மறுதொடக்கம் செய்ய, நீங்கள் ஏற்கனவே உள்ள காய்களை அழித்துவிட்டு புதிய ஒன்றை உருவாக்க வேண்டும் அல்லது பிரதி எண்ணிக்கையை கீழே மற்றும் மேலே அளவிட வேண்டும். குபெர்னெட்டஸ் பதிப்பு 1.15 மூலம், உருளும் பாணியில் வரிசைப்படுத்தலை மறுதொடக்கம் செய்யலாம். இது ஒரு பாட் மறுதொடக்கம் செய்வதற்கான பரிந்துரைக்கப்பட்ட செயல்முறையாகும். தொடங்குவதற்கு பின்வரும் கட்டளையை உள்ளிடவும்:
இப்போது, வேறொரு முனையத்தில் வரிசைப்படுத்தல் நிலையை நீங்கள் கண்காணித்தால், பின்வரும் நிகழ்வுகளின் ஓட்டத்தை நீங்கள் கவனிப்பீர்கள்:
அது ஆரோக்கியமாக இருந்தால், அது வரிசைப்படுத்துதலின் முந்தைய பிரதியைக் குறைத்து, காய்களின் புதிய பிரதியை உருவாக்கும். இந்த அணுகுமுறையைத் தவிர, விளைவு ஒன்றுதான், குபெர்னெட்டஸால் அடிப்படை இசைக்குழு கையாளப்பட்டது.
வெவ்வேறு வழிகளில் குபெர்னெட்டஸ் காய்களை எவ்வாறு மறுதொடக்கம் செய்யலாம்?
முதலில் டாக்கர் கொள்கலனுடன் தொடங்குவோம். பின்வரும் கட்டளையுடன், டோக்கர் கொள்கலன்களை மறுதொடக்கம் செய்யலாம்:
> டோக்கர் மறுதொடக்கம் container_id
ஆனால் குபெர்னெட்டஸில், காய்களை மறுதொடக்கம் செய்ய ஒப்பிடக்கூடிய கட்டளை எதுவும் இல்லை, குறிப்பாக குறிப்பிட்ட YAML கோப்பு இல்லை என்றால். மாற்றாக, நீங்கள் kubectl கட்டளைகளைப் பயன்படுத்தி Kubernetes காய்களை மறுதொடக்கம் செய்யலாம். பின்வரும் கட்டளைகள் பட்டியலிடப்பட்டுள்ளன:
குபெக்ட்ல் செட் என்வி கட்டளை
kubectl அளவிலான கட்டளையைப் பயன்படுத்துவது ஒரு முறை. இது மறுதொடக்கம் செய்யப்பட வேண்டிய பாட்டின் பிரதிகளின் எண்ணிக்கையை மாற்றியமைக்கும். பாட்டில் உள்ள பிரதிகளை இரண்டாக எவ்வாறு அமைப்பது என்பதற்கான எடுத்துக்காட்டு கட்டளை கீழே உள்ளது:
> kubectl அளவிலான வரிசைப்படுத்தல் முதல்-வரிசைப்படுத்தல் --பிரதிகள் = 2
ரோல்அவுட் மறுதொடக்கம் கட்டளை
குபெர்னெட்ஸ் காய்களை மறுதொடக்கம் செய்ய ரோல்அவுட் மறுதொடக்கம் கட்டளையை எவ்வாறு பயன்படுத்துவது என்பதை இங்கே காண்பிப்போம்:
> kubectl ரோல்அவுட் மறுதொடக்கம் வரிசைப்படுத்தல் முதல்-வரிசைப்படுத்தல் -என் டெமோ-பெயர்வெளி
கட்டளை மூலம் ஒவ்வொரு காய்களையும் தனித்தனியாக அழிக்குமாறு கட்டுப்படுத்தி கூறுகிறது. இது ரெப்லிகாசெட்டைப் பயன்படுத்தி புதிய காய்களை அளவிடுகிறது. கன்ட்ரோலர் மீண்டும் தொடங்கும் போது, ஒவ்வொரு புதிய பாட் ஒவ்வொரு தற்போதைய பாட் விட சமீபத்தியது வரை, இந்த செயல்முறை தொடர்கிறது.
நீக்கு பாட் கட்டளை
குபெர்னெட்டஸ் காய்களை மறுதொடக்கம் செய்ய நீக்கு கட்டளையை எவ்வாறு பயன்படுத்துவது என்பது பற்றி இந்த பகுதி செல்லும். இந்தப் படத்தில் உள்ள பாட் ஏபிஐ பொருளை அகற்ற அடுத்த கட்டளையைப் பயன்படுத்தியதை நீங்கள் கவனிக்கலாம்:
. > kubectl நீக்கு பாட் முதல்-பாட் -என் டெமோ_பெயர்வெளி
குபெர்னெட்டஸ் ஏபிஐ பிரகடனமாக இருப்பதால் பாட் பொருளை நீக்குவதன் மூலம் எதிர்பார்க்கப்படும் ஒன்று முரண்படுகிறது. எதிர்பார்க்கப்பட்ட ஒன்றோடு இணக்கமாக இருக்க, நெற்று மீண்டும் உருவாக்கப்படுகிறது.
முந்தைய கட்டளையைப் பயன்படுத்தி ஒரு நேரத்தில் ஒரு பாட் மறுதொடக்கம் செய்யப்படலாம். பல காய்களை மறுதொடக்கம் செய்ய இணைக்கப்பட்ட கட்டளையைப் பார்க்கவும்:
> kubectl replicaset pods-multiple-n demo_namespace ஐ நீக்கவும்
மேற்கூறிய கட்டளையானது காய்களின் முழு பிரதிசெட்டையும் நீக்கி, பின்னர் புதிதாக உருவாக்குவதன் மூலம் ஒவ்வொரு பாடையும் மறுதொடக்கம் செய்கிறது.
முடிவுரை
இந்த இடுகை பல்வேறு Kubernetes மறுதொடக்கம் கொள்கைகள் பற்றிய தகவலை வழங்கியது. மாதிரி எடுத்துக்காட்டுகளின் உதவியுடன் ஒவ்வொரு கட்டத்தையும் விளக்கினோம். மேலும், இந்த கட்டளைகளை முயற்சிக்கவும், அவை என்ன வெளியீட்டை உருவாக்குகின்றன என்பதைப் பார்க்கவும்.