साइट रिलायबिलिटी इंजीनियर इंटरव्यू सवाल

liveness probe और readiness probe में क्या फर्क है, और लोग इनमें गलती कैसे करते हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

readiness probe तय करता है कि pod को ट्रैफिक मिलेगा या नहीं; liveness probe तय करता है कि kubelet कंटेनर को रीस्टार्ट करेगा या नहीं। क्लासिक गलती है liveness को किसी downstream डिपेंडेंसी पर टिका देना, जिससे एक धीमा डेटाबेस हर pod को लूप में रीस्टार्ट करा देता है और आंशिक आउटेज को पूरा आउटेज बना देता है। liveness को सिर्फ यह जांचना चाहिए कि प्रोसेस जिंदा है और deadlock में नहीं है। धीरे बूट होने वाली एप्लिकेशन के लिए startup probe इस्तेमाल करें।

इंटरव्यूअर यह क्यों पूछते हैं

यह Kubernetes के सबसे कीमती सवालों में से है, क्योंकि गलत कॉन्फिगरेशन खुद आउटेज पैदा करती है और उसका फेल होने का तरीका उल्टा लगता है। इंटरव्यूअर सुनना चाहते हैं कि आप liveness को न सुधरने वाली हालत के लिए आखिरी उपाय मानते हैं, कि डिपेंडेंसी की जांच की सही जगह readiness है, और कि probe के timeout और threshold असली startup व्यवहार के हिसाब से होने चाहिए।

अपना जवाब कैसे स्ट्रक्चर करें

  • मशीनी फर्क बताएं: ट्रैफिक भेजना बनाम कंटेनर रीस्टार्ट।
  • डिपेंडेंसी जांचने वाले anti pattern और उसके असर के दायरे का नाम लें।
  • बताएं कि liveness को असल में क्या जांचना चाहिए।
  • धीरे शुरू होने वाले ऐप के लिए startup probe और समझदार threshold जोड़ें।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

readiness तय करता है कि pod सर्विस endpoints में है या नहीं, liveness तय करता है कि kubelet कंटेनर को मारकर दोबारा चलाएगा या नहीं। जो नाकामी मैंने सच में देखी है वह एक टीम की थी जिसने liveness endpoint से डेटाबेस जंचवाया। डेटाबेस धीमा हुआ, लगभग एक ही वक्त हर pod का liveness फेल हुआ, पूरा deployment रीस्टार्ट लूप में चला गया, और अब खराब हालत में पढ़ने की जगह हमारे पास कुछ भी नहीं बचा, ऊपर से वापस आते वक्त ठंडे कनेक्शन की भगदड़। liveness लगभग उबाऊ होना चाहिए: क्या प्रोसेस एक मामूली handler सर्व कर सकती है, क्या event loop अटका तो नहीं है। डिपेंडेंसी से जुड़ी हर बात readiness में जानी चाहिए, क्योंकि किसी pod को रोटेशन से हटाना पलटा जा सकता है और सस्ता है। दूसरी चीज जो मैं हमेशा जांचता हूं वह है समय। अगर ऐप को कैश गरम करने में 45 सेकंड लगते हैं, तो या तो startup probe इस्तेमाल करें या initialDelaySeconds और failureThreshold उसी हिसाब से रखें, वरना आपने ऐसी मशीन बना दी है जो कभी बूट पूरा कर ही नहीं सकती।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • जब readiness probe फेल होने लगता है तो चालू रिक्वेस्ट का क्या होता है?
  • 90 सेकंड में गरम होने वाले ऐप के लिए आप probes कैसे सेट करेंगे?
  • liveness का जानबूझकर फेल होना कब सही होता है?

साइट रिलायबिलिटी इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं