क्या होता है जब कुबेरनेट कंटेनर को पुनरारंभ करता है या क्लस्टर को स्केल किया जाता है?
हम कुबेरनेट क्लस्टर में आवेदन की तैनाती के लिए हेल्म चार्ट का उपयोग कर रहे हैं ।
हमारे पास एक स्टेटफुलसेट और हेडलेस सर्विस है। MTLS को इनिशियलाइज़ करने के लिए, हमने एक 'जॉब' टाइप बनाया है और 'कमांड' में हम शेल पास कर रहे हैं और पाइथन स्क्रिप्ट एक तर्क है। और प्रमाण पत्र के अद्यतन के लिए एक 'क्रोनजोब' प्रकार बनाया।
हमने कुछ इनिशियलाइज़ेशन कार्य के लिए 'docker इमेज' के अंदर 'docker-entrypoint.sh' लिखा है और TLS सर्टिफिकेट तैयार किया है।
पूछे जाने वाले प्रश्न :
- कौन (हेल्म चार्ट / कुबेरनेट्स) कंटेनरों को स्केल करने / निगरानी / पुनः आरंभ करने का ध्यान रखता है?
- यदि पॉड फेल / रीस्टार्ट होता है तो क्या यह नई डॉकटर छवि को तैनात करता है?
- कंटेनर विफल होने / पुनरारंभ होने के बाद क्या ENTRYPOINT निष्पादित होगा ?
- क्या कंटेनर को फिर से शुरू करने पर 'कार्य' और 'क्रोनजोब' निष्पादित होता है?
कुबेरनेट्स द्वारा अन्य कदम क्या उठाए गए हैं? क्या आप कंटेनर अंतर्दृष्टि भी साझा करेंगे?
जवाब
कुबेरनेट्स और हेल्म नहीं एक विफल कंटेनर को डिफ़ॉल्ट रूप से पुनरारंभ करेगा जब तक कि आप restartPolicy: Never
पोड कल्पना में सेट न करें
कंटेनर को फिर से शुरू करना पहली बार शुरू करने के समान है। इसलिए पुनः आरंभ में आप चीजों को उसी तरह से होने की उम्मीद कर सकते हैं जैसे कि पहली बार कंटेनर शुरू करते समय।
आंतरिक रूप से प्रत्येक कुबेरनेट नोड में चलने वाला क्यूबलेट एजेंट एक कंटेनर को ओसीआई शिकायत कंटेनर रनटाइम जैसे डॉकटर, कंटेनरड आदि को शुरू करने का कार्य दर्शाता है , जो तब नोड पर एक कंटेनर के रूप में डॉक छवि को स्पिन करता है।
मुझे उम्मीद है कि एक कंटेनर के पुनः आरंभ दोनों में एंट्रीपॉइंट स्क्रिप्ट को निष्पादित किया जाएगा।
यदि पॉड फेल / रीस्टार्ट होता है तो क्या यह नई डॉकटर छवि को तैनात करता है?
यह फली कल्पना में निर्दिष्ट छवि के साथ एक नया कंटेनर बनाता है।
क्या कंटेनर को फिर से शुरू करने पर 'कार्य' और 'क्रोनजोब' निष्पादित होता है?
यदि एक कंटेनर जो क्रोनजॉब का हिस्सा है, विफल रहता है, तो कुबेरनेट्स फिर से चालू रहेंगे (जब तक restartPolicy: Never
कि पॉड स्पेक में) कंटेनर को समय की नौकरी के रूप में विफल नहीं माना जाता है। क्रोनजब बनाने के तरीके के लिए इसे चेक करें विफलता पर कंटेनर को पुनरारंभ न करें। backoffLimit
नौकरी के विफल होने से पहले आप कितनी बार रिटायर होंगे, इसे नियंत्रित करने के लिए निर्दिष्ट कर सकते हैं ।
स्केलिंग शेड्यूलिंग के बराबर है और एक ही कंटेनर का एक और उदाहरण एक ही या पूरी तरह से अलग कुबेरनेट्स नोड पर शुरू करना है।
साइड नोट के रूप में आपको फली के बजाय तैनाती जैसे उच्च स्तर के अमूर्त का उपयोग करना चाहिए क्योंकि जब एक फली विफल हो जाती है तो कुबेरनेट्स उसी नोड पर इसे पुनः आरंभ करने की कोशिश करते हैं लेकिन जब एक तैनाती विफल हो जाती है तो कुबेरनेट्स इसे अन्य नोड्स में भी पुनरारंभ करने का प्रयास करेंगे यदि यह करने में सक्षम नहीं है पॉड को चालू शेड्यूल किए गए नोड पर शुरू करें।