कुबेरनेट्स संसाधन सीमा निर्धारित करें

Kuberanetsa Sansadhana Sima Nirdharita Karem



संसाधन सीमाएँ कुबेरनेट्स कंटेनर ऑर्केस्ट्रेशन का एक महत्वपूर्ण हिस्सा हैं क्योंकि वे सुनिश्चित करते हैं कि कंटेनर बहुत अधिक संसाधनों का उपभोग नहीं करते हैं या संसाधन समाप्त होने के कारण अनुत्तरदायी हो जाते हैं। यह लेख कुबेरनेट्स कंटेनर संसाधन सीमा को उनके लाभों को अधिकतम करने और अपने अनुप्रयोगों से अधिकतम लाभ प्राप्त करने के तरीके के बारे में एक गाइड प्रदान करता है। बस कुछ सरल चरणों के साथ अपने कंटेनर संसाधनों को जल्दी और आसानी से कॉन्फ़िगर और प्रबंधित करना सीखें ताकि आप सुनिश्चित हो सकें कि आपकी सभी सेवाएं सुचारू रूप से चल रही हैं।

कुबेरनेट्स में कंटेनर संसाधन सीमा निर्धारित करें

कंटेनर संसाधन सीमाएँ कुबेरनेट्स का एक अनिवार्य तत्व हैं, जो उपयोगकर्ताओं को उन संसाधनों की संख्या का प्रबंधन करने की अनुमति देती हैं जिनका एक कंटेनर उपभोग कर सकता है। ओवरलोडिंग से बचने और एप्लिकेशन के प्रदर्शन की गारंटी देने के लिए, यह उत्पादन के संदर्भ में विशेष रूप से महत्वपूर्ण है। कंटेनर संसाधन सीमा निर्धारित करने के लिए यहां कुछ पेशेवर सुझाव दिए गए हैं:







अपने कंटेनरों के लिए आवश्यक संसाधनों का निर्धारण करके प्रारंभ करें। अपने सिस्टम के उपयोग का विश्लेषण करें और निर्धारित करें कि किन कंटेनरों में उनकी मेमोरी और CPU सीमा समायोजित होनी चाहिए। संसाधन सीमा निर्धारित करते समय अंतर्निहित नोड्स पर विचार करना भी महत्वपूर्ण है - यदि आप सीमा के बहुत अधिक या बहुत कम सेट करते हैं, तो नोड क्रैश किए बिना अन्य एप्लिकेशन चलाने में सक्षम नहीं हो सकता है। अगला, तय करें कि आप किस प्रकार की सीमा का उपयोग करना चाहते हैं - बर्स्टेबल या नॉन-बर्स्टेबल। अब, कुबेरनेट्स कंटेनर संसाधन सीमा निर्धारित करने के लिए आवश्यक चरणों को देखते हैं जिनका पालन आप कर सकते हैं। चरणों की ओर बढ़ने से पहले, कुछ आवश्यक शर्तें हैं:



आवश्यक शर्तें

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



कुबेरनेट्स संसाधन सीमा कैसे निर्धारित करें

कुबेरनेट्स कंटेनर संसाधन सीमा निर्धारित करना आपके कुबेरनेट्स समूहों के प्रबंधन और रखरखाव का एक महत्वपूर्ण हिस्सा है। उचित संसाधन सीमा होने से यह सुनिश्चित होता है कि प्रत्येक कंटेनर अन्य कंटेनरों या पूरे क्लस्टर के प्रदर्शन से समझौता किए बिना इष्टतम रूप से चलता है। यह संसाधन अनुरोधों और CPU, स्मृति, अल्पकालिक भंडारण, और अधिक के लिए सीमा निर्धारित करके किया जा सकता है। कुबेरनेट्स कंटेनर संसाधन सीमा को ठीक से सेट करने का तरीका यहां बताया गया है।





चरण 1: मिनिक्यूब शुरू करें

मिनीक्यूब क्लस्टर सक्रिय अवस्था में होना चाहिए ताकि आप इसमें अपने एप्लिकेशन या कमांड चला सकें। यह सुनिश्चित करने के लिए कि यह ऊपर है और ठीक से चल रहा है, निम्न दिए गए आदेश का उपयोग करें:



> मिनिक्यूब शुरू करें

चरण 2: मेट्रिक्स सर्वर को सक्षम करें

इस चरण में, हम उस आदेश को साझा करते हैं जो आपको मीट्रिक सर्वर को सक्षम करने देता है। कमांड निम्नलिखित में दी गई है:

> minikube addons सक्षम करना मेट्रिक्स-सर्वर

चरण 3: जांचें कि मेट्रिक्स सर्वर सक्रिय है या नहीं

मेट्रिक्स-सर्वर सक्रिय है या नहीं, यह जांचने के लिए निम्न कमांड टाइप करें:

> कुबेक्टल को एपीआई सेवाएं मिलती हैं

जैसा कि पिछली छवि में देखा गया है, संसाधन मेट्रिक्स एपीआई पहुंच योग्य होने की स्थिति में इसमें मेट्रिक्स.k8s.io का संदर्भ होता है।

चरण 4: एक नाम स्थान बनाएँ

संसाधनों को रखने के लिए, आप इस अभ्यास के लिए एक नामस्थान बनाते हैं जो आपके बाकी क्लस्टर से अलग होता है। अब हम प्रदर्शित करते हैं कि नाम स्थान कैसे बनाया जाता है। निष्पादित करने वाली कमांड निम्नानुसार दी गई है:

> kubectl नेमस्पेस ABC बनाएँ

चरण 5: एक कॉन्फ़िगरेशन फ़ाइल बनाएँ

YAML कॉन्फ़िगरेशन फ़ाइल जिसे हम कंटेनर में पॉड बनाने के लिए उपयोग करते हैं, इस चरण में बनाई गई है। इसे पूरा करने के लिए उपयोग की जाने वाली कमांड यहां दी गई है:

> नैनो reqlimit.yaml

यहां, आपको CPU सीमा के साथ CPU अनुरोध शामिल करना होगा। संसाधनों को शामिल करें: सीपीयू सीमा को परिभाषित करने की सीमाएं। इस मामले में, एक एकल कंटेनर वाला एक पॉड बनाया जाता है। कंटेनर में 0.5 CPU अनुरोध सीमा और 1 CPU अधिकतम है। पॉड की कॉन्फ़िगरेशन फ़ाइल यहां उपलब्ध है। जैसा कि आप देख सकते हैं, कॉन्फ़िगरेशन फ़ाइल के args सेक्शन में तर्क होते हैं जो कंटेनर प्रारंभ होने पर उपयोग करता है। कंटेनर को -cpus '2' पैरामीटर के माध्यम से 2 CPU का उपयोग करने का प्रयास करने का निर्देश दिया गया है।

कुबेरनेट्स में परिनियोजन और पॉड जैसे संसाधन बनाते समय, आवश्यक संसाधनों की न्यूनतम संख्या (अनुरोध) और प्रत्येक पॉड या परिनियोजन के लिए अनुमत संसाधनों की अधिकतम संख्या (सीमा) निर्दिष्ट करना महत्वपूर्ण है। यह किसी एक पॉड को बहुत सारे संसाधनों का उपभोग करने से रोकता है, जिससे अन्य सक्रिय पॉड्स को प्रदर्शन में कमी का सामना करना पड़ सकता है या क्लस्टर पर उपलब्ध संसाधनों की कमी के कारण क्रैश भी हो सकता है।

चरण 6: एक पॉड बनाएँ

अब, हम आपको निम्न कमांड के साथ पॉड बनाने का तरीका बताते हैं:

> kubectl create -एफ reqlimit.yaml

पिछले दिए गए आउटपुट से, आप देख सकते हैं कि 'सीपीयू-डेमो' नाम का पॉड बनाया गया है।

चरण 7: पॉड को सत्यापित करें

इस चरण में, हम जाँचते हैं कि निर्मित पॉड सक्रिय है या नहीं, निम्न कमांड के साथ:

> कुबेक्टल को पॉड सीपीयू-डेमो मिलता है --नेमस्पेस = एबीसी

चरण 8: पॉड विवरण देखें

अब, यदि आप पॉड के बारे में विस्तृत जानकारी देखना चाहते हैं, तो यहां वह आदेश दिया गया है जिसे निष्पादित किया जाना चाहिए:

> कुबेक्टल को पॉड सीपीयू-डेमो मिलता है --उत्पादन = यमल --नेमस्पेस = एबीसी

चरण 9: पॉड को हटाएं

यहां, हम दिखाएंगे कि संसाधनों को साफ करने के लिए पॉड को कैसे हटाया जाए। इस उद्देश्य के लिए उपयोग की जाने वाली कमांड इस प्रकार है:

> kubectl पॉड सीपीयू-डेमो हटाएं --नेमस्पेस = एबीसी

चरण 10: एक कॉन्फ़िगरेशन फ़ाइल बनाएँ

इस चरण में, हम एक कॉन्फ़िगरेशन फ़ाइल बनाते हैं। यह फ़ाइल एक CPU अनुरोध निर्दिष्ट करती है जो आपके नोड्स के लिए काफी बड़ा है।

> नैनो reqlimit2

एकल कंटेनर वाली कॉन्फ़िगरेशन फ़ाइल यहां पाई जा सकती है। कंटेनर 100 सीपीयू मांगता है जो किसी भी नोड से अधिक है जो आपका क्लस्टर उचित रूप से प्रदान कर सकता है।

चरण 11: क्रे एक ते फली

इस चरण में, हम निम्नलिखित कमांड के साथ पॉड बनाते हैं:

> kubectl create -एफ reqlimit2.yaml

चरण 12: पॉड स्थिति देखें

अब, आप सेंट देख सकते हैं एक फली का tus यहाँ संलग्न आदेश के साथ:

आउटपुट दिखाता है कि पॉड की स्थिति लंबित है।

चरण 13: पॉड सूचना देखें

अब, हम यहां दी गई कमांड के साथ पॉड के बारे में विस्तृत जानकारी देख सकते हैं, जिसमें इवेंट भी शामिल हैं:

इवेंट सेक्शन में जाएं और देखें कि कंटेनर शेड्यूल किया गया है या नहीं।

यदि इसे शेड्यूल नहीं किया जा सकता है और इसका कारण अपर्याप्त CPU संसाधन हैं, तो आप नोड को हटा सकते हैं। नोड को कैसे हटाएं अगले चरण में बताया गया है।

कदम 14: नोड को हटाएं

आप निम्न कमांड से नोड को हटा सकते हैं:

> कुबेक्टल पॉड सीपीयू-डेमो हटाएं- 2 --नेमस्पेस = एबीसी

प्रदर्शन पर कंटेनर संसाधन सीमाओं का प्रभाव क्या है?

कुबेरनेट्स कंटेनर प्रौद्योगिकी की बढ़ती लोकप्रियता के साथ, यह समझना महत्वपूर्ण है कि संसाधनों की सीमा प्रदर्शन को कैसे प्रभावित कर सकती है। कुबेरनेट्स कंटेनर के अंदर संसाधन सीमा निर्धारित करने से आपको यह सुनिश्चित करने में मदद मिल सकती है कि आपके एप्लिकेशन अपने इष्टतम स्तर पर चल रहे हैं और वे होस्ट सर्वर से बहुत अधिक संसाधनों का उपभोग नहीं कर रहे हैं। संसाधनों को सीमित करके, आप व्यर्थ अनावश्यक प्रक्रियाओं से बच सकते हैं, उपयोग के कारण सिस्टम क्रैश को रोकने में मदद कर सकते हैं और अपने कंटेनरों के प्रदर्शन को अनुकूलित कर सकते हैं।

इन संसाधन सीमाओं को कुबेरनेट्स कंटेनर में सेट करने के लिए, आपको cgroups (नियंत्रण समूह) नामक एक उपकरण का उपयोग करना चाहिए। Cgroups प्रशासकों को अलग-अलग कंटेनरों के लिए CPU चक्र या मेमोरी उपयोग जैसे संसाधनों को सीमित करने की अनुमति देता है। आप प्रति कंटेनर अधिकतम फ़ाइल आकार या नेटवर्क बैंडविड्थ उपयोग जैसे अन्य पैरामीटर भी सेट कर सकते हैं।

निष्कर्ष

कुबेरनेट्स कंटेनर संसाधन सीमा निर्धारित करना आपके क्लाउड कंप्यूटिंग वातावरण के प्रबंधन का एक महत्वपूर्ण हिस्सा है। उचित कॉन्फ़िगरेशन के साथ, आप यह सुनिश्चित कर सकते हैं कि प्रत्येक कंटेनर के पास आवश्यक संसाधनों तक पहुंच हो, लेकिन इतना नहीं कि यह अन्य कंटेनर या सिस्टम को प्रभावित करे। यह कंप्यूटिंग संसाधनों के अधिक कुशल और लागत प्रभावी उपयोग की अनुमति देता है। इसके अतिरिक्त, एक कंटेनर कितनी मेमोरी या सीपीयू का उपभोग कर सकता है, इसे सीमित करके, आप भगोड़ा प्रक्रियाओं या उपयोग में अप्रत्याशित स्पाइक्स के कारण आउटेज को होने से रोक सकते हैं।