प्रोहोस्टर > ब्लॉग > प्रशासन > Kubernetes में DNS के साथ समस्याएँ। सार्वजनिक पोस्टमॉर्टम
Kubernetes में DNS के साथ समस्याएँ। सार्वजनिक पोस्टमॉर्टम
टिप्पणी अनुवाद: यह कंपनी के इंजीनियरिंग ब्लॉग से एक सार्वजनिक पोस्टमॉर्टम का अनुवाद है पूर्ववर्ती. यह कुबेरनेट्स क्लस्टर में कॉनट्रैक के साथ एक समस्या का वर्णन करता है, जिसके कारण कुछ उत्पादन सेवाओं का आंशिक डाउनटाइम हुआ।
यह लेख उन लोगों के लिए उपयोगी हो सकता है जो पोस्टमॉर्टम के बारे में कुछ और जानना चाहते हैं या भविष्य में कुछ संभावित DNS समस्याओं को रोकना चाहते हैं।
यह डीएनएस नहीं है
यह डीएनएस नहीं हो सकता
यह डीएनएस था
प्रीप्लाई में पोस्टमॉर्टम और प्रक्रियाओं के बारे में थोड़ा
पोस्टमॉर्टम उत्पादन में किसी खराबी या किसी घटना का वर्णन करता है। पोस्टमॉर्टम में घटनाओं की समय-सीमा, उपयोगकर्ता प्रभाव, मूल कारण, की गई कार्रवाई और सीखे गए सबक शामिल हैं।
पिज़्ज़ा के साथ साप्ताहिक बैठकों में, तकनीकी टीम के बीच, हम विभिन्न जानकारी साझा करते हैं। ऐसी बैठकों का सबसे महत्वपूर्ण हिस्सा पोस्टमार्टम होता है, जिसमें अक्सर स्लाइड के साथ एक प्रस्तुति और घटना का अधिक गहन विश्लेषण होता है। भले ही हम पोस्टमार्टम के बाद ताली नहीं बजाते, हम "कोई दोष नहीं" की संस्कृति विकसित करने का प्रयास करते हैं (निर्दोष संस्कृति). हमारा मानना है कि पोस्टमॉर्टम लिखने और प्रस्तुत करने से हमें (और दूसरों को) भविष्य में इसी तरह की घटनाओं को रोकने में मदद मिल सकती है, यही कारण है कि हम उन्हें साझा कर रहे हैं।
किसी घटना में शामिल व्यक्तियों को यह महसूस होना चाहिए कि वे सजा या प्रतिशोध के डर के बिना विस्तार से बोल सकते हैं। कोई दोष नहीं! पोस्टमॉर्टम लिखना कोई सज़ा नहीं है, बल्कि पूरी कंपनी के लिए सीखने का अवसर है।
संक्षेप में: Kubernetes क्लस्टर में कुछ सेवाओं के लिए आंशिक DNS अनुपलब्धता (26 मिनट)।
प्रभाव: सेवाओं ए, बी और सी के लिए 15000 इवेंट खो गए
मूल कारण: क्यूब-प्रॉक्सी कॉनट्रैक तालिका से पुरानी प्रविष्टि को सही ढंग से हटाने में असमर्थ था, इसलिए कुछ सेवाएँ अभी भी गैर-मौजूद पॉड्स से कनेक्ट करने का प्रयास कर रही थीं
चालू कर देना: कुबेरनेट्स क्लस्टर के अंदर कम लोड के कारण, CoreDNS-ऑटोस्केलर ने तैनाती में पॉड्स की संख्या तीन से घटाकर दो कर दी
समाधान: एप्लिकेशन की अगली तैनाती ने नए नोड्स के निर्माण की शुरुआत की, CoreDNS-ऑटोस्केलर ने क्लस्टर की सेवा के लिए और अधिक पॉड्स जोड़े, जिससे कॉनट्रैक तालिका को फिर से लिखना पड़ा।
जांच: प्रोमेथियस मॉनिटरिंग ने सेवाओं ए, बी और सी के लिए बड़ी संख्या में 5xx त्रुटियों का पता लगाया और ऑन-ड्यूटी इंजीनियरों को कॉल शुरू की।
किबाना में 5xx त्रुटियाँ
कार्रवाई
कार्य
टाइप
जिम्मेदार
कार्य
CoreDNS के लिए ऑटोस्केलर अक्षम करें
रोका
आमेट यू.
डेवोप्स-695
एक कैशिंग DNS सर्वर सेट करें
घटाना
मैक्स वी.
डेवोप्स-665
सीपीयू उपयोग को कम करने के लिए, लिनक्स कर्नेल कॉनट्रैक नामक कुछ का उपयोग करता है। संक्षेप में, यह एक उपयोगिता है जिसमें NAT रिकॉर्ड की एक सूची होती है जो एक विशेष तालिका में संग्रहीत होती है। जब अगला पैकेट उसी पॉड से पहले की तरह उसी पॉड में आता है, तो अंतिम आईपी पता पुनर्गणना नहीं किया जाएगा, बल्कि कॉनट्रैक तालिका से लिया जाएगा।
कॉनट्रैक कैसे काम करता है
परिणाम
यह कुछ उपयोगी लिंक के साथ हमारे पोस्टमॉर्टम में से एक का एक उदाहरण था। विशेष रूप से इस लेख में, हम ऐसी जानकारी साझा करते हैं जो अन्य कंपनियों के लिए उपयोगी हो सकती है। इसीलिए हम गलतियाँ करने से नहीं डरते और इसीलिए हम अपने एक पोस्टमॉर्टम को सार्वजनिक करते हैं। यहां कुछ और दिलचस्प सार्वजनिक पोस्टमॉर्टम हैं: