पिछले सप्ताह (11 दिसंबर) OpenAI के ChatGPT और Sora जैसी सेवाओं में 4 घंटे 10 मिनट की लंबी आउटेज हुई, जिससे कई उपयोगकर्ता प्रभावित हुए। अब, OpenAI ने आधिकारिक रूप से ChatGPT आउटेज की विस्तृत रिपोर्ट जारी की है।

image.png

सरल शब्दों में कहें तो इस बार की समस्या का मूल कारण एक छोटा सा परिवर्तन था, जिसने गंभीर परिणाम पैदा किए। इंजीनियर महत्वपूर्ण समय पर नियंत्रण क्षेत्र से बाहर लॉक हो गए, जिससे समस्या का समय पर समाधान नहीं किया जा सका। इस आउटेज के लिए, OpenAI के इंजीनियरों ने समस्या का पता लगाने के बाद कई सुधार कार्य शुरू किए, जिसमें क्लस्टर का आकार घटाना, Kubernetes प्रबंधन API के नेटवर्क पहुंच को रोकना और Kubernetes API सर्वर के संसाधनों को बढ़ाना शामिल है। कई प्रयासों के बाद, इंजीनियरों ने अंततः Kubernetes नियंत्रण क्षेत्र के कुछ हिस्सों तक पहुंच बहाल की और ट्रैफ़िक को स्वस्थ क्लस्टरों में स्थानांतरित करने के उपाय किए, जिसके परिणामस्वरूप प्रणाली की पूर्ण पुनर्प्राप्ति हुई।

यह घटना प्रशांत मानक समय के अनुसार दोपहर 3:12 बजे हुई, जब इंजीनियरों ने Kubernetes (K8S) नियंत्रण क्षेत्र के मेट्रिक्स को इकट्ठा करने के लिए एक नई टेलीमेट्री सेवा तैनात की। हालाँकि, इस सेवा की कॉन्फ़िगरेशन अनजाने में बहुत व्यापक हो गई, जिसके परिणामस्वरूप प्रत्येक क्लस्टर के प्रत्येक नोड ने एक साथ संसाधन-गहन K8S API ऑपरेशन किए। इस स्थिति ने तेजी से API सर्वर के क्रैश का कारण बना, जिससे अधिकांश क्लस्टरों के K8S डेटा क्षेत्र ने सेवा क्षमता खो दी।

यह ध्यान देने योग्य है कि जबकि K8S डेटा क्षेत्र सिद्धांत रूप में नियंत्रण क्षेत्र से स्वतंत्र रूप से चल सकता है, DNS की कार्यक्षमता नियंत्रण क्षेत्र पर निर्भर करती है, जिससे सेवाओं के बीच आपसी संपर्क असंभव हो जाता है। जब API ऑपरेशनों का ओवरलोड होता है, तो सेवा खोज तंत्र प्रभावित होता है, जिससे पूरी सेवा ठप हो जाती है। हालाँकि समस्या 3 मिनट के भीतर पहचान ली गई, लेकिन इंजीनियरों को नियंत्रण क्षेत्र तक पहुंच नहीं मिल पाई, जिससे एक "मृत चक्र" स्थिति उत्पन्न हुई। नियंत्रण क्षेत्र के क्रैश ने उन्हें समस्याग्रस्त सेवाओं को हटाने से रोक दिया, जिससे पुनर्प्राप्ति असंभव हो गई।

OpenAI के इंजीनियर तुरंत क्लस्टर को पुनर्प्राप्त करने के विभिन्न तरीकों की खोज करने लगे। उन्होंने K8S API लोड को कम करने के लिए क्लस्टर के आकार को घटाने और K8S API के प्रबंधन तक पहुंच को रोकने का प्रयास किया, ताकि सर्वर सामान्य रूप से कार्य कर सके। इसके अलावा, उन्होंने K8S API सर्वर के संसाधन कॉन्फ़िगरेशन को बढ़ाया ताकि अनुरोधों को बेहतर तरीके से संभाला जा सके। कई प्रयासों के बाद, इंजीनियरों ने अंततः K8S नियंत्रण क्षेत्र पर नियंत्रण फिर से प्राप्त कर लिया, जिससे वे दोषपूर्ण सेवाओं को हटा सके और धीरे-धीरे क्लस्टर को पुनर्प्राप्त कर सके।

इस दौरान, इंजीनियरों ने अन्य क्लस्टरों के लोड को कम करने के लिए ट्रैफ़िक को पुनर्प्राप्त या नए स्वस्थ क्लस्टरों में स्थानांतरित किया। हालाँकि, कई सेवाओं ने एक साथ पुनर्प्राप्त करने का प्रयास किया, जिससे संसाधनों की सीमाएँ भर गईं और पुनर्प्राप्ति प्रक्रिया को अतिरिक्त मैनुअल हस्तक्षेप की आवश्यकता पड़ी, जिससे कुछ क्लस्टरों को पुनर्प्राप्त करने में अधिक समय लगा। इस घटना के माध्यम से, OpenAI भविष्य में समान स्थितियों का सामना करते समय "दरवाजा बंद" होने से बचने के लिए अनुभव को संक्षेपित करने की उम्मीद करता है।

रिपोर्ट विवरण: https://status.openai.com/incidents/ctrsv3lwd797

मुख्य बिंदु:  

🔧 आउटेज का कारण: छोटे टेलीमेट्री सेवा परिवर्तन ने K8S API ऑपरेशनों का ओवरलोड किया, जिससे सेवा ठप हो गई।  

🚪 इंजीनियरों की दुविधा: नियंत्रण क्षेत्र के क्रैश ने इंजीनियरों को पहुँच से वंचित कर दिया, जिससे समस्या का समाधान नहीं हो सका।  

⏳ पुनर्प्राप्ति प्रक्रिया: क्लस्टर के आकार को घटाने और संसाधनों को बढ़ाने जैसे उपायों के माध्यम से, अंततः सेवा को पुनर्प्राप्त किया गया।