liveness probe फेल होने पर kubelet container को restart कर देता है, तो यह उस प्रोसेस के लिए है जो अटक गया है और खुद उबर नहीं सकता। readiness probe फेल होने पर pod Service endpoints से हट जाता है और उसे ट्रैफिक मिलना बंद हो जाता है, लेकिन वह चलता रहता है। धीरे बूट होने वाले ऐप्स के लिए startup probes होते हैं ताकि लंबा startup liveness न गिरा दे। liveness को खुद प्रोसेस की जांच करनी चाहिए, उसकी dependencies की नहीं।
इंटरव्यूअर यह क्यों पूछते हैं
यह छोटा सा सवाल है जो असली तजुर्बा भरोसे से उजागर कर देता है। जिसने भी Kubernetes को दबाव में चलाया है, उसने देखा है कि deep health check से जुड़ी liveness probe किसी dependency की ज़रा सी लड़खड़ाहट पर पूरा deployment गिरा देती है। इंटरव्यूअर वही फर्क चाहता है, साथ में startup probes की जानकारी, और यह समझ कि readiness rolling updates तथा graceful shutdown से कैसे जुड़ती है।
अपना जवाब कैसे स्ट्रक्चर करें
- एक लाइन का फर्क दें: restart बनाम ट्रैफिक से हटाना।
- समझाएं कि हर probe को असल में क्या जांचना चाहिए।
- dependency देखने वाली liveness probe की क्लासिक नाकामी बताएं।
- startup probes और rolling updates से जुड़ाव जोड़ें।
उदाहरण जवाब
readiness इस सवाल का जवाब देती है कि क्या यह pod अभी ट्रैफिक ले सकता है, और liveness इसका कि क्या यह प्रोसेस अब बचने लायक नहीं रहा। readiness फेल हो तो endpoints controller pod को Service से हटा देता है, ट्रैफिक रुक जाता है, और pod चलता रहता है ताकि उबर सके। liveness फेल हो तो kubelet container को मारकर दोबारा चालू करता है। जो गलती मैं सबसे ज़्यादा देखता हूं वह ऐसा liveness endpoint है जो डेटाबेस और cache दोनों जांचता है। फिर डेटाबेस तीस सेकंड लड़खड़ाता है, हर replica एक साथ liveness फेल करता है, पूरा deployment restart हो जाता है, और अब असली समस्या के ऊपर ठंडा cache और thundering herd भी मिल जाता है। इसलिए liveness सिर्फ यह जांचती है कि प्रोसेस जवाब दे रहा है, और dependency की जांच readiness में होनी चाहिए, क्योंकि कुछ देर ट्रैफिक खो देना संभल जाता है। जिस सर्विस को गर्म होने में नब्बे सेकंड लगते हैं, उसके लिए मैं उदार failure threshold वाला startup probe जोड़ता हूं ताकि जब तक वह ऊपर न आ जाए liveness शुरू ही न हो। readiness rolling updates भी चलाती है, तो मैं ध्यान रखता हूं कि shutdown की शुरुआत में ही वह not ready हो जाए, प्रोसेस के connections लेना बंद करने से पहले।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- readiness probes graceful shutdown और preStop hooks के साथ कैसे जुड़ती हैं?
- rolling update के दौरान readiness कभी पास ही न हो तो क्या होता है?
- लंबी initial delay की जगह startup probe कब इस्तेमाल करेंगे?
DevOps इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें