diff --git a/config.toml b/config.toml index d67b448b951..c054c779905 100644 --- a/config.toml +++ b/config.toml @@ -30,8 +30,7 @@ pygmentsStyle = "emacs" enableGitInfo = true # Norwegian ("no") is sometimes but not currently used for testing. -# Hindi is disabled because it's currently in development. -disableLanguages = ["hi", "no"] +disableLanguages = ["no"] [caches] [caches.assets] @@ -445,15 +444,16 @@ language_alternatives = ["en"] [languages.hi] title = "Kubernetes" -description = "Production-Grade Container Orchestration" -languageName = "हिन्दी (Hindi)" +description = "प्रोडक्शन-ग्रेड कंटेनर ऑर्केस्ट्रेशन" +languageName = "हिन्दी (Hindi)" languageNameLatinScript = "Hindi" weight = 12 contentDir = "content/hi" languagedirection = "ltr" [languages.hi.params] -time_format_blog = "01.02.2006" +time_format_blog = "02.01.2006" +# A list of language codes to look for untranslated content, ordered from left to right. language_alternatives = ["en"] [languages.vi] diff --git a/content/hi/_index.html b/content/hi/_index.html new file mode 100644 index 00000000000..640f3f104b7 --- /dev/null +++ b/content/hi/_index.html @@ -0,0 +1,61 @@ +--- +title: "प्रोडक्शन-ग्रेड कंटेनर ऑर्केस्ट्रेशन" +abstract: "स्वचालित कंटेनर डिप्लॉयमेंट, स्केलिंग और प्रबंधन" +cid: home +sitemap: + priority: 1.0 +--- + +{{< blocks/section id="oceanNodes" >}} +{{% blocks/feature image="flower" %}} +[कुबेरनेट्स]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}), जो K8s के रूप में भी जाना जाता है, कंटेनरीकृत एप्लीकेशन के डिप्लॉयमेंट, स्केलिंग और प्रबंधन को स्वचालित करने के लिए एक ओपन-सोर्स सिस्टम है। + +यह आसान प्रबंधन और खोज के लिए लॉजिकल इकाइयों में एक एप्लीकेशन बनाने वाले कंटेनरों को समूहित करता है। कुबेरनेट्स [Google में उत्पादन कार्यभार चलाने के 15 वर्षों के अनुभव](http://queue.acm.org/detail.cfm?id=2898444) पर निर्माणित है, जो समुदाय के सर्वोत्तम-नस्लीय विचारों और प्रथाओं के साथ संयुक्त है। +{{% /blocks/feature %}} + +{{% blocks/feature image="scalable" %}} +#### वैश्विक स्केल क्षमता + +उन्हीं सिद्धांतों पर डिज़ाइन किया गया है जो Google को एक सप्ताह में अरबों कंटेनर चलाने की अनुमति देता है, कुबेरनेट्स आपकी ऑप्स टीम को बढ़ाए बिना स्केल कर सकता है। + +{{% /blocks/feature %}} + +{{% blocks/feature image="blocks" %}} +#### आवश्यकता अनुसार विकसित होना + +चाहे स्थानीय स्तर पर परीक्षण हो या वैश्विक उद्यम चलाना, कुबेरनेट्स आपके एप्लीकेशन को लगातार और आसानी से वितरित करने के लिए बढ़ता है, चाहे आपकी आवश्यकता कितनी भी जटिल क्यों न हो। + +{{% /blocks/feature %}} + +{{% blocks/feature image="suitcase" %}} +#### K8s कहीं भी चलाएँ + +कुबेरनेट्स ओपन सोर्स है जो आपको ऑन-प्रिमाइसेस, हाइब्रिड या पब्लिक क्लाउड इन्फ्रास्ट्रक्चर का लाभ उठाने की स्वतंत्रता देता है, जिससे आप आसानी से वर्कलोड को उस स्थान पर ले जा सकते हैं जहां यह आपके लिए मायने रखता है। + +{{% /blocks/feature %}} + +{{< /blocks/section >}} + +{{< blocks/section id="video" background-image="kub_video_banner_homepage" >}} +
+

150+ माइक्रोसर्विसेज को कुबेरनेट्स में माइग्रेट करने की चुनौतियाँ

+

Sarah Wells द्वारा, Technical Director for Operations and Reliability, Financial Times

+ +
+
+ अक्टूबर 11-15, 2021 को KubeCon North America में भाग लें +
+
+
+
+ मई 17-20, 2022 को KubeCon Europe में भाग लें +
+
+ + +
+{{< /blocks/section >}} + +{{< blocks/kubernetes-features >}} + +{{< blocks/case-studies >}} diff --git a/content/hi/case-studies/_index.html b/content/hi/case-studies/_index.html new file mode 100644 index 00000000000..561fd8f3ed0 --- /dev/null +++ b/content/hi/case-studies/_index.html @@ -0,0 +1,9 @@ +--- +title: वैयक्तिक अध्ययन +linkTitle: वैयक्तिक अध्ययन +bigheader: कुबेरनेट्स उपयोगकर्ता वैयक्तिक अध्ययन +abstract: उत्पादन में कुबेरनेट्स उपयोग करने वाले उपयोगकर्ताओं का एक संग्रह। +layout: basic +class: gridPage +cid: caseStudies +--- diff --git a/content/hi/docs/concepts/overview/what-is-kubernetes.md b/content/hi/docs/concepts/overview/what-is-kubernetes.md new file mode 100644 index 00000000000..bb59092d2b3 --- /dev/null +++ b/content/hi/docs/concepts/overview/what-is-kubernetes.md @@ -0,0 +1,95 @@ +--- +title: कुबेरनेट्स क्या है? +description: > + कुबेरनेट्स कंटेनरीकृत वर्कलोड और सेवाओं के प्रबंधन के लिए एक पोर्टेबल, एक्स्टेंसिबल, ओपन-सोर्स प्लेटफॉर्म है, जो घोषणात्मक कॉन्फ़िगरेशन और स्वचालन दोनों की सुविधा प्रदान करता है। इसका एक बड़ा, तेजी से बढ़ता हुआ पारिस्थितिकी तंत्र है। कुबेरनेट्स सेवाएँ, समर्थन और उपकरण व्यापक रूप से उपलब्ध हैं। +content_type: concept +weight: 10 +card: + name: concepts + weight: 10 +sitemap: + priority: 0.9 +--- + + + +यह पृष्ठ कुबेरनेट्स का एक अवलोकन है। + + +कुबेरनेट्स कंटेनरीकृत वर्कलोड और सेवाओं के प्रबंधन के लिए एक पोर्टेबल, एक्स्टेंसिबल, ओपन-सोर्स प्लेटफॉर्म है, जो घोषणात्मक कॉन्फ़िगरेशन और स्वचालन दोनों की सुविधा प्रदान करता है। इसका एक बड़ा, तेजी से बढ़ता हुआ पारिस्थितिकी तंत्र है। कुबेरनेट्स सेवाएँ, समर्थन और उपकरण व्यापक रूप से उपलब्ध हैं। + +कुबेरनेट्स नाम ग्रीक से उत्पन्न हुआ है, जिसका अर्थ है हेल्समैन या पायलट। +K8s एक संक्षिप्त नाम के रूप में "K" और "s" के बीच आठ अक्षरों को गिनने का परिणाम है। Google ने 2014 में कुबेरनेट्स प्रोजेक्ट को ओपन-सोर्स किया। कुबेरनेट्स [गूगल के 15 से अधिक वर्षों के अनुभव](/blog/2015/04/borg-predecessor-to-kubernetes/) को समुदाय से सर्वोत्तम नस्ल के विचारों और प्रथाओं के साथ बड़े पैमाने पर उत्पादन कार्यभार को जोड़ती है। + +## काल में वापस जाना + +आइए काल में वापस जाकर एक नज़र डालते हैं कि कुबेरनेट्स इतना उपयोगी क्यों है। + +![डिप्लॉयमेंट का विकास](/images/docs/Container_Evolution.svg) + +**पारंपरिक डिप्लॉयमेंट युग:** +प्रारंभ में, संगठनों ने भौतिक (physical) सर्वरों पर एप्लिकेशन चलाए। भौतिक (physical) सर्वर में एप्लिकेशनो के लिए संसाधन सीमाओं को परिभाषित करने का कोई तरीका नहीं था, और इससे संसाधन आवंटन समस्याएं उत्पन्न हुईं। उदाहरण के लिए, यदि एक से अधिक एप्लिकेशने एक भौतिक सर्वर पर चलते हैं, तो ऐसे उदाहरण हो सकते हैं जहां एक एप्लिकेशन अधिकांश संसाधनों को ले लेगा, और इसके परिणामस्वरूप, अन्य एप्लिकेशने खराब प्रदर्शन करेंगे। इसका एक समाधान यह होगा कि प्रत्येक एप्लिकेशन को एक अलग भौतिक सर्वर पर चलाया जाए। लेकिन यह पैमाना नहीं था क्योंकि संसाधनों का कम उपयोग किया गया था, और संगठनों के लिए कई भौतिक सर्वरों को बनाए रखना महंगा था। + +**वर्चुअलाइज्ड डिप्लॉयमेंट युग:** एक समाधान के रूप में, वर्चुअलाइजेशन पेश किया गया था। यह आपको एक भौतिक सर्वर के सीपीयू (CPU) पर कई वर्चुअल मशीन (वीएम) चलाने की अनुमति देता है। वर्चुअलाइजेशन एप्लिकेशनो को वीएम (VM) के बीच अलग-थलग करने की अनुमति देता है और सुरक्षा का एक स्तर प्रदान करता है क्योंकि एक एप्लिकेशन की जानकारी को दूसरे एप्लिकेशन द्वारा स्वतंत्र रूप से एक्सेस नहीं किया जा सकता है। + +वर्चुअलाइजेशन एक भौतिक सर्वर में संसाधनों के बेहतर उपयोग की अनुमति देता है और बेहतर मापनीयता की अनुमति देता है क्योंकि एक एप्लिकेशन को आसानी से जोड़ा या अपडेट किया जा सकता है, हार्डवेयर लागत को कम करता है, और बहुत कुछ। वर्चुअलाइजेशन के साथ आप भौतिक संसाधनों का एक सेट डिस्पोजेबल वर्चुअल मशीनों के समूह के रूप में प्रस्तुत कर सकते हैं। + +प्रत्येक वीएम वर्चुअलाइज्ड हार्डवेयर के शीर्ष पर अपने स्वयं के ऑपरेटिंग सिस्टम सहित सभी घटकों को चलाने वाली एक पूर्ण मशीन है। + +**कंटेनर डिप्लॉयमेंट युग:** कंटेनर VMs के समान होते हैं, लेकिन उनके पास एप्लिकेशनो के बीच ऑपरेटिंग सिस्टम (OS) को साझा करने के लिए अलगाव गुण होते हैं। इसलिए, कंटेनरों को हल्का माना जाता है। वीएम (VM) के समान, एक कंटेनर का अपना फाइल सिस्टम, सीपीयू का हिस्सा, मेमोरी, प्रोसेस स्पेस और बहुत कुछ होता है। चूंकि वे अंतर्निहित बुनियादी ढांचे से अलग हो गए हैं, वे बादलों और ओएस (OS) वितरण में पोर्टेबल हैं। + +कंटेनर लोकप्रिय हो गए हैं क्योंकि वे अतिरिक्त लाभ प्रदान करते हैं, जैसे: + +* अजाइल (Agile) एप्लिकेशन निर्माण और डिप्लॉयमेंट: VM इमेज उपयोग की तुलना में कंटेनर इमेज निर्माण की आसानी और दक्षता में वृद्धि हुई है। +* निरंतर विकास, एकीकरण और डिप्लॉयमेंट: विश्वसनीय और लगातार कंटेनर इमेज निर्माण और त्वरित और कुशल रोलबैक के साथ तैनाती (इमेज अपरिवर्तनीयता के कारण) प्रदान करता है। +* डेव (Dev) और ऑप्स (Ops) चिंताओं का पृथक्करण: डिप्लॉयमेंट समय के बजाय बिल्ड/रिलीज़ समय पर एप्लिकेशन कंटेनर इमेजेस (images) बनाएं, जिससे बुनियादी ढांचे से एप्लिकेशनो को अलग किया जा सके। +* अवलोकन: न केवल ओएस-स्तर की जानकारी और मेट्रिक्स को सतह पर रखता है, बल्कि एप्लिकेशन स्वास्थ्य और अन्य संकेतों को भी लागू करता है। +* विकास, परीक्षण और उत्पादन में पर्यावरणीय स्थिरता: लैपटॉप पर वैसे ही चलता है जैसे क्लाउड में चलता है। +* क्लाउड और ओएस (OS) वितरण पोर्टेबिलिटी: उबंटू, RHEL, coreOS, ऑन-प्रिमाइसेस, प्रमुख सार्वजनिक क्लाउड पर और कहीं भी चलता है। +* एप्लिकेशन-केंद्रित प्रबंधन: वर्चुअल हार्डवेयर पर OS चलाने से लेकर तार्किक संसाधनों का उपयोग करके OS पर एप्लिकेशन चलाने तक अमूर्तता के स्तर को बढ़ाता है । +* शिथिल युग्मित, वितरित, लोचदार, मुक्त सूक्ष्म सेवाएँ: एप्लिकेशन को छोटे, स्वतंत्र टुकड़ों में तोड़ा जाता है और उन्हें गतिशील रूप से तैनात और प्रबंधित किया जा सकता है - एक बड़ी एकल-उद्देश्य वाली मशीन पर चलने वाला एक मोनोलिथिक स्टैक नहीं। +* संसाधन अलगाव: अनुमानित एप्लिकेशन प्रदर्शन। +* संसाधन उपयोग: उच्च दक्षता और घनत्व। + +## आपको कुबेरनेट्स की आवश्यकता क्यों है और यह क्या कर सकता है {#why-you-need-kubernetes-and-what-can-it-do} + +कंटेनर आपके एप्लिकेशनो को बंडल करने और चलाने का एक अच्छा तरीका है। उत्पादन के माहौल में, आप को उन कंटेनरों को प्रबंधित करने की आवश्यकता होती है जो एप्लिकेशने चलाते हैं और सुनिश्चित करते हैं कि कोई डाउनटाइम नहीं है। उदाहरण के लिए, यदि एक कंटेनर बंद हो जाता है, तो दूसरे कंटेनर को शुरू करने की आवश्यकता होती है। क्या यह आसान नहीं होगा यदि इस व्यवहार को एक प्रणाली द्वारा नियंत्रित किया जा सके ? + +इस तरह कुबेरनेट्स बचाव के लिए आता है! कुबेरनेट्स आपको वितरित सिस्टम को लचीलेपन से चलाने के लिए एक ढांचा प्रदान करता है। यह आपके एप्लिकेशन के लिए स्केलिंग और फेलओवर का ख्याल रखता है, डिप्लॉयमेंट पैटर्न प्रदान करता है, और भी बहुत कुछ। उदाहरण के लिए, कुबेरनेट्स आपके सिस्टम के लिए कैनरी डिप्लॉयमेंट को आसानी से प्रबंधित कर सकता है। + +## कुबेरनेट्स आपको प्रदान करता है: + +* **सेवा की खोज और लोड संतुलन** +कुबेरनेट्स DNS नाम का उपयोग करके या अपने स्वयं के आईपी (IP) पते का उपयोग करके एक कंटेनर को उजागर कर सकता हैं। यदि एक कंटेनर में ट्रैफ़िक अधिक है, तो कुबेरनेट्स लोड बैलेंस करने और नेटवर्क ट्रैफ़िक को वितरित करने में सक्षम है ताकि डिप्लॉयमेंट स्थिर हो। +* **स्टोरेज ऑर्केस्ट्रेशन** +कुबेरनेट्स आपको अपनी पसंद के स्टोरेज सिस्टम को स्वचालित रूप से माउंट करने की अनुमति देता है, जैसे कि स्थानीय स्टोरेज, पब्लिक क्लाउड प्रोवाइडर, और बहुत कुछ। +* **स्वचालित रोलआउट और रोलबैक** +आप कुबेरनेट्स का उपयोग करके अपने तैनात कंटेनरों के लिए वांछित स्थिति का वर्णन कर सकते हैं, और यह वास्तविक स्थिति को नियंत्रित दर पर वांछित स्थिति में बदल सकता है। उदाहरण के लिए, आप अपने डिप्लॉयमेंट के लिए नए कंटेनर बनाने के लिए कुबेरनेट्स को स्वचालित कर सकते हैं, मौजूदा कंटेनरों को हटा सकते हैं और उनके सभी संसाधनों को नए कंटेनर में अपना सकते हैं। +* **स्वचालित बिन पैकिंग ** +आप कुबेरनेट्स को नोड्स के एक समूह के साथ प्रदान करते हैं जिसका उपयोग वह कंटेनरीकृत कार्यों को चलाने के लिए कर सकता है। आप कुबेरनेट्स को बताते हैं कि प्रत्येक कंटेनर को कितना सीपीयू और मेमोरी (रैम) चाहिए। कुबेरनेट्स आपके संसाधनों का सर्वोत्तम उपयोग करने के लिए कंटेनरों को आपके नोड्स में फिट कर सकता है। +* **सेल्फ-हीलिंग** +कुबेरनेट्स विफल कंटेनरों को फिर से शुरू करता है, कंटेनरों को बदल देता है, उन कंटेनरों को नष्ट कर देता है जो आपकी उपयोगकर्ता-परिभाषित स्वास्थ्य जांच का जवाब नहीं देते हैं, और जब तक वे सेवा के लिए तैयार नहीं होते हैं, तब तक ग्राहकों को उनका विज्ञापन नहीं करते हैं। +* **सीक्रेट और कॉन्फ़िगरेशन प्रबंधन** +कुबेरनेट्स आपको पासवर्ड, OAuth टोकन और SSH कुंजियों जैसी संवेदनशील जानकारी को संग्रहीत और प्रबंधित करने देता है। आप अपनी कंटेनर इमेजेस (images) के पुनर्निर्माण के बिना, और अपने स्टैक कॉन्फ़िगरेशन में रहस्यों को उजागर किए बिना रहस्यों और एप्लिकेशन कॉन्फ़िगरेशन को तैनात और अपडेट कर सकते हैं। + +## कुबेरनेट्स क्या नहीं है : + +कुबेरनेट्स एक पारंपरिक, सर्व-समावेशी PaaS (एक सेवा के रूप में प्लेटफ़ॉर्म) प्रणाली नहीं है। चूंकि कुबेरनेट्स हार्डवेयर स्तर के बजाय कंटेनर स्तर पर काम करता है, यह कुछ सामान्य रूप से लागू सुविधाओं को प्रदान करता है, जैसे कि तैनाती, स्केलिंग, लोड बैलेंसिंग, और उपयोगकर्ताओं को उनके लॉगिंग, निगरानी और अलर्ट समाधान को एकीकृत करने देता है। हालाँकि, कुबेरनेट्स मोनोलिथिक नहीं है, और ये डिफ़ॉल्ट समाधान वैकल्पिक और प्लग करने योग्य हैं। कुबेरनेट्स डेवलपर प्लेटफॉर्म के निर्माण के लिए बिल्डिंग ब्लॉक्स प्रदान करता है, लेकिन जहां यह महत्वपूर्ण है वहां उपयोगकर्ता की पसंद और लचीलेपन को बरकरार रखता है। + +कुबेरनेट्स: + +* समर्थित एप्लिकेशनो के प्रकारों को सीमित नहीं करता है। कुबेरनेट्स का उद्देश्य स्टेटलेस, स्टेटफुल और डेटा-प्रोसेसिंग वर्कलोड सहित अत्यंत विविध प्रकार के वर्कलोड का समर्थन करना है। यदि कोई एप्लिकेशन कंटेनर में चल सकता है, तो उसे कुबेरनेट्स पर बहुत अच्छा चलना चाहिए। +* स्रोत कोड डेप्लॉय नहीं करता है और आपके एप्लिकेशन का निर्माण नहीं करता है। कंटीन्यूअस इंटीग्रेशन, डिलीवरी और डिप्लॉयमेंट(CI/CD) कार्यप्रवाह संगठन संस्कृतियों और प्राथमिकताओं के साथ-साथ तकनीकी आवश्यकताओं द्वारा निर्धारित किए जाते हैं। +* एप्लिकेशन-स्तरीय सेवाएं प्रदान नहीं करता है, जैसे कि मिडलवेयर (उदाहरण के लिए, message buses), डेटा-प्रोसेसिंग फ्रेमवर्क (उदाहरण के लिए, spark), डेटाबेस (उदाहरण के लिए, MySQL), कैश, और न ही क्लस्टर स्टोरेज सिस्टम (उदाहरण के लिए, Ceph) अंतर्निहित सेवाओं के रूप में। ऐसे घटक कुबेरनेट्स पर चल सकते हैं, और/या [ओपन सर्विस ब्रोकर](https://openservicebrokerapi.org/) जैसे पोर्टेबल तंत्र के माध्यम से कुबेरनेट्स पर चल रहे एप्लिकेशनो द्वारा एक्सेस किए जा सकते हैं। +* लॉगिंग, मॉनिटरिंग या अलर्टिंग सॉल्यूशंस को निर्देशित नहीं करता है। यह अवधारणा के प्रमाण के रूप में कुछ एकीकरण प्रदान करता है, और मेट्रिक्स एकत्र करने और निर्यात करने के लिए तंत्र प्रदान करता है। +* कॉन्फ़िगरेशन भाषा/सिस्टम (उदाहरण के लिए, Jsonnet) प्रदान नहीं करता है और न ही अनिवार्य करता है। यह एक घोषणात्मक API प्रदान करता है जिसे घोषणात्मक विनिर्देशों के मनमाने रूपों द्वारा लक्षित किया जा सकता है। +* कोई व्यापक मशीन कॉन्फ़िगरेशन, रखरखाव, प्रबंधन, या स्वयं-उपचार प्रणाली प्रदान नहीं करता है और न ही अपनाता है। +* इसके अतिरिक्त, कुबेरनेट्स केवल एक ऑर्केस्ट्रेशन प्रणाली नहीं है। वास्तव में, यह ऑर्केस्ट्रेशन की आवश्यकता को समाप्त करता है। ऑर्केस्ट्रेशन की तकनीकी परिभाषा एक परिभाषित वर्कफ़्लो का निष्पादन है: पहले ए (A) करें, फिर बी (B), फिर सी (C)। इसके विपरीत, कुबेरनेट्स में स्वतंत्र, कंपोज़ेबल नियंत्रण प्रक्रियाओं का एक सेट शामिल है जो वर्तमान स्थिति को प्रदान की गई वांछित स्थिति की ओर लगातार चलता है। इससे कोई फर्क नहीं पड़ता कि आप ए से सी कैसे प्राप्त करते हैं। केंद्रीकृत नियंत्रण की भी आवश्यकता नहीं है। इसका परिणाम एक ऐसी प्रणाली में होता है जो उपयोग में आसान और अधिक शक्तिशाली, मजबूत, लचीला और एक्स्टेंसिबल है। + + + +## {{% heading "whatsnext" %}} + +* [कुबेरनेट्स के घटक ](/docs/concepts/overview/components/)पर एक नज़र डालें । +* क्या आप [शुरू करने के लिए तैयार हैं](/docs/setup/)? + diff --git a/content/hi/docs/contribute/_index.md b/content/hi/docs/contribute/_index.md new file mode 100644 index 00000000000..dc652738acc --- /dev/null +++ b/content/hi/docs/contribute/_index.md @@ -0,0 +1,182 @@ +--- +content_type: सिद्धांत +title: कुबेरनेटेस डॉक्स में योगदान दे +linktitle: योगदान +main_menu: true +no_list: true +weight: 80 +card: + name: योगदान + weight: 10 + title: कुबेरनेटेस मे योगदान देना शुरू करे +--- + + + +*कुबेरनेटस सभी योगदानकर्ताओ से सुधार का स्वागत करता है चाहे वो नए हो या अनुभवी!* + +{{< note >}} +कुबेरनेटस मे योगदान करने के बारे मे अधिक जानकारी के लिए +[योगदानकर्ता प्रलेखन](https://www.kubernetes.dev/docs/) देखें। +{{< /note >}} + +इस वेबसाइट की देख रेख [कुबेरनेटस SIG Docs](/docs/contribute/#get-involved-with-sig-docs) द्वारा की जाती है। + +कुबेरनेटस प्रलेखन योगदानकर्ता : + +- मौजूदा विषयों को सुधारते हैं +- नए विषय बनाते हैं +- प्रलेखन का अनुवाद करते हैं +- कुबेरनेटस रिलीज चक्र मे प्रलेखन की देख रेख और प्रकाशन करते हैं + + + + + +## शुरू करना + +कोई भी प्रलेखन के बारे मे इशू खोल सकता है या कुबेरनेटस वेबसाइट +[`kubernetes/website` GitHub रिपॉजिटरी](https://github.com/kubernetes/website) +मे बदलाव पुल अनुरोध (PR) द्वारा कर सकता है। +आपको [Git](https://git-scm.com/) और +[Github](https://lab.github.com/) +की जानकारी होनी चाहिए ताकि आप कुबेरनेटेस समुदाय मे प्रभावी रूप से काम कर सकें। + +प्रलेखन मे सहयोग करने के लिए: + +1. [योगदानकर्ता समझौता लाइसेन्स](https://github.com/kubernetes/community/blob/master/CLA.md) पर हस्ताक्षर करें। +2. [प्रलेखन रिपॉजिटरी](https://github.com/kubernetes/website) + और वेबसाइट की [स्टैटिक साइट जनरेटर](https://gohugo.io) से खुद को परिचित करें। +3. सुनिश्चित करें की आपको + [पुल अनुरोध करना](/docs/contribute/new-content/open-a-pr/) और + [बदलाओ की समीक्षा](/docs/contribute/review/reviewing-prs/) करना आता हो। + + + + +{{< mermaid >}} +flowchart TB +subgraph third[PR ओपन करे] +direction TB +U[ ] -.- +Q[विषय सुधारे] --- N[विषय निर्माण करे] +N --- O[डॉक्स का अनुवाद करे] +O --- P[K8s रिलीज़ चक्र के प्रलेखन
को संचालित /प्रकाशित करें] + +end + +subgraph second[समीक्षा] +direction TB + T[ ] -.- + D[K8s/website
रिपॉजिटरी
को देखें] --- E[Hugo स्टैटिक साइट
जनरेटर
को देखें] + E --- F[मूलभूत GitHub
कमांड समझें] + F --- G[ओपन PR की समीक्षा करे
और समीक्षा प्रक्रिया
को बदलें] +end + +subgraph first[साइनअप] + direction TB + S[ ] -.- + B[CNCF
योगदानकर्ता
लइसेंस समझौता
पर हस्ताक्षर करें] --- C[sig-docs स्लैक चैनल
में जुड़ें] + C --- V[kubernetes-sig-docs
मेलिंग लिस्ट में जुड़ें] + V --- M[साप्ताहिक
sig-docs कॉल
या स्लैक बैठक में शामिल हों] +end + +A([fa:fa-user नए
योगदानकर्ता]) --> first +A --> second +A --> third +A --> H[सवाल पूछे!!!] + + +classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; +classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold +classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 +class A,B,C,D,E,F,G,H,M,Q,N,O,P,V grey +class S,T,U spacewhite +class first,second,third white +{{}} +***आकृति - नए योगदानकर्ताओं के लिए योगदान शुरू करने का रास्ता*** + +ऊपर दी गई आकृति नए योगदानकर्ता के लिए दिशानिर्देश हैं। `Sign up` या `review` के लिए आप इनमे से कुछ या सभी निर्देशों का पालन कर सकते हैं। अब आप PR ओपन करने के लिए तैयार हैं जो आपके योगदान के उद्देश को पूरा करे जो `Open PR` खंड मे सूचीबद्ध हैं। आपके सभी प्रश्नों का सदैव स्वागत है। + +कुबेरनेटस समुदाय मे कुछ कार्यों के लिए अधिक विश्वास और अभिगम की आवश्यकता होती है। +भूमिका और अनुमति के बारे मे ज्यादा जानकारी के लिए +[SIG Docs मे भाग लेना](/docs/contribute/participate/) को देखें। + +## आपका पहला योगदान + +आप अपने पहले योगदान की तैयारी के लिए दिए गए दिशानिर्देश को देख सकते हैं। नीचे दिया हुआ चित्र दिशानिर्देश और उसकी विस्तार मे जानकारी देता है। + + + + +{{< mermaid >}} +flowchart LR + subgraph second[पहला योगदान] + direction TB + S[ ] -.- + G[दूसरे K8s मेम्बर्स के
PRs की समीक्षा करें] --> + A[अपने पहले इशू (गुफ फर्स्ट इशू)
के लिए K8s/website
की इशू सूची पर जाएं] --> B[PR ओपन करें!!] + end + subgraph first[सूचित तैयारी] + direction TB + T[ ] -.- + D[योगदान अवलोकन को पढे] -->E[K8s विषय
और विषय गाइड को पढ़ें] + E --> F[Hugo पेज
विषय के प्रकार
और shortcodes के बारे मे जाने] + end + + + first ----> second + + +classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; +classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold +classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 +class A,B,D,E,F,G grey +class S,T spacewhite +class first,second white +{{}} +**आकृति - आपके पहले योगदान की तैयारी** + +- योगदान करने के विभिन्न तरीकों को जानने के लिए [योगदानकर्ता अवलोकन](/docs/contribute/new-content/overview/) को पढ़ें। +- अच्छे प्रवेश बिन्दु के लिए [`kubernetes/website` इशू सूची](https://github.com/kubernetes/website/issues/) + को जाचें। +- मौजूदा प्रलेखन पर [Github का प्रयोग करते हुए पुल अनुरोध करॆ](/docs/contribute/new-content/open-a-pr/#changes-using-github) + और इशू दाखिल करने के बारे मे अधिक जानें। +- भाषा और सटीकता के लिए अन्य कुबेरनेटस समुदाय के सदस्यों के + [पुल अनुरोध की समीक्षा करें](/docs/contribute/review/reviewing-prs/)। +- कुबेरनेटस [प्रकरण ](/docs/contribute/style/content-guide/) और + [स्टाइल मार्गदर्शक](/docs/contribute/style/style-guide/) को पढ़ें ताकि आप सूचित टिप्पणी दे सकें। +- [पेज प्रलेखन टाइप](/docs/contribute/style/page-content-types/) + और [Hugo shortcodes](/docs/contribute/style/hugo-shortcodes/) के बारे मे जानें। + +## अगले कदम + +- रिपॉजिटरी के [लोकल क्लोन से काम करना](/docs/contribute/new-content/open-a-pr/#fork-the-repo) + सीखें। +- [रिलीज़ में फीचर्स का](/docs/contribute/new-content/new-features/) आलेख करे। +- [SIG Docs](/docs/contribute/participate/) मे भाग लें और + [सदस्य या समीक्षक](/docs/contribute/participate/roles-and-responsibilities/) बनें। + +- [स्थानीयकरण](/docs/contribute/localization/) शुरू करे या उसमे सहायता करें। + +## सिग डॉक्स मे शामिल हो + +[SIG Docs](/docs/contribute/participate/) योगदानकर्ताओ का एक समूह है +जो कुबेरनेटेस प्रलेखन और वेबसाईट की देख रेख और उसे प्रकाशित करता है। +SIG Docs मे शामिल होना कुबेरनेटस योगदानकर्ताओ (फीचर विकास या उससे अन्यथा) के लिए +कुबेरनेटस परियोजना पर प्रभाव डालने का बेहतरीन तरीका है। + +SIG Docs भिन्न प्रकार से संवाद करते हैं: + +- [कुबेरनेटेस Slack चैनल मे #sig-docs से जुड़ें](https://slack.k8s.io/) और खुद का परिचय दें! +- [kubernetes-sig-docs मेलिंग लिस्ट मे शामिल हो](https://groups.google.com/forum/#!forum/kubernetes-sig-docs), + वहाँ व्यापक विचार-विमर्श होता है और आधिकारिक फैसले का अभिलेखन किया जाता है। +- [SIG Docs विडिओ बैठक](https://github.com/kubernetes/community/tree/master/sig-docs) मे शामिल हो जो हर दो सप्ताह मे होती है। बैठक की घोषणा हमेशा `#sig-docs` पर की जाती है और [कुबेरनेटेस समुदाय बैठक कैलंडर](https://calendar.google.com/calendar/embed?src=cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com&ctz=America/Los_Angeles) में जोड़ दिया जाता है। आपको [Zoom client](https://zoom.us/download) डाउनलोड करने की जरूरत पड़ेगी या फोन की मदद से भी डायल कर सकते हैं। +- जिन सप्ताह मे Zoom बैठक नहीं हुई हो तब SIG Docs अतुल्यकालिक बैठक को जॉइन करे जो Slack पर होती है। बैठक की घोषणा हमेशा `#sig-docs` पर होती है। बैठक की घोषणा के बाद आप किसी भी सूत्र मे 24 घंटे तक योगदान कर सकते है। + +## योगदान करने के अन्य तरीके + +- [कुबेरनेटस समुदाय साइट](/community/) पर जाए। Twitter या Slack Overflow मैं भाग ले, कुबेरनेटस स्थानीय आयोजन और मिलन के बारे मे जाने । +- कुबेरनेटस फीचर विकास में शामिल होने के लिए [योगदानकर्ता चीटशीट](https://www.kubernetes.dev/docs/contributor-cheatsheet/) पढ़ें। +- [कुबेरनेटस योगदानकर्ता](https://www.kubernetes.dev/) और [अतिरिक्त योगदानकर्ता साधन](https://www.kubernetes.dev/resources/) के बारे मे अधिक जानकारी के लिए योगदानकर्ता साइट पर जाएं। +- [ब्लॉग पोस्ट या केस अध्ययन](/docs/contribute/new-content/blogs-case-studies/) प्रस्तुत करे। diff --git a/content/hi/docs/contribute/analytics.md b/content/hi/docs/contribute/analytics.md new file mode 100644 index 00000000000..ee63d34ce59 --- /dev/null +++ b/content/hi/docs/contribute/analytics.md @@ -0,0 +1,25 @@ +--- +title: साइट विश्लेषिकी देखना +content_type: concept +weight: 100 +card: + name: योगदान + weight: 100 +--- + + + +इस पृष्ठ में Kubernetes.io विश्लेषिकी डैशबोर्ड के बारे में जानकारी है। + + + + +[डैशबोर्ड देखें](https://datastudio.google.com/reporting/fede2672-b2fd-402a-91d2-7473bdb10f04)। + +यह डैशबोर्ड Google Data Studio का उपयोग करके बनाया गया है और Google Analytics का उपयोग करके Kubernetes.io पर एकत्रित जानकारी दिखाता है। + +### डैशबोर्ड का उपयोग करना + +डिफ़ॉल्ट रूप से, डैशबोर्ड पिछले 30 दिनों के सभी एकत्रित विश्लेषण दिखाता है। विभिन्न दिनांक सीमा मे आने वाला डेटा देखने के लिए date selector का उपयोग करें। अन्य फ़िल्टरिंग विकल्प आपको उपयोगकर्ता का स्थान, साइट तक पहुंचने के लिए उपयोग किए जाने वाले उपकरण, उपयोग किए गए दस्तावेज़ों के अनुवाद, और बहुत से चीज़ों का डेटा देखने की अनुमति देते हैं। + + यदि आप इस डैशबोर्ड में कोई समस्या देखते हैं, या किसी सुधार का अनुरोध करना चाहते हैं, तो कृपया [एक इशू बनाएं](https://github.com/kubernetes/website/issues/new/choose)। diff --git a/content/hi/docs/home/_index.md b/content/hi/docs/home/_index.md new file mode 100644 index 00000000000..1978beb04c0 --- /dev/null +++ b/content/hi/docs/home/_index.md @@ -0,0 +1,65 @@ +--- +title: कुबेरनेट्स प्रलेखन +noedit: true +cid: docsHome +layout: docsportal_home +class: gridPage gridPageHome +linkTitle: "होम" +main_menu: true +weight: 10 +hide_feedback: true +menu: + main: + title: "प्रलेखन" + weight: 20 + post: > +

वैचारिक, ट्यूटोरियल और संदर्भ प्रलेखन के साथ कुबेरनेट्स का उपयोग करना सीखें| आप डॉक्स में योगदान करने में मदद भी कर सकते हैं!

+description: > + कुबेरनेट्स कंटेनरीकृत एप्लीकेशन के परिनियोजन, स्केलिंग और प्रबंधन को स्वचालित करने के लिए एक ओपन सोर्स कंटेनर ऑर्केस्ट्रेशन इंजन है| यह ओपन सोर्स प्रोजेक्ट Cloud Native Computing Foundation द्वारा होस्ट किया गया है। +overview: > + कुबेरनेट्स कंटेनरीकृत एप्लीकेशन के डिप्लॉयमेंट, स्केलिंग और प्रबंधन को स्वचालित करने के लिए एक ओपन सोर्स कंटेनर ऑर्केस्ट्रेशन इंजन है। यह ओपन सोर्स प्रोजेक्ट Cloud Native Computing Foundation द्वारा होस्ट किया गया है|(CNCF). +cards: +- name: concepts + title: "मूल बातें समझें" + description: "कुबेरनेट्स और इसकी मूलभूत अवधारणाओं के बारे में जानें।" + button: "अवधारणाओं को जानें" + button_path: "/docs/concepts" +- name: tutorials + title: "कुबेरनेट्स उपयोग करने का प्रयास करें" + description: "कुबेरनेट्स में एप्लिकेशन को डिप्लॉय करने के लिए ट्यूटोरियल का अनुसरण करें।" + button: "ट्यूटोरियल देखें" + button_path: "/hi/docs/tutorials" +- name: setup + title: "एक कुबेरनेट्स क्लस्टर सेटअप करें" + description: "अपने संसाधनों और जरूरतों के आधार पर कुबेरनेट्स को चालू करें।" + button: "कुबेरनेट्स सेटअप करें " + button_path: "/hi/docs/setup" +- name: tasks + title: "कुबेरनेट्स का उपयोग करना सीखें" + description: "चरणों के एक छोटे क्रम का अनुसरण करके सामान्य कार्यों को करें।" + button: "कार्य देखें" + button_path: "/docs/tasks" +- name: training + title: "प्रशिक्षण" + description: "कुबेरनेट्स में प्रमाणित हो कर अपने क्लाउड नेटिव प्रोजेक्ट सफल बनाएं!" + button: "प्रशिक्षण देखें" + button_path: "/training" +- name: reference + title: संदर्भ जानकारी देखें + description: शब्दावली, कमांड लाइन सिंटैक्स, API संसाधनो के प्रकार और टूल सेटअप करने के प्रलेखन। + button: संदर्भ देखें + button_path: /docs/reference +- name: contribute + title: प्रलेखन में योगदान करें + description: कोई भी योगदान दे सकता है, चाहे आप प्रोजेक्ट में नए हैं या आप लंबे समय से हैं। + button: प्रलेखन में योगदान करें + button_path: /docs/contribute +- name: release-notes + title: कुबेरनेट्स रिलीज नोट्स + description: यदि आप कुबेरनेट्स इंस्टॉल कर रहे हैं या नवीनतम संस्करण में अपग्रेड कर रहे हैं, तो वर्तमान रिलीज़ नोट्स देखें। + button: कुबेरनेट्स डाउनलोड करें + button_path: "/docs/setup/release/notes" +- name: about + title: प्रलेखन के बारे में + description: इस वेबसाइट में कुबेरनेट्स के वर्तमान और पिछले 4 संस्करणों के लिए प्रलेखन हैं। +--- diff --git a/content/hi/docs/home/supported-doc-versions.md b/content/hi/docs/home/supported-doc-versions.md new file mode 100644 index 00000000000..8500171bbc4 --- /dev/null +++ b/content/hi/docs/home/supported-doc-versions.md @@ -0,0 +1,11 @@ +--- +title: प्रलेखन के उपलब्ध संस्करण +content_type: custom +layout: supported-versions +card: + name: about + weight: 10 + title: प्रलेखन के उपलब्ध संस्करण +--- + +इस वेबसाइट में कुबेरनेट्स के वर्तमान और चार पिछले संस्करण के प्रलेखन शामिल हैं। diff --git a/content/hi/docs/reference/_index.md b/content/hi/docs/reference/_index.md new file mode 100644 index 00000000000..a3722d20c7b --- /dev/null +++ b/content/hi/docs/reference/_index.md @@ -0,0 +1,86 @@ +--- +title: संदर्भ +linkTitle: "संदर्भ" +main_menu: true +weight: 70 +content_type: concept +no_list: true +--- + + + + +कुबेरनेट्स प्रलेखन के इस खंड में संदर्भ हैं। + + + + + +## API संदर्भ + +* [शब्दकोष](/docs/reference/glossary/) - कुबेरनेट्स शब्दावली की एक व्यापक, मानकीकृत सूची। +* [कुबेरनेट्स API संदर्भ](/docs/reference/kubernetes-api/) +* [कुबेरनेट्स के लिए एक-पृष्ठ API संदर्भ {{< param "version" >}}](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) +* [कुबेरनेट्स API का उपयोग करना](/docs/reference/using-api/) - कुबेरनेट्स के लिए API का अवलोकन। +* [API अभिगम नियंत्रण](/docs/reference/access-authn-authz/) - कुबेरनेट्स API एक्सेस को कैसे नियंत्रित करता है, इस पर विवरण। +* [जाने-माने लेबल, टिप्पणी और दाग](/docs/reference/labels-annotations-taints/) + +## आधिकारिक तौर पर समर्थित ग्राहक पुस्तकालय + +कुबेरनेट्स API को प्रोग्रामिंग भाषा से कॉल करने के लिए, आप उपयोग कर सकते हैं +[client libraries](/docs/reference/using-api/client-libraries/). आधिकारिक तौर पर समर्थित +client libraries: + +- [कुबेरनेट्स Go client library](https://github.com/kubernetes/client-go/) +- [कुबेरनेट्स Python client library](https://github.com/kubernetes-client/python) +- [कुबेरनेट्स Java client library](https://github.com/kubernetes-client/java) +- [कुबेरनेट्स JavaScript client library](https://github.com/kubernetes-client/javascript) +- [कुबेरनेट्स C# client library](https://github.com/kubernetes-client/csharp) +- [कुबेरनेट्स Haskell client library](https://github.com/kubernetes-client/haskell) + +## CLI + +* [kubectl](/docs/reference/kubectl/overview/) - कमांड चलाने और कुबेरनेट्स क्लस्टर के प्रबंधन के लिए मुख्य CLI उपकरण। + * [JSONPath](/docs/reference/kubectl/jsonpath/) - kubectl के साथ प्रयोग करने के लिए +सिन्‌टैक्‍स्‌(वाक्य रचना)मार्गदर्शक [JSONPath expressions](https://goessner.net/articles/JsonPath/) +* [kubeadm](/docs/reference/setup-tools/kubeadm/) - एक सुरक्षित कुबेरनेट्स क्लस्टर का आसानी से प्रावधान करने के लिए CLI टूल। + +## अवयव + +* [kubelet](/docs/reference/command-line-tools-reference/kubelet/) - प्राथमिक प्रतिनिधि(एजेंट) जो प्रत्येक नोड पर चलता है। क्यूबलेट पॉडस्पेक्स का एक सेट लेता है + और यह सुनिश्चित करता है कि वर्णित कंटेनर चल रहे हैं और स्वस्थ हैं। +* [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) - + REST API जो API वस्तु जैसे पॉड्स, सेवाएं, प्रतिकृति नियंत्रक के लिए डेटा को मान्य और कॉन्फ़िगर करता है। +* [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/) - डेमॉन जो कुबेरनेट्स के साथ भेजे गए कोर कंट्रोल लूप्स को एम्बेड करता है। +* [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) - बैक-एंड के एक सेट में साधारण TCP/UDP स्ट्रीम फॉरवर्डिंग (आगे भेजना) या राउंड-रॉबिन TCP/UDP फॉरवर्डिंग कर सकते हैं। +* [kube-scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/) - +अनुसूचक जो उपलब्धता, प्रदर्शन और क्षमता का प्रबंधन करता है। + + * [अनुसूचक नीतियां](/docs/reference/scheduling/policies) + * [अनुसूचक विवरणिका ](/docs/reference/scheduling/config#profiles) + +## कॉन्फिग APIs + +इस खंड में "अप्रकाशित" API के लिए दस्तावेज़ शामिल हैं जिनका उपयोग कुबेरनेट्स घटकों या उपकरणों को कॉन्फ़िगर करने के लिए किया जाता है। इनमें से अधिकांश APIs, RESTful तरीके से API सर्वर द्वारा उजागर नहीं होते हैं हालांकि वे एक उपयोगकर्ता या क्लस्टर के उपयोगकर्ता या प्रबंधक के लिए आवश्यक हैं। + +* [kube-apiserver विन्यास (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/) +* [क्यूबलेट विन्यास (v1beta1)](/docs/reference/config-api/kubelet-config.v1beta1/) +* [kube-scheduler विन्यास (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/) +* [kube-scheduler विन्यास (v1beta2)](/docs/reference/config-api/kube-scheduler-config.v1beta2/) +* [kube-scheduler नीति संदर्भ (v1)](/docs/reference/config-api/kube-scheduler-policy-config.v1/) +* [kube-proxy विन्यास (v1alpha1)](/docs/reference/config-api/kube-proxy-config.v1alpha1/) +* [`audit.k8s.io/v1` API](/docs/reference/config-api/apiserver-audit.v1/) +* [Client प्रमाणीकरण API (v1beta1)](/docs/reference/config-api/client-authentication.v1beta1/) +* [WebhookAdmission विन्यास (v1)](/docs/reference/config-api/apiserver-webhookadmission.v1/) + +## kubeadm के लिए कॉन्फिग API + +* [v1beta2](/docs/reference/config-api/kubeadm-config.v1beta2/) +* [v1beta3](/docs/reference/config-api/kubeadm-config.v1beta3/) + +## डिज़ाइन दस्तावेज़ + +कुबेरनेट्स कार्यक्षमता के लिए डिज़ाइन से संबंधित दस्तावेज़ों का एक संग्रह। अच्छे शुरुआती बिंदु हैं +[कुबेरनेट्स वास्तुकला](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md) और +[कुबेरनेट्स डिज़ाइन अवलोकन](https://git.k8s.io/community/contributors/design-proposals). + diff --git a/content/hi/docs/reference/glossary/cluster-operator.md b/content/hi/docs/reference/glossary/cluster-operator.md new file mode 100644 index 00000000000..0a3921fa248 --- /dev/null +++ b/content/hi/docs/reference/glossary/cluster-operator.md @@ -0,0 +1,22 @@ +--- +title: क्लस्टर ऑपरेटर (Cluster Operator) +id: cluster-operator +date: 2018-04-12 +full_link: +short_description: > + एक व्यक्ति जो क्लस्टर को कॉन्फ़िगर, नियंत्रित और मॉनिटर करता है। + +aka: +tags: + - user-type +--- + +एक व्यक्ति जो क्लस्टर को कॉन्फ़िगर, नियंत्रित और मॉनिटर करता है। + + + +उनकी प्राथमिक जिम्मेदारी एक क्लस्टर को चालू रखना और चलाना है, जिसमें आवधिक रखरखाव गतिविधियां या उन्नयन शामिल हो सकते हैं।
+ +{{< note >}} +क्लस्टर ऑपरेटर [ऑपरेटर पैटर्न](https://www.openshift.com/learn/topics/operators) से भिन्न होते हैं जो कुबेरनेट्स एपीआई का विस्तार करते है। +{{< /note >}} diff --git a/content/hi/docs/reference/glossary/cncf.md b/content/hi/docs/reference/glossary/cncf.md new file mode 100644 index 00000000000..39038736d10 --- /dev/null +++ b/content/hi/docs/reference/glossary/cncf.md @@ -0,0 +1,23 @@ +--- +title: क्लाउड नेटिव कंप्यूटिंग फाउंडेशन (CNCF) +id: cncf +date: 2019-05-26 +full_link: https://cncf.io/ +short_description: > + क्लाउड नेटिव कंप्यूटिंग फाउंडेशन + +aka: +tags: +- community +--- + क्लाउड नेटिव कंप्यूटिंग फाउंडेशन (CNCF) स्थायी पारिस्थितिकी तंत्र का निर्माण करता है और + [परियोजना](https://www.cncf.io/projects/) के आसपास समुदाय को बढ़ावा देता है जो + एक माइक्रोसर्विस आर्किटेक्चर के हिस्से के रूप में कंटेनरों को ओर्केस्ट्रेट करता है। + +कुबेरनेट्स एक CNCF परियोजना है। + + + +CNCF [Linux फाउंडेशन](https://www.linuxfoundation.org/) का एक उप-संस्थान है। +इसका लक्ष्य क्लाउड नेटिव कंप्यूटिंग को सर्वव्यापी बनाना है। + diff --git a/content/hi/docs/reference/glossary/cni.md b/content/hi/docs/reference/glossary/cni.md new file mode 100644 index 00000000000..b36e43dc479 --- /dev/null +++ b/content/hi/docs/reference/glossary/cni.md @@ -0,0 +1,18 @@ +--- +title: कंटेनर नेटवर्क इंटरफ़ेस (CNI) +id: cni +date: 2018-05-25 +full_link: /docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#cni +short_description: > + कंटेनर नेटवर्क इंटरफेस (CNI) प्लगइन्स एक प्रकार का नेटवर्क प्लगइन हैं जो appc/CNI विनिर्देश का पालन करते हैं। + + +aka: +tags: +- networking +--- + कंटेनर नेटवर्क इंटरफ़ेस (CNI) प्लगइन एक प्रकार का नेटवर्क प्लगइन हैं जो appc/CNI विनिर्देश का पालन करते हैं। + + +* कुबेरनेट्स और CNI के बारे में जानकारी के लिए [यह](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#cni) देखें। +* कुबेरनेट्स और CNI के बारे में जानकारी के लिए, ["नेटवर्क प्लगइन्स"](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#cni) देखें। diff --git a/content/hi/docs/reference/glossary/container-runtime-interface.md b/content/hi/docs/reference/glossary/container-runtime-interface.md new file mode 100644 index 00000000000..8fac427014c --- /dev/null +++ b/content/hi/docs/reference/glossary/container-runtime-interface.md @@ -0,0 +1,18 @@ +--- +title: कंटेनर रनटाइम इंटरफ़ेस (Container Runtime Interface) +id: container-runtime-interface +date: 2021-11-24 +full_link: /docs/concepts/architecture/cri +short_description: > + क्यूबलेट और कंटेनर रनटाइम के बीच संचार के लिए मुख्य प्रोटोकॉल। + +aka: +tags: + - cri +--- + +क्यूबलेट और कंटेनर रनटाइम के बीच संचार के लिए मुख्य प्रोटोकॉल। + + + +[क्लस्टर घटक](/docs/concepts/overview/components/#node-components) {{< glossary_tooltip text="क्यूबलेट" term_id="kubelet" >}} और {{< glossary_tooltip text="कंटेनर रनटाइम" term_id="container-runtime" >}} के बीच संचार के लिए कुबेरनेट्स कंटेनर रनटाइम इंटरफेस (सीआरआई) मुख्य [gRPC](https://grpc.io) प्रोटोकॉल को परिभाषित करता है। diff --git a/content/hi/docs/reference/glossary/index.md b/content/hi/docs/reference/glossary/index.md new file mode 100644 index 00000000000..6ef6ba94ad7 --- /dev/null +++ b/content/hi/docs/reference/glossary/index.md @@ -0,0 +1,11 @@ +--- +title: शब्दकोष +layout: glossary +noedit: true +default_active_tag: fundamental +weight: 5 +card: + name: reference + weight: 10 + title: शब्दकोष +--- diff --git a/content/hi/docs/reference/scheduling/_index.md b/content/hi/docs/reference/scheduling/_index.md new file mode 100644 index 00000000000..d67794f8801 --- /dev/null +++ b/content/hi/docs/reference/scheduling/_index.md @@ -0,0 +1,5 @@ +--- +title: शेडुलिंग +weight: 70 +toc-hide: true +--- diff --git a/content/hi/docs/setup/_index.md b/content/hi/docs/setup/_index.md new file mode 100644 index 00000000000..26416b0c680 --- /dev/null +++ b/content/hi/docs/setup/_index.md @@ -0,0 +1,48 @@ +--- +title: शुरू करना +main_menu: true +weight: 20 +content_type: concept +no_list: true +card: + name: setup + weight: 20 + anchors: + - anchor: "#सीखने-का-वातावरण" + title: सीखने का वातावरण + - anchor: "#प्रोडक्शन-वातावरण" + title: प्रोडक्शन वातावरण +--- + + + +यह भाग कुबेरनेट्स को सेटअप करने और चलाने के विभिन्न तरीकों को सूचीबद्ध करता है। जब आप कुबेरनेट्स सेटअप करते हैं, तो इसके आधार पर एक इंस्टॉलेशन प्रकार चुनें: रखरखाव में आसानी, सुरक्षा, नियंत्रण, उपलब्ध संसाधन और क्लस्टर के संचालन और प्रबंधन के लिए आवश्यक विशेषज्ञता। + +कुबेरनेट्स क्लस्टर को स्थानीय मशीन पर, क्लाउड में, या अपने स्वयं के डेटासेंटर में डिप्लॉय करने के लिए आप [कुबेरनेट्स डाउनलोड](/releases/download/) कर सकते हैं। + +यदि आप कुबेरनेट्स क्लस्टर को स्वयं संभालना नहीं चाहते हैं, तो आप एक संचालन सेवा चुन सकते हैं, जैसे ये [प्रमाणित प्लेटफॉर्म](/hi/docs/setup/production-environment/turnkey-solutions/)। +क्लाउड की विस्तृत श्रृंखला और बेयर मेटल वातावरण के लिए अन्य मानकीकृत और कस्टम समाधान भी उपलब्ध हैं। + + + +## सीखने का वातावरण + +यदि आप कुबेरनेट्स सीख रहे हैं, तो कुबेरनेट्स समुदाय द्वारा समर्थित टूल का उपयोग करें, +या स्थानीय मशीन पर कुबेरनेट्स क्लस्टर सेटअप करने के लिए इकोसिस्टम में उपलब्ध टूल का उपयोग करें। +[इंस्टॉल टूल्स](/hi/docs/tasks/tools/) देखें। + +## प्रोडक्शन वातावरण + +[प्रोडक्शन वातावरण](/hi/docs/setup/production-environment/) के लिए समाधान का मूल्यांकन करते समय, विचार करें कि कुबेरनेट्स क्लस्टर के किन पहलुओं (या _abstractions_) का संचालन आप स्वयं प्रबंधित करना चाहते हैं और किसे आप एक प्रदाता को सौंपना पसंद करते हैं। + +स्वयं प्रबंधित कर रहे कुबेरनेट्स क्लस्टर डिप्लॉय करने के लिए [kubeadm](/docs/setup/production-environment/tools/kubeadm/) आधिकारिक टूल है। + +## {{% heading "whatsnext" %}} + +- [कुबेरनेट्स डाउनलोड करें](/releases/download/) +- `kubectl` सहित डाउनलोड और [टूल इंस्टॉल](/hi/docs/tasks/tools/) करें। +- अपने नए क्लस्टर के लिए [कंटेनर रनटाइम](/hi/docs/setup/production-environment/container-runtimes/) चुनें। +- क्लस्टर सेटअप के लिए [सर्वोत्तम प्रक्रियाओं](/hi/docs/setup/best-practices/) के बारे में जानें। + +कुबेरनेट्स के {{< glossary_tooltip term_id="control-plane" text="कण्ट्रोल प्लेन" >}} को Linux पर चलाने के लिए डिज़ाइन किया गया है। अपने क्लस्टर के अंदर आप Linux या अन्य ऑपरेटिंग सिस्टम पर एप्लिकेशन चला सकते हैं, जिसमें windows भी शामिल हैं। +- [windows नोड्स के साथ क्लस्टर सेट अप करना](/hi/docs/setup/production-environment/windows/) सीखें। \ No newline at end of file diff --git a/content/hi/docs/setup/best-practices/_index.md b/content/hi/docs/setup/best-practices/_index.md new file mode 100644 index 00000000000..67a54b6ea05 --- /dev/null +++ b/content/hi/docs/setup/best-practices/_index.md @@ -0,0 +1,4 @@ +--- +title: उत्तम प्रथाएं +weight: 40 +--- diff --git a/content/hi/docs/setup/learning-environment/_index.md b/content/hi/docs/setup/learning-environment/_index.md new file mode 100644 index 00000000000..dc64de53c6b --- /dev/null +++ b/content/hi/docs/setup/learning-environment/_index.md @@ -0,0 +1,14 @@ +--- +title: सीखने का माहौल +weight: 20 +--- + + + diff --git a/content/hi/docs/setup/production-environment/_index.md b/content/hi/docs/setup/production-environment/_index.md new file mode 100644 index 00000000000..af04f81a67e --- /dev/null +++ b/content/hi/docs/setup/production-environment/_index.md @@ -0,0 +1,135 @@ +--- +title: "उत्पादन वातावरण" +description: एक उत्पादन-गुणवत्ता वाला कुबेरनेट्स क्लस्टर बनाएं +weight: 30 +no_list: true +--- + + +उत्पादन-गुणवत्ता वाले कुबेरनेट्स क्लस्टर के लिए योजना और तैयारी की आवश्यकता होती है। +यदि आपका कुबेरनेट्स क्लस्टर महत्वपूर्ण कार्यभार चलाने के लिए है, तो इसे लचीला होने के लिए कॉन्फ़िगर किया जाना चाहिए। +यह पेज उन चरणों के बारे में बताता है जो आप उत्पादन के लिए तैयार क्लस्टर सेटअप करने के लिए, +या उत्पादन के उपयोग के लिए मौजूदा क्लस्टर को अपग्रेड करने के लिए उठा सकते हैं। +यदि आप पहले से ही उत्पादन सेटअप से परिचित हैं और लिंक चाहते हैं, तो +[आगे जाएं](#what-s-next)। + + + +## उत्पादन विचार + +आमतौर पर, उत्पादन कुबेरनेट्स क्लस्टर वातावरण में व्यक्तिगत सीखने, विकास या परीक्षण वातावरण कुबेरनेट्स की तुलना में अधिक आवश्यकताएं होती हैं। एक उत्पादन वातावरण की आवश्यकता ये हो सकती है, जैसे: कई उपयोगकर्ताओं द्वारा सुरक्षित पहुंच, लगातार उपलब्धता, और बदलती मांगों के लिए संसाधनों को अनुकूलित करना। + +जैसा कि आप तय करते हैं कि आप अपने उत्पादन कुबेरनेट्स वातावरण को कहाँ रखना चाहते हैं (परिसर या क्लाउड में) और प्रबंधन की मात्रा जिसे आप दूसरों को देना या सौंपना चाहते हैं, विचार करें कि कुबेरनेट्स क्लस्टर के लिए आपकी आवश्यकताएं निम्नलिखित मुद्दों से कैसे प्रभावित होती हैं: + +- *उपलब्धता*: सिंगल-मशीन कुबेरनेट्स [सीखने का माहौल](/docs/setup/#learning-environment) में विफलता का एक बिंदु है। अत्यधिक उपलब्ध क्लस्टर बनाने का अर्थ है: + - कण्ट्रोल प्लेन को वर्कर नोड्स से अलग करना। + - कई नोड्स पर कण्ट्रोल प्लेन घटकों की प्रतिकृति। + - क्लस्टर के लिए संतुलन यातायात लोड करें{{< glossary_tooltip term_id="kube-apiserver" text="API server" >}}. + - पर्याप्त वर्कर नोड्स उपलब्ध होना, या जल्दी से उपलब्ध होने में सक्षम होना, क्योंकि बदलते वर्कलोड इसे वारंट करते हैं। + +- *स्केल*: यदि आप उम्मीद करते हैं कि आपके उत्पादन कुबेरनेट्स पर्यावरण को मांग की एक स्थिर मात्रा प्राप्त होगी, तो आप उस क्षमता के लिए सेटअप करने में सक्षम हो सकते हैं जिसकी आपको आवश्यकता है और किया जा सकता है। हालाँकि, यदि आप समय के साथ मांग बढ़ने की उम्मीद करते हैं या मौसम या विशेष घटनाओं जैसी चीजों के आधार पर अचानक से बदलते हैं, तो आपको योजना बनाने की आवश्यकता है कि कण्ट्रोल प्लेन और वर्कर नोड्स के लिए अधिक अनुरोधों से बढ़े दबाव को कैसे दूर किया जाए या अप्रयुक्त संसाधनों को कम करने के लिए स्केल किया जाए। + +- *सुरक्षा और एक्सेस मैनेजमेंट*: आपके अपने कुबेरनेट्स लर्निंग क्लस्टर पर पूर्ण व्यवस्थापकीय विशेषाधिकार हैं। लेकिन महत्वपूर्ण कार्यभार के साथ साझा क्लस्टर, और एक या दो से अधिक उपयोगकर्ता, को क्लस्टर संसाधनों तक कौन और क्या एक्सेस कर सकता है, इसके लिए अधिक परिष्कृत दृष्टिकोण की आवश्यकता होती है। आप यह सुनिश्चित करने के लिए ([भूमिका-आधारित एक्सेस कण्ट्रोल](/docs/reference/access-authn-authz/rbac/)) और अन्य सुरक्षा तंत्रों का उपयोग कर सकते हैं कि उपयोगकर्ता और कार्यभार उन संसाधनों तक पहुँच प्राप्त कर सकते हैं जिनकी उन्हें आवश्यकता है, साथ ही में कार्यभार और क्लस्टर को साथ में सुरक्षित रख सके। +आप [नीतियों](/docs/concepts/policy/) और [कंटेनर संसाधन](/docs/concepts/configuration/manage-resources-containers/) को प्रबंधित करके उन संसाधनों की सीमा निर्धारित कर सकते हैं जिन तक उपयोगकर्ता और कार्यभार पहुंच सकते हैं। + +कुबेरनेट्स उत्पादन वातावरण को स्वयं बनाने से पहले, इस कार्य में से कुछ या सभी को सौंपने पर विचार करें +[टर्नकी क्लाउड सॉल्यूशंस](/docs/setup/production-environment/turnkey-solutions/) प्रदाता या अन्य [कुबेरनेट्स पार्टनर्स](https://kubernetes.io/partners/) विकल्पों में शामिल हैं: + +- *सर्वरलेस*: किसी क्लस्टर को प्रबंधित किए बिना केवल तृतीय-पक्ष उपकरण पर कार्यभार चलाएं। आपसे सीपीयू उपयोग, मेमोरी और डिस्क अनुरोध जैसी चीज़ों के लिए शुल्क लिया जाएगा। +- *व्यवस्थित कण्ट्रोल प्लेन*: प्रदाता को क्लस्टर के कण्ट्रोल प्लेन के पैमाने और उपलब्धता का प्रबंधन करने दें, साथ ही पैच और अपग्रेड को भी संभालें। +- *व्यवस्थित वर्कर नोड्स*: अपनी आवश्यकताओं को पूरा करने के लिए नोड्स के पूल को कॉन्फ़िगर करें, फिर प्रदाता सुनिश्चित करता है कि वे नोड उपलब्ध हैं और जरूरत पड़ने पर अपग्रेड को लागू करने के लिए तैयार हैं। +- *एकीकरण*: ऐसे प्रदाता हैं जो कुबेरनेट्स को अन्य सेवाओं के साथ एकीकृत करते हैं जिनकी आपको आवश्यकता हो सकती है, जैसे भंडारण, कंटेनर रजिस्ट्रियां, प्रमाणीकरण तरीके, और विकास उपकरण। + +चाहे आप कुबेरनेट्स क्लस्टर का निर्माण स्वयं करें या भागीदारों के साथ काम करें, अपनी आवश्यकताओं का मूल्यांकन करने के लिए निम्नलिखित अनुभागों की समीक्षा करें क्योंकि वे आपके क्लस्टर से संबंधित हैं *कण्ट्रोल प्लेन*, *वर्कर नोड्स*, *यूज़र एक्सेस*, और *वर्कलोड रिसोर्सस*. + +## उत्पादन क्लस्टर सेटअप + +उत्पादन-गुणवत्ता वाले कुबेरनेट्स क्लस्टर में, कण्ट्रोल प्लेन क्लस्टर को उन सेवाओं से प्रबंधित करता है जिन्हें विभिन्न तरीकों से कई कंप्यूटरों में फैलाया जा सकता है। हालाँकि, प्रत्येक वर्कर नोड एक एकल इकाई का प्रतिनिधित्व करता है जिसे कुबेरनेट्स पॉड चलाने के लिए कॉन्फ़िगर किया गया है। + +### उत्पादन कण्ट्रोल प्लेन + +सबसे सरल कुबेरनेट्स क्लस्टर में एक ही मशीन पर चलने वाले संपूर्ण कण्ट्रोल प्लेन और वर्कर नोड सेवाएं होती हैं। आप वर्कर नोड्स को जोड़कर उस वातावरण को विकसित कर सकते हैं, जैसा कि [कुबेरनेट्स कंपोनेंट्स](/docs/concepts/overview/components/) के डायग्राम में दर्शाया गया है। यदि क्लस्टर थोड़े समय के लिए उपलब्ध होने के लिए है, या अगर कुछ गंभीर रूप से गलत हो जाता है, तो इसे छोड़ दिया जा सकता है, यह आपकी आवश्यकताओं को पूरा कर सकता है। + +यदि आपको अधिक स्थायी, अत्यधिक उपलब्ध क्लस्टर की आवश्यकता है, तो आपको कण्ट्रोल प्लेन को विस्तारित करने के तरीकों पर विचार करना चाहिए। डिजाइन के अनुसार, एक मशीन पर चलने वाली एक-मशीन कण्ट्रोल प्लेन सेवाएं अत्यधिक उपलब्ध नहीं हैं। यदि क्लस्टर को चालू रखना और यह सुनिश्चित करना कि कुछ गलत होने पर इसकी मरम्मत की जा सकती है, महत्वपूर्ण है, तो इन चरणों पर विचार करें: + +- *डिप्लॉयमेंट टूल्स चुनें*: आप kubeadm, kops, और kubespray जैसे टूल का उपयोग करके एक कण्ट्रोल प्लेन को तैनात कर सकते हैं। उनमें से प्रत्येक डिप्लॉयमेंट विधियों का उपयोग करके उत्पादन-गुणवत्ता डिप्लॉयमेंट के लिए युक्तियों को जानने के लिए [डिप्लॉयमेंट टूल्स के साथ कुबेरनेट्स स्थापित करना](/docs/setup/production-environment/tools/) देखें। आपके डिप्लॉयमेंट के साथ उपयोग करने के लिए विभिन्न [कंटेनर रनटाइम](/docs/setup/production-environment/container-runtimes/) उपलब्ध हैं। +- *सर्टिफ़िकेट प्रबंधित करे*: कण्ट्रोल प्लेन सेवाओं के बीच सुरक्षित संचार सर्टिफ़िकेटस का उपयोग करके कार्यान्वित किया जाता है। डिप्लॉयमेंट के दौरान सर्टिफ़िकेट स्वचालित रूप से उत्पन्न होते हैं या आप अपने स्वयं के सर्टिफ़िकेट अथॉरिटी का उपयोग करके उन्हें उत्पन्न कर सकते हैं। +विवरण के लिए [PKI सर्टिफ़िकेटस और आवश्यकताएं](/docs/setup/best-practices/certificates/) देखें। +- *एपिसर्वर के लिए लोड बैलेंसर कॉन्फ़िगर करें*: विभिन्न नोड्स पर चल रहे एपिसर्वर सर्विस इंस्टेंस के लिए बाहरी एपीआई अनुरोधों को वितरित करने के लिए लोड बैलेंसर को कॉन्फ़िगर करें। +विवरण के लिए [एक बाहरी लोड बैलेंसर बनाना](/docs/tasks/access-application-cluster/create-external-load-balancer/) देखें। +- *अलग और बैकअप etcd सेवा*: अतिरिक्त सुरक्षा और उपलब्धता के लिए etcd सेवाएं या तो अन्य कंट्रोल प्लेन सेवाओं के समान मशीनों पर चल सकती हैं या अलग मशीनों पर चल सकती हैं। क्योंकि etcd क्लस्टर कॉन्फ़िगरेशन डेटा संग्रहीत करता है, etcd डेटाबेस का बैकअप नियमित रूप से किया जाना चाहिए ताकि यह सुनिश्चित हो सके कि यदि आवश्यक हो तो आप उस डेटाबेस की मरम्मत कर सकते हैं। +etcd को कॉन्फ़िगर करने और उपयोग करने के विवरण के लिए [etcd अक्सर पूछे जाने वाले प्रश्न](https://etcd.io/docs/v3.4/faq/) देखें। +विवरण के लिए [कुबेरनेट्स के लिए ऑपरेटिंग etcd क्लस्टर](/docs/tasks/administer-cluster/configure-upgrade-etcd/) और [kubeadm के साथ एक उच्च उपलब्धता etcd क्लस्टर स्थापित करें](/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/) देखें। +- *मल्टीपल कण्ट्रोल प्लेन सिस्टम बनाएं*: उच्च उपलब्धता के लिए, कण्ट्रोल प्लेन एक मशीन तक सीमित नहीं होना चाहिए। यदि कण्ट्रोल प्लेन सेवाएं एक init सेवा (जैसे systemd) द्वारा चलाई जाती हैं, तो प्रत्येक सेवा को कम से कम तीन मशीनों पर चलना चाहिए। हालाँकि, कुबेरनेट्स में पॉड्स के रूप में कण्ट्रोल प्लेन सेवाएं चलाना सुनिश्चित करता है कि आपके द्वारा अनुरोधित सेवाओं की प्रतिकृति संख्या हमेशा उपलब्ध रहेगी। +अनुसूचक फॉल्ट सहने वाला होना चाहिए, लेकिन अत्यधिक उपलब्ध नहीं होना चाहिए। कुबेरनेट्स सेवाओं के नेता चुनाव करने के लिए कुछ डिप्लॉयमेंट उपकरण [राफ्ट](https://raft.github.io/) सर्वसम्मति एल्गोरिथ्म की स्थापना करते हैं। यदि प्राथमिक चला जाता है, तो दूसरी सेवा स्वयं को चुनती है और कार्यभार संभालती है। +- *कई क्षेत्रों में विस्तार करना*: यदि अपने क्लस्टर को हर समय उपलब्ध रखना महत्वपूर्ण है, तो एक ऐसा क्लस्टर बनाने पर विचार करें, जो कई डेटा केंद्रों पर चलता हो, जिसे क्लाउड वातावरण में ज़ोन के रूप में संदर्भित किया जाता है। ज़ोन(zone) के समूहों को रीजन(region) कहा जाता है। एक ही क्षेत्र में कई क्षेत्रों में एक क्लस्टर फैलाकर, यह इस संभावना में सुधार कर सकता है कि एक क्षेत्र अनुपलब्ध होने पर भी आपका क्लस्टर कार्य करना जारी रखेगा। +विवरण के लिए [Running in multiple zones](/docs/setup/best-practices/multiple-zones/) देखें। +- *चल रही सुविधाओं का प्रबंधन*: यदि आप अपने क्लस्टर को समय के साथ रखने की योजना बनाते हैं, तो इसके स्वास्थ्य और सुरक्षा को बनाए रखने के लिए आपको कुछ कार्य करने होंगे। उदाहरण के लिए, यदि आपने kubeadm के साथ स्थापित किया है, तो आपको [सर्टिफिकेट प्रबंधन](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/) और [kubeadm क्लस्टर्स को अपग्रेड करने](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/) में मदद करने के लिए निर्देश दिए गए हैं, कुबेरनेट्स प्रशासनिक कार्यों की लंबी सूची के लिए [क्लस्टर का एडमिनिस्टर](/docs/tasks/administer-cluster/) देखें। + +जब आप कण्ट्रोल प्लेन सेवाएं चलाते हैं, तो उपलब्ध विकल्पों के बारे में जानने के लिए, [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/), [क्यूब-कंट्रोलर-मैनेजर](/docs/reference/command-line-tools-reference/kube-controller-manager/), देखें। +और [क्यूब-शेड्यूलर](/docs/reference/command-line-tools-reference/kube-scheduler/) कॉम्पोनेन्ट पेज। अत्यधिक उपलब्ध कंट्रोल प्लेन उदाहरणों के लिए [अत्यधिक उपलब्ध टोपोलॉजी के लिए विकल्प](/docs/setup/production-environment/tools/kubeadm/ha-topology/), +[kubeadm के साथ अत्यधिक उपलब्ध क्लस्टर बनाना](/docs/setup/production-environment/tools/kubeadm/high-availability/), और [कुबेरनेट्स के लिए ऑपरेटिंग etcd क्लस्टर](/docs/tasks/administer-cluster/configure-upgrade-etcd/)। etcd बैकअप योजना बनाने के बारे में जानकारी के लिए [etcd क्लस्टर का बैकअप लेना](/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster) देखें। + +### उत्पादन वर्कर नोड्स + +उत्पादन-गुणवत्ता वाले कार्यभार को लचीला होने की आवश्यकता है और वे जिस चीज पर भरोसा करते हैं वह लचीला होना चाहिए (जैसे कि CoreDNS)। चाहे आप अपने स्वयं के कंट्रोल प्लेन का प्रबंधन करें या क्लाउड प्रदाता आपके लिए इसे करें, आपको अभी भी यह विचार करने की आवश्यकता है कि आप अपने वर्कर नोड्स को कैसे प्रबंधित करना चाहते हैं (इसे बस *नोड्स* के रूप में भी संदर्भित किया गया है)। + +- *नोड्स कॉन्फ़िगर करें*: नोड्स भौतिक या आभासी मशीन हो सकते हैं। यदि आप अपने स्वयं के नोड्स बनाना और प्रबंधित करना चाहते हैं, तो आप एक समर्थित ऑपरेटिंग सिस्टम स्थापित कर सकते हैं, फिर उपयुक्त जोड़ और चला सकते हैं +[नोड सेवाएं](/docs/concepts/overview/components/#node-components)। विचार करना: + - जब आप उपयुक्त मेमोरी, सीपीयू, और डिस्क स्पीड और स्टोरेज क्षमता उपलब्ध कराकर नोड्स सेट करते हैं तो आपके वर्कलोड की मांग। + - क्या जेनेरिक कंप्यूटर सिस्टम करेंगे या आपके पास ऐसे वर्कलोड हैं जिन्हें GPU प्रोसेसर, Windows नोड्स या VM आइसोलेशन की आवश्यकता है। +- *वैलिदेट(Validate) नोड*: यह सुनिश्चित करने के तरीके के बारे में जानकारी के लिए [वैलिद(Valid) नोड सेटअप](/docs/setup/best-practices/node-conformance/) देखें कि एक नोड कुबेरनेट्स क्लस्टर में शामिल होने के लिए आवश्यकताओं को पूरा करता है। +- *क्लस्टर में नोड जोड़ें*: यदि आप अपने स्वयं के क्लस्टर का प्रबंधन कर रहे हैं, तो आप अपनी स्वयं की मशीनें स्थापित करके और या तो उन्हें मैन्युअल रूप से जोड़कर या क्लस्टर के एपिसर्वर में खुद को पंजीकृत करवाकर नोड्स जोड़ सकते हैं। इन तरीकों से नोड्स जोड़ने के लिए कुबेरनेट्स को कैसे सेट करें, इस बारे में जानकारी के लिए [नोड्स](/docs/concepts/architecture/nodes/) अनुभाग देखें। +- *क्लस्टर में Windows नोड्स जोड़ें*: कुबेरनेट्स Windows वर्कर नोड्स के लिए समर्थन प्रदान करता है, जिससे आप Windows कंटेनरों में लागू वर्कलोड को चला सकते हैं। विवरण के लिए [कुबेरनेट्स में Windows](/docs/setup/production-environment/windows/) देखें। +- *स्केल नोड्स*: आपके क्लस्टर को अंततः जिस क्षमता की आवश्यकता होगी, उसके विस्तार के लिए एक योजना बनाएं। आपको चलाने के लिए आवश्यक पॉड्स और कंटेनरों की संख्या के आधार पर, यह निर्धारित करने में सहायता के लिए [बड़े समूहों के लिए विचार](/docs/setup/best-practices/cluster-large/) देखें कि आपको कितने नोड्स की आवश्यकता है। यदि आप स्वयं नोड्स का प्रबंधन कर रहे हैं, तो इसका अर्थ यह हो सकता है कि आप अपने स्वयं के भौतिक उपकरण खरीदना और स्थापित करना चाहते हैं। +- *ऑटोस्केल नोड्स*: अधिकांश क्लाउड प्रदाता अस्वस्थ नोड्स को बदलने के लिए [क्लस्टर ऑटोस्केलर](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler#readme) का समर्थन करते हैं या मांग के अनुसार नोड्स की संख्या को बढ़ाते और घटाते हैं। विभिन्न क्लाउड प्रदाताओं द्वारा इसे कैसे कार्यान्वित किया जाता है, इसके लिए [अक्सर पूछे जाने वाले प्रश्न](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md) ऑटोस्केलर कैसे काम करता है और [डिप्लॉयमेंट](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler#deployment) देखें। ऑन-प्रिमाइसेस के लिए, कुछ वर्चुअलाइजेशन प्लेटफॉर्म हैं जिन्हें मांग के आधार पर नए नोड्स को स्पिन करने के लिए स्क्रिप्ट किया जा सकता है। +- *नोड स्वास्थ्य जांच सेट करें*: महत्वपूर्ण कार्यभार के लिए, आप यह सुनिश्चित करना चाहते हैं कि उन नोड्स पर चलने वाले नोड और पॉड स्वस्थ हैं। [नोड समस्या डिटेक्टर](/docs/tasks/debug-application-cluster/monitor-node-health/) डेमॉन का उपयोग करके, आप सुनिश्चित कर सकते हैं कि आपके नोड स्वस्थ हैं। + +## उत्पादन उपयोगकर्ता प्रबंधन + +उत्पादन में, आप उस मॉडल से आगे बढ़ रहे हैं जहां आप या लोगों का एक छोटा समूह क्लस्टर तक पहुंच रहा है जहां संभावित रूप से दर्जनों या सैकड़ों लोग हो सकते हैं। सीखने के माहौल या प्लेटफ़ॉर्म प्रोटोटाइप में, आप जो कुछ भी करते हैं उसके लिए आपके पास एक ही प्रशासनिक खाता हो सकता है। उत्पादन में, आप विभिन्न नेमस्पेस्सों तक पहुंच के विभिन्न स्तरों वाले अधिक खाते चाहते हैं। + +उत्पादन-गुणवत्ता वाले क्लस्टर को लेने का अर्थ है यह तय करना कि आप कैसे हैं +अन्य उपयोगकर्ताओं द्वारा चुनिंदा रूप से पहुंच की अनुमति देना चाहते हैं। विशेष रूप से, आपको उन लोगों की पहचान को सत्यापित करने के लिए रणनीतियों का चयन करने की आवश्यकता है जो आपके क्लस्टर (प्रमाणीकरण) तक पहुंचने का प्रयास करते हैं और यह तय करते हैं कि क्या उनके पास वह करने की अनुमति है जो वे पूछ रहे हैं (प्राधिकरण): + +- *प्रमाणीकरण*: apiserver क्लाइंट का उपयोग करके उपयोगकर्ताओं को प्रमाणित कर सकता है +प्रमाण पत्र, वाहक टोकन, एक प्रमाणीकरण प्रॉक्सी, या HTTP मूल प्रमाणीकरण। आप चुन सकते हैं कि आप किन प्रमाणीकरण विधियों का उपयोग करना चाहते हैं। प्लगइन्स का उपयोग करके, apiserver आपके संगठन की मौजूदा प्रमाणीकरण विधियों, जैसे LDAP या Kerberos का लाभ उठा सकता है। कुबेरनेट्स उपयोगकर्ताओं को प्रमाणित करने के इन विभिन्न तरीकों के विवरण के लिए [प्रमाणीकरण](/docs/reference/access-authn-authz/authentication/) देखो। +- *प्राधिकरण*: जब आप अपने नियमित उपयोगकर्ताओं को अधिकृत करने के लिए निकलते हैं, तो आप शायद आरबीएसी और एबीएसी प्राधिकरण के बीच चयन करेंगे। उपयोगकर्ता खातों को अधिकृत करने के लिए विभिन्न तरीकों की समीक्षा करने के लिए [प्राधिकरण अवलोकन](/docs/reference/access-authn-authz/authorization/) देखें (साथ ही आपके क्लस्टर में सेवा खाते तक पहुंच): + - *भूमिका-आधारित अभिगम नियंत्रण* ([RBAC](/docs/reference/access-authn-authz/rbac/)): प्रमाणित उपयोगकर्ताओं को अनुमतियों के विशिष्ट सेट की अनुमति देकर आप अपने क्लस्टर तक पहुँच प्रदान कर सकते हैं। अनुमतियाँ एक विशिष्ट नेमस्पेस्स (भूमिका) या संपूर्ण क्लस्टर (ClusterRole) के लिए असाइन की जा सकती हैं। फिर रोलबाइंडिंग और क्लस्टररोलबाइंडिंग का उपयोग करके, उन अनुमतियों को विशेष उपयोगकर्ताओं से जोड़ा जा सकता है। + - *विशेषता-आधारित अभिगम नियंत्रण* ([ABAC](/docs/reference/access-authn-authz/abac/)): आपको क्लस्टर में संसाधन विशेषताओं के आधार पर नीतियां बनाने देता है और उन विशेषताओं के आधार पर पहुंच की अनुमति देगा या अस्वीकार करेगा। नीति फ़ाइल की प्रत्येक पंक्ति विषय (उपयोगकर्ता या समूह), संसाधन संपत्ति, गैर-संसाधन संपत्ति (/ संस्करण या / एपिस), और केवल पढ़ने के लिए संस्करण गुणों (एपीआई संस्करण और प्रकार) और विशिष्ट गुणों के मानचित्र की पहचान करती है। विवरण के लिए देखें [उदाहरण](/docs/reference/access-authn-authz/abac/#examples)। + +जब कोई आपके उत्पादन कुबेरनेट्स क्लस्टर पर प्रमाणीकरण और प्राधिकरण सेटअप कर रहा हो, तो यहां कुछ बातों पर विचार करना चाहिए: + +- *प्राधिकरण मोड सेट करें*: जब कुबेरनेट्स एपीआई सर्वर +([kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/)) शुरू होता है, समर्थित प्रमाणीकरण मोड को *--authorization-mode* फ़्लैग का उपयोग करके सेट किया जाना चाहिए। उदाहरण के लिए, *kube-adminserver.yaml* फ़ाइल में वह फ़्लैग (*/etc/kubernetes/manifests* में) नोड, आरबीएसी पर सेट किया जा सकता है। यह प्रमाणित अनुरोधों के लिए नोड और आरबीएसी प्राधिकरण की अनुमति देगा। +- *उपयोगकर्ता प्रमाणपत्र और रोल बाइंडिंग (RBAC) बनाएं*: यदि आप आरबीएसी प्राधिकरण का उपयोग कर रहे हैं, तो उपयोगकर्ता एक सर्टिफिकेट साइनिंग रिक्वेस्ट (सीएसआर) बना सकते हैं जिस पर क्लस्टर सीए द्वारा हस्ताक्षर किए जा सकते हैं। फिर आप प्रत्येक उपयोगकर्ता के लिए रोल्स और क्लस्टररोल्स को बाध्य कर सकते हैं। +विवरण के लिए [प्रमाणपत्र पर हस्ताक्षर करने के अनुरोध](/docs/reference/access-authn-authz/certificate-signing-requests/) देखें। +- *ऐसी नीतियां बनाएं जो विशेषताओं को जोड़ती हैं (ABAC)*: यदि आप एबीएसी प्राधिकरण का उपयोग कर रहे हैं, तो आप चुनिंदा उपयोगकर्ताओं या समूहों को विशेष संसाधनों (जैसे पॉड), नेमस्पेस, या एपीग्रुप तक पहुंचने के लिए अधिकृत करने के लिए नीतियां बनाने के लिए विशेषताओं के संयोजन असाइन कर सकते हैं। अधिक जानकारी के लिए देखें [उदाहरण](/docs/reference/access-authn-authz/abac/#examples)। +- *प्रवेश नियंत्रकों पर विचार करें*: एपीआई सर्वर के माध्यम से आने वाले अनुरोधों के लिए प्राधिकरण के अतिरिक्त रूपों में शामिल हैं +[वेबहुक टोकन प्रमाणीकरण](/docs/reference/access-authn-authz/authentication/#webhook-token-authentication)। वेबहुक और अन्य विशेष प्राधिकरण प्रकारों को एपीआई सर्वर में [प्रवेश नियंत्रक](/docs/reference/access-authn-authz/admission-controllers/) जोड़कर सक्षम करने की आवश्यकता है। + +## कार्यभार संसाधनों पर सीमा निर्धारित करें + +उत्पादन कार्यभार की मांग कुबेरनेट्स नियंत्रण विमान के अंदर और बाहर दोनों जगह दबाव पैदा कर सकती है। अपने क्लस्टर के वर्कलोड की जरूरतों के लिए सेट अप करते समय इन मदों पर विचार करें: + +- *नेमस्पेस्स की सीमा निर्धारित करें*: मेमोरी और सीपीयू जैसी चीजों पर प्रति नेमस्पेस कोटा सेट करें। विवरण के लिए [मेमोरी, सीपीयू और एपीआई संसाधन प्रबंधित करें](/docs/tasks/administer-cluster/manage-resources/) देखें। +आप इनहेरिट करने की सीमा के लिए [हिरार्चीकैल नेमस्पेस्स](/blog/2020/08/14/introducing-hierarchical-namespaces/) भी सेट कर सकते हैं। +- *DNS मांग के लिए तैयार करें*: यदि आप वर्कलोड के बड़े पैमाने पर बढ़ने की उम्मीद करते हैं, तो आपकी DNS सेवा भी बड़े पैमाने पर तैयार होनी चाहिए। +[क्लस्टर में DNS सेवा को ऑटोस्केल करना](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/) देखें। +- *अतिरिक्त सेवा खाते बनाएं*: उपयोगकर्ता खाते यह निर्धारित करते हैं कि उपयोगकर्ता क्लस्टर पर क्या कर सकते हैं, जबकि एक सेवा खाता किसी विशेष नेमस्पेस्स के भीतर पॉड एक्सेस को परिभाषित करता है। डिफ़ॉल्ट रूप से, एक पॉड अपने नेमस्पेस्स से डिफ़ॉल्ट सेवा खाता लेता है। +नया सेवा खाता बनाने के बारे में जानकारी के लिए [सेवा खातों का प्रबंधन](/docs/reference/access-authn-authz/service-accounts-admin/) देखें। +उदाहरण के लिए, आप शायद यह करना चाहें: + - ऐसे रहस्य जोड़ें जिनका उपयोग पॉड किसी विशेष कंटेनर रजिस्ट्री से इमेज खींचने के लिए कर सकता है। उदाहरण के लिए [पॉड्स के लिए सेवा खाते कॉन्फ़िगर करें](/docs/tasks/configure-pod-container/configure-service-account/) देखें। + - किसी सेवा खाते में RBAC अनुमतियाँ असाइन करें। विवरण के लिए [सेवा खाता अनुमतियां](/docs/reference/access-authn-authz/rbac/#service-account-permissions) देखें। + +## {{% heading "whatsnext" %}} + +- तय करें कि आप अपना खुद का उत्पादन कुबेरनेट्स बनाना चाहते हैं या उपलब्ध [टर्नकी क्लाउड सॉल्यूशंस](/docs/setup/production-environment/turnkey-solutions/) से एक प्राप्त करना चाहते हैं +या [कुबेरनेट्स पार्टनर्स](https://kubernetes.io/partners/)। +- यदि आप अपना स्वयं का क्लस्टर बनाना चुनते हैं, तो योजना बनाएं कि आप [प्रमाणपत्र](/docs/setup/best-practices/certificates/) को कैसे संभालना चाहते हैं और [etcd](/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/) जैसी सुविधाओं के लिए उच्च उपलब्धता सेट करें। +और [एपीआई सर्वर](/docs/setup/production-environment/tools/kubeadm/ha-topology/)। +- [kubeadm](/docs/setup/production-environment/tools/kubeadm/), [kops](/docs/setup/production-environment/tools/kops/) या [kubespray](/docs/setup/production-environment/tools/kubespray/) डिप्लॉयमेंट विधियों में से चुनें। +- अपना निर्धारित करके उपयोगकर्ता प्रबंधन को कॉन्फ़िगर करें +[प्रमाणीकरण](/docs/reference/access-authn-authz/authentication/) और [प्राधिकरण](/docs/reference/access-authn-authz/authorization/) विधियां। +- सेटअप करके एप्लिकेशन वर्कलोड की तैयारी करें +[संसाधन सीमाएं](/docs/tasks/administer-cluster/manage-resources/), [DNS ऑटोस्केलिंग](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/) और [सेवा खाते](/docs/reference/access-authn-authz/service-accounts-admin/)। diff --git a/content/hi/docs/setup/production-environment/container-runtimes.md b/content/hi/docs/setup/production-environment/container-runtimes.md new file mode 100644 index 00000000000..35fdc0048ca --- /dev/null +++ b/content/hi/docs/setup/production-environment/container-runtimes.md @@ -0,0 +1,391 @@ +--- +title: कंटेनर रनटाइम +content_type: concept +weight: 20 +--- + + + +आपको क्लस्टर में प्रत्येक नोड में एक {{< glossary_tooltip text="कंटेनर रनटाइम" term_id="container-runtime" >}} +इंस्टॉल करना होगा ताकि पॉड वहां चल सकें। +यह पृष्ठ बताता है कि क्या शामिल है और +नोड्स की स्थापना के लिए संबंधित कार्यों का वर्णन करता है। + + + +कुबेरनेट्स {{< skew currentVersion >}} के लिए आवश्यक है कि आप एक रनटाइम का उपयोग करें जो +{{< glossary_tooltip term_id="cri" text="कंटेनर रनटाइम इंटरफ़ेस">}} (CRI) +के अनुरूप है। + +अधिक जानकारी के लिए [CRI version support](#cri-versions) देखें। + +यह पृष्ठ Linux पर कुबेरनेट्स के साथ कई सामान्य कंटेनर रनटाइम का उपयोग करने के विवरण सूचीबद्ध करता है: + +- [containerd](#containerd) +- [CRI-O](#cri-o) +- [Docker Engine](#docker) +- [Mirantis Container Runtime](#mcr) + +{{< note >}} +अन्य ऑपरेटिंग सिस्टम के लिए, अपने प्लेटफ़ॉर्म के अनुसार विशिष्ट प्रलेखन देखें। +{{< /note >}} + +## Cgroup ड्राइवर + +प्रक्रियाओं के लिए आवंटित संसाधनों को सीमित करने के लिए कण्ट्रोल ग्रुप का उपयोग किया जाता है। + +जब Linux वातावरण के लिए init सिस्टम, [systemd (https://www.freedesktop.org/wiki/Software/systemd/) +को चुना जाता है, तब init प्रक्रिया रुट(root) control group (`cgroup`) उत्पन्न करती है और उपभोग करती है तथा cgroup मैनेजर की तरह काम करता है। +Systemd और cgroups एकीकृत हैं और प्रत्येक systemd यूनिट को एक cgroup आवंटित होता है। अपने कन्टैनर रनटाइम और kubelet को `cgroupfs` प्रयोग करने के लिए कॉन्फ़िगर करना संभव है। systemd के साथ `cgroupfs` प्रयोग करने के कारण दो अलग cgroup मैनेजर होंगे। + +एक एकल cgroup प्रबंधक इस दृष्टिकोण को सरल बनाता है कि कौन से संसाधन आवंटित किए जा रहे हैं और डिफ़ॉल्ट रूप से उपलब्ध और उपयोग में आने वाले संसाधनों के बारे में अधिक सुसंगत दृश्य होगा। +जब एक सिस्टम पर दो cgroup मैनेजर होते हैं, तो आपको उन रिसोर्सेज के दो व्यू मिलते हैं। क्षेत्र में, लोगों ने ऐसे मामलों की सूचना दी है जहां नोड्स जो kubelet और डॉकर के लिए `cgroupfs` का उपयोग करने के लिए कॉन्फ़िगर किए गए हैं, लेकिन बाकी प्रक्रियाओं के लिए `systemd` संसाधन दबाव के कारण अस्थिर हो जाते हैं। + +सेटिंग्स को इस तरह बदलना कि आपका कंटेनर रनटाइम और kubelet `systemd` का उपयोग करें क्योंकि cgroup ड्राइवर सिस्टम को स्थिर करता है। डॉकर के लिए इसे कॉन्फ़िगर करने के लिए, `native.cgroupdriver=systemd` सेट करें। + +{{< caution >}} +क्लस्टर में शामिल होने वाले नोड के cgroup ड्राइवर को बदलना एक संवेदनशील ऑपरेशन है। यदि kubelet ने एक सीग्रुप ड्राइवर के सिमेंटिक्स (semantics) का उपयोग करके पॉड्स बनाए हैं, तो कंटेनर रनटाइम को दूसरे सीग्रुप ड्राइवर में बदलने से मौजूदा पॉड्स के पॉड सैंडबॉक्स को फिर से बनाते समय त्रुटियां हो सकती हैं। kubelet को पुनरारंभ करने से ऐसी त्रुटियों का समाधान नहीं हो सकता है। + +यदि आपके पास स्वचालन है जो इसे व्यवहार्य बनाता है, तो अद्यतन किए गए कॉन्फ़िगरेशन का उपयोग करके नोड को दूसरे के साथ बदलें, या स्वचालन का उपयोग करके इसे पुनर्स्थापित करें। +{{< /caution >}} + +## Cgroup v2 + +Cgroup v2, cgroup Linux API का अगला संस्करण है। Cgroup v1 से अलग, प्रत्येक कंट्रोलर के लिए एक अलग अनुक्रम के बजाय एक पदानुक्रम है। + +नया संस्करण cgroup v1 पर कई सुधार प्रदान करता है, इनमें से कुछ सुधार हैं: + +- API का उपयोग करने का स्पष्ट और आसान तरीका +- कंटेनरों के लिए सुरक्षित उप-वृक्ष प्रतिनिधिमंडल +- प्रेशर स्टॉल की जानकारी जैसी नई सुविधाएँ + +भले ही कर्नेल हाइब्रिड कॉन्फ़िगरेशन का समर्थन करता हो, जहां कुछ नियंत्रक cgroup v1 द्वारा प्रबंधित किए जाते हैं और कुछ अन्य cgroup v2 द्वारा, Kubernetes सभी नियंत्रकों को प्रबंधित करने के लिए केवल उसी cgroup संस्करण का समर्थन करता है। + +यदि सिस्टमड (Systemd) डिफ़ॉल्ट रूप से cgroup v2 का उपयोग नहीं करता है, तो आप कर्नेल कमांड लाइन में `systemd.unified_cgroup_hierarchy=1` जोड़कर सिस्टम को इसका उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं। + +```shell +# यह उदाहरण एक Linux OS के लिए है जो DNF पैकेज मैनेजर का उपयोग करता है +# आपका सिस्टम कमांड लाइन सेट करने के लिए एक अलग विधि का उपयोग कर सकता है +# लिनक्स कर्नेल का उपयोग करता है। +sudo dnf install -y grubby && \ + sudo grubby \ + --update-kernel=ALL \ + --args="systemd.unified_cgroup_hierarchy=1" +``` + +यदि आप कर्नेल के लिए कमांड लाइन बदलते हैं, तो आपको अपने से पहले नोड को रिबूट करना होगा +परिवर्तन प्रभावी होता है। + +Cgroup v2 में स्विच करते समय उपयोगकर्ता अनुभव में कोई उल्लेखनीय अंतर नहीं होना चाहिए, जब तक कि उपयोगकर्ता सीग्रुप फाइल सिस्टम को सीधे नोड पर या कंटेनरों के भीतर से एक्सेस कर रहे हैं। + +इसका उपयोग करने के लिए, Cgroup v2 को CRI रनटाइम द्वारा भी सपोर्टेड (supported) होना चाहिए। + +### Kubeadm प्रबंधित क्लस्टर में `systemd` ड्राइवर में माइग्रेट करना + +यदि आप मौजूदा kubeadm प्रबंधित क्लस्टर में `systemd` cgroup ड्राइवर में माइग्रेट करना चाहते हैं, तो [माइग्रेशन गाइड](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/) का पालन करें। + +## CRI संस्करण समर्थन {#cri-versions} + +आपके कंटेनर रनटाइम को कंटेनर रनटाइम इंटरफ़ेस के कम से कम v1alpha2 का समर्थन करना चाहिए। + +कुबेरनेट्स {{< skew currentVersion >}} डिफ़ॉल्ट रूप से CRI API के v1 का उपयोग करता है। +यदि कंटेनर रनटाइम v1 API का समर्थन नहीं करता है, तो क्यूबलेट वापस आ जाता है +इसके बजाय (बहिष्कृत) v1alpha2 API का उपयोग करना। + +## कंटेनर रनटाइम + +{{% thirdparty-content %}} + + +### कंटेनरडी {#containerd} + +यह खंड कंटेनरडी को CRI रनटाइम के रूप में उपयोग करने के लिए आवश्यक कदम है। + +अपने सिस्टम पर containerd इंस्टॉल करने के लिए निम्नलिखित कमांड का उपयोग करें: + +पूर्वापेक्षाएँ इंस्टॉल और कॉन्फ़िगर करें: + +```shell +cat <}} +{{% tab name="Linux" %}} + +1. आधिकारिक डॉकर रिपॉजिटरी से `containerd.io` पैकेज इंस्टॉल करें। +अपने संबंधित लिनक्स वितरण के लिए डॉकर रिपॉजिटरी इंस्टॉल करने और `containerd.io` पैकेज इंस्टॉल करने के निर्देश यहां देखे जा सकते हैं +[डॉकर इंजन इंस्टॉल करें](https://docs.docker.com/engine/install/#server). + +2. कंटेनरडी कॉन्फ़िगर करें: + + ```shell + sudo mkdir -p /etc/containerd + containerd config default | sudo tee /etc/containerd/config.toml + ``` + +3. कंटेनरडी को पुनरारंभ करें: + + ```shell + sudo systemctl restart containerd + ``` + + {{% /tab %}} + {{% tab name="Windows (PowerShell)" %}} + + Powershell सत्र प्रारंभ करें, `$Version` को वांछित संस्करण पर सेट करें (उदाहरण: `$Version=1.4.3`), और फिर निम्न आदेश चलाएँ: + +1. कंटेनरडी डाउनलोड करें: + + ```powershell + curl.exe -L https://github.com/containerd/containerd/releases/download/v$Version/containerd-$Version-windows-amd64.tar.gz -o containerd-windows-amd64.tar.gz + tar.exe xvf .\containerd-windows-amd64.tar.gz + ``` + +2. एक्सट्रेक्ट एंड कॉन्फ़िगर: + + ```powershell + Copy-Item -Path ".\bin\" -Destination "$Env:ProgramFiles\containerd" -Recurse -Force + cd $Env:ProgramFiles\containerd\ + .\containerd.exe config default | Out-File config.toml -Encoding ascii + # कॉन्फ़िगरेशन की समीक्षा करें। सेटअप के आधार पर आप समायोजित करना चाह सकते हैं: + # - सैंडबॉक्स_इमेज (कुबेरनेट्स पॉज़ इमेज) + # - cni bin_dir और conf_dir स्थान + Get-Content config.toml + # (वैकल्पिक - लेकिन अत्यधिक अनुशंसित) विंडोज डिफेंडर स्कैन से कंटेनर को बाहर करें + Add-MpPreference -ExclusionProcess "$Env:ProgramFiles\containerd\containerd.exe" + ``` + +3. कंटेनरडी शुरू करें: + + ```powershell + .\containerd.exe --register-service + Start-Service containerd + ``` + +{{% /tab %}} +{{< /tabs >}} + +#### systemd` cgroup ड्राइवर का उपयोग करें {#containerd-systemd} +`systemd` cgroup ड्राइवर {#containerd-systemd} का उपयोग करना +`runc` के साथ `/etc/containerd/config.toml` में `systemd` cgroup ड्राइवर का उपयोग करने के लिए, सेट करें +``` +[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc] + ... + [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] + SystemdCgroup = true +``` +यदि आप इस परिवर्तन को लागू करते हैं,तो सुनिश्चित करें कि आप फिर से कंटेनरडी को पुनरारंभ करें: +```shell +sudo systemctl restart containerd +``` + +जब आप kubeadm का उपयोग करें, मैन्युअल रूप से कॉन्फ़िगर करें +[क्यूबलेट के लिए cgroup ड्राइवर](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#configure-cgroup-driver-used-by-kubelet-on-control-plane-node) मैन्युअल रूप से कॉन्फ़िगर करें। + +### CRI-O + +इस खंड में CRI-O को कंटेनर रनटाइम के रूप में इंस्टॉल करने के लिए आवश्यक जानकारी है। + +अपने सिस्टम पर CRI-O इंस्टॉल करने के लिए निम्नलिखित कमांड का उपयोग करें: + +{{< note >}} +CRI-O के प्रमुख और छोटे संस्करणों को Kubernetes के प्रमुख और छोटे संस्करणों से मेल खाना चाहिए। +अधिक जानकारी के लिए [CRI-O compatibility matrix](https://github.com/cri-o/cri-o#compatibility-matrix-cri-o--kubernetes) देखें। +{{< /note >}} + +पूर्वापेक्षाएँ इंस्टॉल और कॉन्फ़िगर करें: + +```shell +# बूटअप पर मॉड्यूल लोड करने के लिए .conf फाइल बनाएं +cat <}} +{{% tab name="Debian" %}} + +निम्नलिखित ऑपरेटिंग सिस्टम पर CRI-O स्थापित करने के लिए, एनवायरनमेंट वेरिएबल`OS` को निम्न तालिका से उपयुक्त मान पर सेट करें: + +| ऑपरेटिंग सिस्टम | `$OS` | +| ---------------- | ----------------- | +| Debian Unstable | `Debian_Unstable` | +| Debian Testing | `Debian_Testing` | + +
+फिर, सेट करें `$VERSION`CRI-O संस्करण में जो आपके Kubernetes संस्करण से मेल खाता है। +उदाहरण के लिए, यदि आप CRI-O 1.20 इंस्टॉल करना चाहते हैं, तो `VERSION=1.20` सेट करें। +आप अपनी स्थापना को किसी विशिष्ट रिलीज़ पर पिन कर सकते हैं। +संस्करण 1.20.0 स्थापित करने के लिए, `VERSION=1.20:1.20.0` सेट करें। +
+ +कृपया यह करें +```shell +cat < +फिर, `$VERSION` को CRI-O संस्करण में सेट करें जो आपके Kubernetes संस्करण से मेल खाता हो। +उदाहरण के लिए, यदि आप CRI-O 1.20 इंस्टॉल करना चाहते हैं, तो `VERSION=1.20` सेट करें। +आप अपनी स्थापना को किसी विशिष्ट रिलीज़ पर पिन कर सपर पिन कर सकते हैं। +संस्करण 1.20.0 स्थापित करने के लिए, `VERSION=1.20:1.20.0` सेट करें। +
+ +कृपया यह करें +```shell +cat < +फिर, `$VERSION` को CRI-O संस्करण में सेट करें जो आपके Kubernetes संस्करण से मेल खाता हो। +उदाहरण के लिए, यदि आप CRI-O 1.20 इंस्टॉल करना चाहते हैं, तो `VERSION=1.20` सेट करें। +आप अपनी स्थापना को किसी विशिष्ट रिलीज़ पर पिन कर सकते हैं। +संस्करण 1.20.0 स्थापित करने के लिए, `VERSION=1.20:1.20.0` सेट करें। +
+ +कृपया यह करें +```shell +sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/devel:kubic:libcontainers:stable.repo +sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo +sudo yum install cri-o +``` + +{{% /tab %}} + +{{% tab name="openSUSE Tumbleweed" %}} + +```shell +sudo zypper install cri-o +``` +{{% /tab %}} +{{% tab name="Fedora" %}} + +`$VERSION` को CRI-O संस्करण में सेट करें जो आपके Kubernetes संस्करण से मेल खाता हो। +उदाहरण के लिए, यदि आप CRI-O 1.20, `VERSION=1.20` स्थापित करना चाहते हैं। + +आप इसके साथ उपलब्ध संस्करण पा सकते हैं: +```shell +sudo dnf module list cri-o +``` +CRI-O फेडोरा पर विशिष्ट रिलीज के लिए पिनिंग का समर्थन नहीं करता है। + +तब इसे करें: +```shell +sudo dnf module enable cri-o:$VERSION +sudo dnf install cri-o +``` + +{{% /tab %}} +{{< /tabs >}} + +CRI-O शुरू करें : + +```shell +sudo systemctl daemon-reload +sudo systemctl enable crio --now +``` + +अधिक जानकारी के लिए [CRI-O इंस्टॉलेशन गाइड](https://github.com/cri-o/cri-o/blob/master/install.md) देखें। + + +#### cgroup ड्राइवर + +CRI-O डिफ़ॉल्ट रूप से systemd cgroup ड्राइवर का उपयोग करता है। +`cgroupfs` cgroup ड्राइवर पर स्विच करने के लिए, या तो `/etc/crio/crio.conf` संपादित करें या `/etc/crio/crio.conf.d/02-cgroup-manager.conf` में ड्रॉप-इन कॉन्फ़िगरेशन रखें। उदाहरण के लिए: + +```toml +[crio.runtime] +conmon_cgroup = "pod" +cgroup_manager = "cgroupfs" +``` +कृपया बदले हुए `conmon_cgroup` पर भी ध्यान दें, जिसे `cgroupfs` के साथ CRI-O का उपयोग करते समय `पॉड` मान पर सेट करना होगा। +आमतौर पर क्यूबलेट के cgroup ड्राइवर कॉन्फ़िगरेशन (आमतौर पर kubeadm के माध्यम से किया जाता है) और CRI-O को सिंक में रखना आवश्यक है। + +### डॉकर इंजन {#docker} + +डॉकर इंजन कंटेनर रनटाइम है जिसने यह सब शुरू किया। पूर्व में सिर्फ डॉकर के रूप में जाना जाता था,यह कंटेनर रनटाइम विभिन्न रूपों में उपलब्ध है। [डॉकर इंजन इंस्टॉल करें](https://docs.docker.com/engine/install/) आपके विकल्पों की व्याख्या करता है +इस रनटाइम को इंस्टॉल करने के लिए। + +डॉकर इंजन कुबेरनेट्स {{< skew currentVersion >}} के साथ सीधे संगत है, जो कि बहिष्कृत `dockershim` घटक का उपयोग करता है। अधिक जानकारी के लिए +और संदर्भ, [Dockershim deprecation FAQ](/dockershim) देखें। + +आप तृतीय-पक्ष एडेप्टर भी पा सकते हैं जो आपको कुबेरनेट्स के साथ डॉकर इंजन का उपयोग करने देता है, समर्थित {{< glossary_tooltip term_id="cri" text="Container Runtime Interface">}} के माध्यम से +(CRI)। + +निम्नलिखित CRI एडेप्टर डॉकर इंजन के साथ काम करने के लिए डिज़ाइन किए गए हैं: + +- [`cri-dockerd`](https://github.com/Mirantis/cri-dockerd) Mirantis से + +### मिरांटिस कंटेनर रनटाइम {#mcr} + +[Mirantis Container Runtime](https://docs.mirantis.com/mcr/20.10/overview.html) (MCR) एक व्यावसायिक रूप से है उपलब्ध कंटेनर रनटाइम जिसे पहले डॉकर एंटरप्राइज एडिशन के नाम से जाना जाता था। + +आप खुले स्रोत का उपयोग करके कुबेरनेट्स के साथ मिरांटिस कंटेनर रनटाइम का उपयोग कर सकते हैं [`cri-dockerd`](https://github.com/Mirantis/cri-dockerd) घटक, MCR के साथ शामिल है। \ No newline at end of file diff --git a/content/hi/docs/setup/production-environment/turnkey-solutions.md b/content/hi/docs/setup/production-environment/turnkey-solutions.md new file mode 100644 index 00000000000..735a800c1b9 --- /dev/null +++ b/content/hi/docs/setup/production-environment/turnkey-solutions.md @@ -0,0 +1,12 @@ +--- +title: Turnkey Cloud Solutions +content_type: concept +weight: 30 +--- + + +यह पृष्ठ कुबेरनेट्स प्रमाणित समाधान प्रदाताओं की एक सूची प्रदान करता है। हर एक प्रदाता पृष्ठ से आप सीख सकते हैं कि उत्पादन योग्य क्लस्टर को इंस्टॉल और सेटअप कैसे करें। + + + +{{< cncf-landscape helpers=true category="certified-kubernetes-hosted" >}} \ No newline at end of file diff --git a/content/hi/docs/setup/production-environment/windows/_index.md b/content/hi/docs/setup/production-environment/windows/_index.md new file mode 100644 index 00000000000..a9d65b7a6de --- /dev/null +++ b/content/hi/docs/setup/production-environment/windows/_index.md @@ -0,0 +1,4 @@ +--- +title: कुबेरनेट्स में Windows +weight: 50 +--- diff --git a/content/hi/docs/tasks/_index.md b/content/hi/docs/tasks/_index.md new file mode 100644 index 00000000000..9c0e74deb81 --- /dev/null +++ b/content/hi/docs/tasks/_index.md @@ -0,0 +1,13 @@ +--- +title: कार्य +main_menu: true +weight: 50 +content_type: concept +--- + + + +कुबेरनेट्स प्रलेखन के इस खंड के पृष्ठ एकल कार्य करने का तरीका दिखाते हैं। आमतौर पर, कार्य पृष्ठ दिखाता है कि किसी एक काम को कई छोटे चरणों में विभाजित करके कैसे करना है। + +यदि आप एक कार्य पृष्ठ लिखना चाहते हैं, तो देखें +[प्रलेखन के लिए एक पुल अनुरोध (Pull Request) बनाएं](/docs/contribute/new-content/open-a-pr/). diff --git a/content/hi/docs/tasks/tools/_index.md b/content/hi/docs/tasks/tools/_index.md new file mode 100644 index 00000000000..0f1be83ae40 --- /dev/null +++ b/content/hi/docs/tasks/tools/_index.md @@ -0,0 +1,64 @@ +--- +title: "उपकरण स्थापित करें" +description: अपने कंप्यूटर पर कुबेरनेट्स टूल सेटअप करें। +weight: 10 +no_list: true +--- + +## kubectl + + +कुबेरनेट्स कमांड-लाइन टूल, [kubectl](/docs/reference/kubectl/kubectl/), +आपको कुबेरनेट्स क्लस्टर पर कमांड चलाने की अनुमति देता है। + +आप एप्लिकेशन को डिप्लॉय करने, क्लस्टर संसाधनों का निरीक्षण +और प्रबंधन करने और लॉग देखने के लिए kubectl का उपयोग कर सकते हैं। + +kubectl संचालन की पूरी सूची सहित अधिक जानकारी के लिए, देखें +[`kubectl` संदर्भ प्रलेखन](/docs/reference/kubectl/). + +kubectl विभिन्न प्रकार के Linux प्लेटफॉर्म, macOS और Windows पर इंस्टॉल करने योग्य है। +नीचे अपना उपयुक्त ऑपरेटिंग सिस्टम खोजें। + +- [kubectl Linux पर इंस्टॉल करें](/hi/docs/tasks/tools/install-kubectl-linux) +- [kubectl macOS पर इंस्टॉल करें](/hi/docs/tasks/tools/install-kubectl-macos) +- [kubectl Windows पर इंस्टॉल करें](/hi/docs/tasks/tools/install-kubectl-windows) + +## kind + +[`kind`](https://kind.sigs.k8s.io/docs/) आपको अपने कंप्यूटर पर कुबेरनेट्स चलाने देता है। +इस उपकरण के लिए आवश्यक है कि आपके पास +[Docker](https://docs.docker.com/get-docker/) इंस्टॉल और कॉन्फ़िगर किया गया हो। + +kind [क्विक स्टार्ट](https://kind.sigs.k8s.io/docs/user/quick-start/) +पृष्ठ आपको दिखाता है कि kind चलाने के लिए आपको क्या करने की आवश्यकता है। + +kind क्विक स्टार्ट गाइड देखें + +## minikube + +`kind` की तरह, [`minikube`](https://minikube.sigs.k8s.io/) एक उपकरण +है जो आपको स्थानीय स्तर पर कुबेरनेट्स चलाने देता है। minikube आपके कंप्यूटर +(windows, macOS और linux पीसी सहित) पर सिंगल-नोड कुबेरनेट्स क्लस्टर चलाता +है ताकि आप कुबेरनेट्स सीख सकें या डेवलपमेंट कर सकें। + +यदि आपका ध्यान उपकरण को इंस्टॉल करने पर है तो आप मुख्य +[आरंभ करें!](https://minikube.sigs.k8s.io/docs/start/) +गाइड का अनुसरण कर सकते हैं। + +minikube क्विक स्टार्ट गाइड देखें + +एक बार जब आपके पास minikube काम कर रहा हो, +तो आप इसका उपयोग [नमूना एप्लिकेशन](/docs/tutorials/hello-minikube/) +चलाने के लिए कर सकते हैं। + + +## kubeadm + +कुबेरनेट्स क्लस्टर बनाने और प्रबंधित करने के लिए आप {{< glossary_tooltip term_id="kubeadm" text="kubeadm" >}} टूल का उपयोग कर सकते हैं। +यह उपयोगकर्ता के अनुकूल तरीके से न्यूनतम व्यवहार्य, सुरक्षित क्लस्टर बनाने और चलाने के लिए आवश्यक कार्य करता है। + +[kubeadm इंस्टॉल](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/) करना आपको दिखाता है कि kubeadm को कैसे इंस्टॉल किया जाए। +एक बार इंस्टॉल होने के बाद, आप इसका उपयोग [क्लस्टर बनाने](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) के लिए कर सकते हैं। + +kubeadm इंस्टॉल गाइड देखें diff --git a/content/hi/docs/tasks/tools/included/_index.md b/content/hi/docs/tasks/tools/included/_index.md new file mode 100644 index 00000000000..fa8f8bb2e90 --- /dev/null +++ b/content/hi/docs/tasks/tools/included/_index.md @@ -0,0 +1,6 @@ +--- +title: "शामिल उपकरण" +description: "स्निपेट्स को मुख्य kubectl-installs-*.md पृष्ठों में शामिल करना है " +headless: true +toc_hide: true +--- \ No newline at end of file diff --git a/content/hi/docs/tasks/tools/included/kubectl-convert-overview.md b/content/hi/docs/tasks/tools/included/kubectl-convert-overview.md new file mode 100644 index 00000000000..1d4977798f1 --- /dev/null +++ b/content/hi/docs/tasks/tools/included/kubectl-convert-overview.md @@ -0,0 +1,11 @@ +--- +title: "kubectl-convert अवलोकन" +description: >- + एक kubectl प्लगइन जो आपके मैनिफेस्ट को कुबेरनेट्स API के + एक से दूसरे संस्करण में बदलने की अनुमति देता है। +headless: true +--- + +कुबेरनेट्स कमांड-लाइन टूल `kubectl` के लिए एक प्लगइन, जो आपको विभिन्न API संस्करण के बीच मैनिफ़ेस्ट को बदलने करने की अनुमति देता है। +यह विशेष रूप से नए कुबेरनेट्स रिलीज के साथ एक गैर-बहिष्कृत API संस्करण में मैनिफेस्ट को माइग्रेट करने में सहायक हो सकता है। +अधिक जानकारी के लिए, [गैर पदावनत एपिस में विस्थापित करें](/docs/reference/using-api/deprecation-guide/#migrate-to-non-deprecated-apis) पर जाएं। diff --git a/content/hi/docs/tasks/tools/included/kubectl-whats-next.md b/content/hi/docs/tasks/tools/included/kubectl-whats-next.md new file mode 100644 index 00000000000..42762e8ef4e --- /dev/null +++ b/content/hi/docs/tasks/tools/included/kubectl-whats-next.md @@ -0,0 +1,12 @@ +--- +title: "आगे क्या है?" +description: "kubectl इंस्टॉल करने के बाद आगे क्या है।" +headless: true +--- + +* [मिनीक्यूब (Minikube) इंस्टॉल करें](https://minikube.sigs.k8s.io/docs/start/) +* क्लस्टर बनाने के बारे में अधिक जानकारी के लिए [आरंभ करने की मार्गदर्शिका](/docs/setup/) देखें। +* [अपने एप्लिकेशन को लॉन्च और एक्सपोज़ करने का तरीका जानें।](/docs/tasks/access-application-cluster/service-access-application-cluster/) +* यदि आपको किसी ऐसे क्लस्टर को उपयोग करने की आवश्यकता है जिसे आपने नहीं बनाया है, तो + [क्लस्टर एक्सेस दस्तावेज़ साझा करना](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) देखें। +* [kubectl संदर्भ प्रलेखन](/docs/reference/kubectl/kubectl/) पढ़ें। \ No newline at end of file diff --git a/content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md b/content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md new file mode 100644 index 00000000000..2701e27e8b9 --- /dev/null +++ b/content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-linux.md @@ -0,0 +1,52 @@ +--- +title: "Linux पर bash ऑटो-कम्पलीशन" +description: "Linux पर bash ऑटो-कम्पलीशन के लिए कुछ वैकल्पिक कॉन्फ़िगरेशन।" +headless: true +--- + +## परिचय + +Bash के लिए kubectl समापन स्क्रिप्ट `kubectl completion bash` कमांड के साथ उत्पन्न की जा सकती है। आपके शेल में समापन स्क्रिप्ट को सोर्स करने से kubectl ऑटोकम्पलीशन सक्षम हो जाती है। + +हालाँकि, समापन की स्क्रिप्ट [**bash-completion**](https://github.com/scop/bash-completion) पर निर्भर हैं जिसका अर्थ है कि आपको पहले इस सॉफ़्टवेयर को इंस्टॉल करना होगा (आप `type _init_completion` चलाकर परीक्षण कर सकते हैं कि आपने पहले से bash-completion इंस्टॉल की है या नहीं)। + +## Bash-completion को इंस्टॉल करें + +कई पैकेज मैनेजर द्वारा bash-completion प्रदान की जाती है ([यहाँ](https://github.com/scop/bash-completion#installation) देखें)। आप इसे `apt-get install bash-completion` या `yum install bash-completion` आदि के साथ इंस्टॉल कर सकते हैं। + +यह कमांड `/usr/share/bash-completion/bash_completion` उत्त्पन्न करता है, जो bash-completion की मुख्य स्क्रिप्ट है। आपके पैकेज मैनेजर के आधार पर, आपको इस फाइल को अपनी `~/.bashrc` फाइल में मैन्युअल रूप से सोर्स करना होगा। + +यह पता लगाने के लिए, अपना शेल पुनः लोड करें और `type _init_completion` रन करे। यदि कमांड सफल होता है, तो आप पहले से ही तैयार हैं, अन्यथा अपनी `~/.bashrc` फ़ाइल में निम्नलिखित जोड़ें: + +```bash +source /usr/share/bash-completion/bash_completion +``` + +अपना शेल पुनः लोड करें और `type _init_completion` टाइप करके सत्यापित करें कि बैश-कम्पलीशन सही ढंग से इंस्टॉल है। + +## kubectl ऑटोकम्पलीशन सक्षम करे + +अब आपको यह सुनिश्चित करने की आवश्यकता है कि kubectl समापन स्क्रिप्ट आपके सभी शेल सत्रों (sourced) में प्राप्त हो जाए। आप ऐसा दो तरीकों से कर सकते हैं: + +- अपनी `~/.bashrc` फ़ाइल में समापन स्क्रिप्ट सॉर्स करें: + + ```bash + echo 'source <(kubectl completion bash)' >>~/.bashr + ``` + - समापन स्क्रिप्ट को `/etc/bash_completion.d` डायरेक्टरी में जोड़ें: + ```bash + kubectl completion bash >/etc/bash_completion.d/kubectl + ``` + + +यदि आप के पास kubectl के लिए एक अन्य नाम (alias) है, तो आप उस अन्य नाम के साथ काम करने के लिए शेल समापन को बढ़ा सकते हैं: + +```bash +echo 'alias k=kubectl' >>~/.bashrc +echo 'complete -F __start_kubectl k' >>~/.bashrc +``` +{{< note >}} +bash-completion सभी समापन स्क्रिप्ट को `/etc/bash_completion.d` में सोर्स करता है। +{{< /note >}} + +दोनों दृष्टिकोण बराबर हैं। आपके शेल को पुनः लोड करने के बाद, Kubectl ऑटोकम्पलीशन कार्य करना शुरू कर देगा। \ No newline at end of file diff --git a/content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md b/content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md new file mode 100644 index 00000000000..79c3f2de77b --- /dev/null +++ b/content/hi/docs/tasks/tools/included/optional-kubectl-configs-bash-mac.md @@ -0,0 +1,89 @@ +--- +title: "macOS पर bash ऑटो-कम्पलीशन" +description: "macOS पर bash ऑटो-कम्पलीशन के लिए कुछ वैकल्पिक कॉन्फ़िगरेशन।" +headless: true +--- + +### परिचय + +Bash के लिए kubectl समापन स्क्रिप्ट `kubectl completion bash` कमांड के साथ उत्पन्न की जा सकती है। आपके शेल में समापन स्क्रिप्ट को सोर्स करने से kubectl ऑटोकम्पलीशन सक्षम हो जाती है।``` + +हालाँकि, समापन की स्क्रिप्ट [**bash-completion**](https://github.com/scop/bash-completion) पर निर्भर हैं जिसका अर्थ है कि आपको पहले इस सॉफ़्टवेयर को इंस्टॉल करना होगा। + +{{< warning >}} +Bash-completion के लिये दो संस्करण हैं v1 और v2। v1 bash 3.2 के लिये हैं (जो macOS के लिए डिफ़ॉल्ट है), और v2 bash 4.1+ के लिए है।kubectl कम्पलीशन स्क्रिप्ट Bash-completion v1 और Bash 3.2 के साथ ठीक से **काम नहीं करती है**। इसके लिए **Bash-completion v2** और बैश 4.1+ की आवश्यकता है। इसलिए macOS पर kubectl कम्पलीशन को सही तरीके से इस्तेमाल करने के लिए , आपको bash 4.1+ इनस्टॉल और उपयोग करना होगा ([*निर्देश*](https://itnext.io/upgrading-bash-on-macos-7138bd1066ba))। निम्नलिखित निर्देश मानते हैं कि आप बैश का उपयोग करते हैं (अर्थात 4.1  का कोई भी बैश संस्करण या इससे नया)। +{{< /warning >}} + +### अपग्रेड बैश + +निम्नलिखित निर्देश मानते हैं कि आप बैश 4.1+ का उपयोग करते हैं। आप अपने बैश के संस्करण को यह चलाकर देख सकते हैं: + +```bash +echo $BASH_VERSION +``` + +यदि यह बहुत पुराना है, तो आप Homebrew का उपयोग करके इसे इनस्टॉल/अपग्रेड कर सकते हैं: + +```bash +brew install bash +``` + +अपने शेल को पुनः लोड करें और सत्यापित करें कि इच्छित संस्करण का उपयोग किया जा रहा है: + +```bash +echo $BASH_VERSION $SHELL +``` + +Homebrew आमतौर पर इसे `/usr/local/bin/bash` पर इनस्टॉल करता है। + +### इनस्टॉल bash-completion + +{{< note >}} +जैसा कि उल्लेख किया गया है, ये निर्देश मानते हैं कि आप Bash 4.1+ का उपयोग करते हैं, जिसका अर्थ है कि आप bash-completion v2 इनस्टॉल  करेंगे (Bash 3.2 और bash-completion v1 पर kubectl  पूर्णता काम नहीं करेगी)। +{{< /note >}} + +आप `type_init_completion` से सत्यापित कर सकते हैं कि क्या आपके पास bash-completion v2 पहले से इनस्टॉल है। यदि नहीं, तो आप इसे Homebrew से इनस्टॉल कर सकते हैं + +```bash +brew install bash-completion@2 +``` + +जैसा कि इस कमांड के आउटपुट में बताया गया है, अपनी `~/.bash_profile` फ़ाइल में निम्नलिखित जोड़ें: + +```bash +export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d" + +[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh" +``` + +अपने शेल को पुनः लोड करें और `type_init_completion` से सत्यापित करें कि bash-completion v2 सही ढंग से इनस्टॉल है। + +### kubectl ऑटोकम्पलीशन सक्षम करें + +अब आपको यह सुनिश्चित करने की आवश्यकता है कि kubectl समापन स्क्रिप्ट आपके सभी शेल सत्रों (sourced) में प्राप्त हो जाए। इसे हासिल करने के कई तरीके हैं: + +- अपने कम्पलीशन स्क्रिप्ट को `~/.bash_profile` में सोर्स करें: + + ```bash + echo 'source <(kubectl completion bash)' >>~/.bash_profile + ``` + +- कम्पलीशन स्क्रिप्ट को `/usr/local/etc/bash_completion.d` डायरेक्टरी में जोड़ें: + + ```bash + kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl + ``` + +- यदि आपके पास kubectl के लिए एक नाम (alias) है, तो आप उस उपनाम के साथ काम करने के लिए शेल कम्पलीशन को बढ़ा सकते हैं: + + ```bash + echo 'alias k=kubectl' >>~/.bash_profile + echo 'complete -F __start_kubectl k' >>~/.bash_profile + ``` + +- यदि आपने Homebrew के साथ kubectl इनस्टॉल किया है (जैसा कि यहां बताया गया है), तो kubectl कम्पलीशन स्क्रिप्ट पहले से ही `/usr/local/etc/bash_completion.d/kubectl` में होनी चाहिए। ऐसे में आपको कुछ भी करने की जरूरत नहीं है। + +{{< note >}} +bash-completion Homebrew से इनस्टॉल होने पर, सारे फाइल्स को `BASH_COMPLETION_COMPAT_DIR` डायरेक्टरी में सोर्स कर देता है। इसलिए आखरी दो तरीके काम करते हैं। +{{< /note >}} +किसी भी स्थिति में, आपके शेल को पुनः लोड करने के बाद, Kubectl पूर्णता कार्य करना चाहिए। diff --git a/content/hi/docs/tasks/tools/included/optional-kubectl-configs-zsh.md b/content/hi/docs/tasks/tools/included/optional-kubectl-configs-zsh.md new file mode 100644 index 00000000000..67349c66073 --- /dev/null +++ b/content/hi/docs/tasks/tools/included/optional-kubectl-configs-zsh.md @@ -0,0 +1,29 @@ +--- +title: "zsh ऑटो-कम्पलीशन" +description: "zsh ऑटो-कम्पलीशन के लिए कुछ वैकल्पिक कॉन्फ़िगरेशन।" +headless: true +--- + +Zsh के लिए kubectl कम्पलीशन स्क्रिप्ट `kubectl completion zsh` कमांड के साथ उत्पन्न की जा सकती है। आपके शेल में कम्पलीशन स्क्रिप्ट को सोर्स करने से kubectl ऑटो-कम्पलीशन सक्षम हो जाती है। + +अपने सभी शेल सत्रों में ऐसा करने के लिए, निम्नलिखित को अपनी `~/.zshrc` फ़ाइल में जोड़ें: + +```zsh +source <(kubectl completion zsh) +``` + +यदि आपके पास kubectl के लिए एक उपनाम है, तो आप उस उपनाम के साथ काम करने के लिए शेल कम्पलीशन को बढ़ा सकते हैं: + +```zsh +echo 'alias k=kubectl' >>~/.zshrc +echo 'complete -F __start_kubectl k' >>~/.zshrc +``` + +अपने शेल को पुनः लोड करने के बाद, kubectl ऑटो-कम्पलीशन कार्य करना चाहिए। + +यदि आपको कोई त्रुटि मिलती है जैसे `complete:13: command not found: compdef`, तो अपनी `~/.zshrc` फ़ाइल की शुरुआत में निम्नलिखित जोड़ें: + +```zsh +autoload -Uz compinit +compinit +``` \ No newline at end of file diff --git a/content/hi/docs/tasks/tools/included/verify-kubectl.md b/content/hi/docs/tasks/tools/included/verify-kubectl.md new file mode 100644 index 00000000000..c6bfa7ec990 --- /dev/null +++ b/content/hi/docs/tasks/tools/included/verify-kubectl.md @@ -0,0 +1,34 @@ +--- +title: "kubectl इंस्टॉल सत्यापित करें" +description: "kubectl कैसे सत्यापित करें।" +headless: true +--- + +kubectl को कुबेरनेट्स क्लस्टर को खोजने और एक्सेस करने के लिए, उसे +[क्यूबकॉन्फिग फाइल](/docs/concepts/configuration/organize-cluster-access-kubeconfig/)(kubeconfig) की आवश्यकता होती है, +जो स्वचालित रूप से तब बनता है जब आप +[kube-up.sh](https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh) का उपयोग करके क्लस्टर बनाते हैं +या मिनीक्यूब क्लस्टर को सफलतापूर्वक डिप्लॉय करते हैं। +डिफ़ॉल्ट रूप से, kubectl कॉन्फ़िगरेशन `~/.kube/config` पर स्थित होता है। + +जाँच करें कि क्लस्टर स्टेट प्राप्त करके kubectl को ठीक से कॉन्फ़िगर किया गया है: + +```shell +kubectl cluster-info +``` + +यदि आपको एक URL प्रतिक्रिया दिखती हैं, तो kubectl आपके क्लस्टर तक पहुँचने के लिए सही ढंग से कॉन्फ़िगर हुआ है। + +यदि आपको निम्नलिखित संदेश दिखाई देता है, तो kubectl ठीक से कॉन्फ़िगर नहीं हुआ है या कुबेरनेट्स क्लस्टर से कनेक्ट करने में सक्षम नहीं है। + +``` +The connection to the server was refused - did you specify the right host or port? +``` + +उदाहरण के लिए, यदि आप अपने लैपटॉप (स्थानीय रूप से) पर कुबेरनेट्स क्लस्टर चलाना चाहते हैं, तो आपको पहले मिनीक्यूब (minikube) जैसे टूल को इंस्टॉल करना होगा और ऊपर बताए गए कमांड को फिर से चलाना होगा। + +यदि kubectl cluster-info URL प्रतिक्रिया देता है, लेकिन आप अपने क्लस्टर को एक्सेस नहीं कर पा रहें हैं, तो यह जाँचने के लिए कि क्या यह ठीक से कॉन्फ़िगर किया गया है, इस कमांड का उपयोग करें: + +```shell +kubectl cluster-info dump +``` diff --git a/content/hi/docs/tasks/tools/install-kubectl-linux.md b/content/hi/docs/tasks/tools/install-kubectl-linux.md new file mode 100644 index 00000000000..5727e04111d --- /dev/null +++ b/content/hi/docs/tasks/tools/install-kubectl-linux.md @@ -0,0 +1,244 @@ +--- +title: Linux पर kubectl इंस्टॉल और सेट अप करें +content_type: task +weight: 10 +card: + name: tasks + weight: 20 + title: Linux पर kubectl इंस्टॉल करें +--- + +## {{% heading "prerequisites" %}} + +आप kubectl संस्करण का उपयोग करे जो आपके क्लस्टर के एक माइनर संस्करण के भीतर हो। उदाहरण के लिए, v{{< skew latestVersion >}} क्लाइंट v{{< skew prevMinorVersion >}}, v{{< skew latestVersion >}} और v{{< skew nextMinorVersion >}} कण्ट्रोल प्लेन के साथ संवाद कर सकते हैं। +kubectl के नवीनतम संस्करण का उपयोग करने से अप्रत्याशित मुद्दों से बचने में मदद मिलती है। + +## Linux पर kubectl इंस्टॉल करें + +Linux पर kubectl संस्थापित करने के लिए निम्नलिखित विधियाँ मौजूद हैं: + +- [Linux पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें](#install-kubectl-binary-with-curl-on-linux) +- [नेटिव पैकेज मैनेजमेंट के माध्यम से इंस्टॉल करें](#install-using-native-package-management) +- [अन्य पैकेज मैनेजमेंट के माध्यम से इंस्टॉल करें](#install-using-other-package-management) + +### Linux पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें {#install-kubectl-binary-with-curl-on-linux} + +1. कमांड से नवीनतम रिलीज डाउनलोड करें: + + ```bash + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + ``` + + {{< note >}} +एक विशिष्ट संस्करण डाउनलोड करने के लिए, कमांड के `$(curl -L -s https://dl.k8s.io/release/stable.txt)` हिस्से को विशिष्ट संस्करण से बदलें। + +उदाहरण के लिए, लिनक्स पर {{< param "fullversion" >}} संस्करण डाउनलोड करने के लिए, टाइप करें: + + ```bash + curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl + ``` + {{< /note >}} + +1. बाइनरी को मान्य करें (वैकल्पिक) + + kubectl चेकसम फाइल डाउनलोड करें: + + ```bash + curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" + ``` + + चेकसम फ़ाइल से kubectl बाइनरी को मान्य करें: + + ```bash + echo "$(}} + बाइनरी और चेकसम का एक ही संस्करण डाउनलोड करें। + {{< /note >}} + +1. kubectl इंस्टॉल करें + + ```bash + sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl + ``` + + {{< note >}} + यदि आपके पास टारगेट सिस्टम पर रुट एक्सेस नहीं है, आप तब भी kubectl को `~/.local/bin` डायरेक्टरी में इंस्टॉल कर सकते हैं: + + ```bash + chmod +x kubectl + mkdir -p ~/.local/bin/kubectl + mv ./kubectl ~/.local/bin/kubectl + # and then add ~/.local/bin/kubectl to $PATH + ``` + + {{< /note >}} + +1. यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है: + + ```bash + kubectl version --client + ``` + +### नेटिव पैकेज मैनेजमेंट के माध्यम से इंस्टॉल करें {#install-using-native-package-management} + +{{< tabs name="kubectl_install" >}} +{{% tab name="Debian-based distributions" %}} + +1. `apt` पैकेज इंडेक्स को अपडेट करे और कुबेरनेट्स `apt` रिपॉजिटरी का उपयोग करने के लिए आवश्यक पैकेज इंस्टॉल करें: + + ```shell + sudo apt-get update + sudo apt-get install -y apt-transport-https ca-certificates curl + ``` + +2. गूगल क्लाउड पब्लिक साइनिंग कुंजी (key) डाउनलोड करें: + + ```shell + sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg + ``` + +3. कुबेरनेट्स `apt` रिपॉजिटरी को जोड़े: + + ```shell + echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list + ``` + +4. नए रिपॉजिटरी के साथ `apt` पैकेज इंडेक्स अपडेट करें और kubectl इंस्टॉल करें: + + ```shell + sudo apt-get update + sudo apt-get install -y kubectl + ``` + +{{% /tab %}} + +{{< tab name="Red Hat-based distributions" codelang="bash" >}} +cat < /etc/yum.repos.d/kubernetes.repo +[kubernetes] +name=Kubernetes +baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 +enabled=1 +gpgcheck=1 +repo_gpgcheck=1 +gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg +EOF +yum install -y kubectl +{{< /tab >}} +{{< /tabs >}} + +### अन्य पैकेज मैनेजमेंट के माध्यम से इंस्टॉल करें {#install-using-other-package-management} + + +{{< tabs name="other_kubectl_install" >}} +{{% tab name="Snap" %}} +यदि आप Ubuntu या किसी अन्य Linux डिस्ट्रीब्यूशन पर हैं जो [snap](https://snapcraft.io/docs/core/install) पैकेज मैनेजर को सपोर्ट करता है, तो kubectl [snap](https://snapcraft.io/) एप्लिकेशन के रूप में उपलब्ध है। + +```shell +snap install kubectl --classic +kubectl version --client +``` + +{{% /tab %}} + +{{% tab name="Homebrew" %}} +यदि आप Linux पर [Homebrew](https://docs.brew.sh/Homebrew-on-Linux) पैकेज मैनेजर का उपयोग कर रहे हैं, तो kubectl [इंस्टालेशन](https://docs.brew.sh/Homebrew-on-Linux#install) के लिए उपलब्ध है। + +```shell +brew install kubectl +kubectl version --client +``` + +{{% /tab %}} + +{{< /tabs >}} + +## kubectl कॉन्फ़िगरेशन सत्यापित करें + +{{< include "included/verify-kubectl.md" >}} + +## वैकल्पिक kubectl कॉन्फ़िगरेशन और प्लगइन्स + +### शेल ऑटोकम्प्लेशन सक्षम करें + +kubectl Bash और Zsh के लिए ऑटोकम्प्लेशन का सपोर्ट प्रदान करता है, जो आपका काफी समय बचा सकता है। + +नीचे Bash और Zsh के लिए ऑटोकम्प्लेशन स्थापित करने की प्रक्रियाएँ हैं। + +{{< tabs name="kubectl_autocompletion" >}} +{{< tab name="Bash" include="included/optional-kubectl-configs-bash-linux.md" />}} +{{< tab name="Zsh" include="included/optional-kubectl-configs-zsh.md" />}} +{{< /tabs >}} + +### `kubectl convert` प्लगइन इंस्टॉल करें + +{{< include "included/kubectl-convert-overview.md" >}} + +1. कमांड से नवीनतम रिलीज डाउनलोड करें: + + ```bash + curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert + ``` + +1. बाइनरी को मान्य करें (वैकल्पिक) + + kubectl-convert चेकसम फ़ाइल डाउनलोड करें: + + ```bash + curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256" + ``` + + चेकसम फ़ाइल से kubectl-convert बाइनरी को मान्य करें: + + ```bash + echo "$(}} + बाइनरी और चेकसम का एक ही संस्करण डाउनलोड करें। + {{< /note >}} + +1. kubectl-convert इंस्टॉल करें + + ```bash + sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert + ``` + +1. सत्यापित करें कि प्लगइन सफलतापूर्वक इंस्टॉल है + + ```shell + kubectl convert --help + ``` + + यदि आपको कोई त्रुटि नहीं दिखाई देती है, तो इसका मतलब है कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है। + +## {{% heading "whatsnext" %}} + +{{< include "included/kubectl-whats-next.md" >}} diff --git a/content/hi/docs/tasks/tools/install-kubectl-macos.md b/content/hi/docs/tasks/tools/install-kubectl-macos.md new file mode 100644 index 00000000000..548587de137 --- /dev/null +++ b/content/hi/docs/tasks/tools/install-kubectl-macos.md @@ -0,0 +1,247 @@ +--- +title: macOS पर kubectl इंस्टॉल और सेटअप करें +content_type: task +weight: 10 +card: + name: tasks + weight: 20 + title: macOS पर kubectl इंस्टॉल करें +--- + +## {{% heading "prerequisites" %}} + +आप kubectl संस्करण का उपयोग करे जो आपके क्लस्टर के एक माइनर संस्करण भीतर हो। उदाहरण के लिए, v{{< skew latestVersion >}} क्लाइंट v{{< skew prevMinorVersion >}}, v{{< skew latestVersion >}} और v{{< skew nextMinorVersion >}} कण्ट्रोल प्लेन के साथ कम्युनिकेट कर सकते हैं। +kubectl के नए संस्करण का उपयोग करने से समस्या से बचत हो सकती है। + +## macOS पर kubectl इंस्टॉल करें + +macOS पर kubectl संस्थापित करने के लिए निम्नलिखित विधियाँ मौजूद हैं: + +- [macOS पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें](#macOS-पर-curl-के-माध्यम-से-kubectl-बाइनरी-इंस्टॉल-करें) +- [Homebrew के माध्यम से macOS पर इंस्टॉल करें](#Homebrew-के-माध्यम-से-macOS-पर-इंस्टॉल-करें) +- [Macports के माध्यम से macOS पर इंस्टॉल करें](#Macports-के-माध्यम-से-macOS-पर-इंस्टॉल-करें) + +### macOS पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें + +1. नवीनतम रिलीज़ डाउनलोड करें: + + {{< tabs name="download_binary_macos" >}} + {{< tab name="Intel" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl" + {{< /tab >}} + {{< tab name="Apple Silicon" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl" + {{< /tab >}} + {{< /tabs >}} + + {{< note >}} + एक विशिष्ट संस्करण डाउनलोड करने के लिए, कमांड के इस हिस्से `$(curl -L -s https://dl.k8s.io/release/stable.txt)` को विशिष्ट संस्करण से बदलें। + + उदाहरण के लिए, Intel macOS पर {{< param "fullversion" >}} संस्करण डाउनलोड करने के लिए, टाइप करें: + + ```bash + curl -LO "https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/darwin/amd64/kubectl" + ``` + + और Apple Silicon macOS के लिए, टाइप करें: + + ```bash + curl -LO "https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/darwin/arm64/kubectl" + ``` + + {{< /note >}} + +1. बाइनरी को मान्य करें (वैकल्पिक)) + + kubectl चेकसम फाइल डाउनलोड करें: + + {{< tabs name="download_checksum_macos" >}} + {{< tab name="Intel" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256" + {{< /tab >}} + {{< tab name="Apple Silicon" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl.sha256" + {{< /tab >}} + {{< /tabs >}} + + चेकसम फ़ाइल से kubectl बाइनरी को मान्य करें: + + ```bash + echo "$(}} + बाइनरी और चेकसम का एक ही संस्करण डाउनलोड करें। + {{< /note >}} + +1. kubectl बाइनरी को एक्सेक्यूट करने योग्य बनायें। + + ```bash + chmod +x ./kubectl + ``` + +1. kubectl बाइनरी को अपने सिस्टम `PATH` के फ़ाइल स्थान पर ले जाएँ। + + ```bash + sudo mv ./kubectl /usr/local/bin/kubectl + sudo chown root: /usr/local/bin/kubectl + ``` + + {{< note >}} + सुनिश्चित करें कि `/usr/local/bin` आपके पाथ एनवायरनमेंट वेरिएबल में है। + {{< /note >}} + +1. यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है: + + ```bash + kubectl version --client + ``` + +### Homebrew के माध्यम से macOS पर इंस्टॉल करें + +यदि आप macOS पर हैं और [Homebrew](https://brew.sh/) पैकेज मैनेजर का उपयोग कर रहे हैं, आप Homebrew के साथ kubectl इंस्टॉल कर सकते हैं। + +1. इंस्टालेशन कमांड रन करें: + + ```bash + brew install kubectl + ``` + + या + + ```bash + brew install kubernetes-cli + ``` + +1. यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है: + + ```bash + kubectl version --client + ``` + +### Macports के माध्यम से macOS पर इंस्टॉल करें + +यदि आप macOS पर हैं और [Macports](https://macports.org/) पैकेज मैनेजर का उपयोग कर रहे हैं, आप Macports के साथ kubectl इंस्टॉल कर सकते हैं। + +1. इंस्टालेशन कमांड रन करें: + + ```bash + sudo port selfupdate + sudo port install kubectl + ``` + +1. यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है: + + ```bash + kubectl version --client + ``` + +## kubectl कॉन्फ़िगरेशन सत्यापित करें + +{{< include "included/verify-kubectl.md" >}} + +## वैकल्पिक Kubectl कॉन्फ़िगरेशन और प्लगइन्स + +### शेल ऑटोकम्प्लेशन सक्षम करें + +kubectl Bash और Zsh के लिए ऑटोकम्प्लेशन का सपोर्ट प्रदान करता है, जो आपका काफी समय बचा सकता है। + +नीचे Bash और Zsh के लिए ऑटोकम्प्लेशन स्थापित करने की प्रक्रियाएँ हैं। + +{{< tabs name="kubectl_autocompletion" >}} +{{< tab name="Bash" include="included/optional-kubectl-configs-bash-mac.md" />}} +{{< tab name="Zsh" include="included/optional-kubectl-configs-zsh.md" />}} +{{< /tabs >}} + +### `kubectl convert` प्लगइन इंस्टॉल करें + +{{< include "included/kubectl-convert-overview.md" >}} + +1. इस कमांड से नवीनतम रिलीज डाउनलोड करें: + + {{< tabs name="download_convert_binary_macos" >}} + {{< tab name="Intel" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert" + {{< /tab >}} + {{< tab name="Apple Silicon" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert" + {{< /tab >}} + {{< /tabs >}} + +1. बाइनरी को मान्य करें (वैकल्पिक) + + kubectl-convert चेकसम फ़ाइल डाउनलोड करें: + + {{< tabs name="download_convert_checksum_macos" >}} + {{< tab name="Intel" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl-convert.sha256" + {{< /tab >}} + {{< tab name="Apple Silicon" codelang="bash" >}} + curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl-convert.sha256" + {{< /tab >}} + {{< /tabs >}} + + चेकसम फ़ाइल से kubectl-convert बाइनरी को मान्य करें: + + ```bash + echo "$(}} + बाइनरी और चेकसम का एक ही संस्करण डाउनलोड करें। + {{< /note >}} + +1. Kubectl-कन्वर्ट बाइनरी को एक्सेक्यूट करने योग्य बनाएं + + ```bash + chmod +x ./kubectl-convert + ``` + +1. kubectl-convert binary बाइनरी को अपने सिस्टम `PATH` के फ़ाइल स्थान पर ले जाएँ। + + ```bash + sudo mv ./kubectl-convert /usr/local/bin/kubectl-convert + sudo chown root: /usr/local/bin/kubectl-convert + ``` + + {{< note >}} + सुनिश्चित करें कि `/usr/local/bin` आपके पाथ एनवायरनमेंट वेरिएबल में है। + {{< /note >}} + +1. सत्यापित करें कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है + + ```shell + kubectl convert --help + ``` + + यदि आपको कोई त्रुटि नहीं दिखाई देती है, तो इसका मतलब है कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है। + +## {{% heading "whatsnext" %}} + +{{< include "included/kubectl-whats-next.md" >}} diff --git a/content/hi/docs/tasks/tools/install-kubectl-windows.md b/content/hi/docs/tasks/tools/install-kubectl-windows.md new file mode 100644 index 00000000000..fc7d1e1870a --- /dev/null +++ b/content/hi/docs/tasks/tools/install-kubectl-windows.md @@ -0,0 +1,184 @@ +--- +title: Windows पर kubectl इंस्टॉल और सेटअप करें +content_type: task +weight: 10 +card: + name: tasks + weight: 20 + title: Windows पर kubectl इंस्टॉल करें +--- + +## {{% heading "prerequisites" %}} + +आप kubectl संस्करण का उपयोग करे जो आपके क्लस्टर के एक माइनर संस्करण भीतर हो। उदाहरण के लिए, v{{< skew latestVersion >}} क्लाइंट v{{< skew prevMinorVersion >}}, v{{< skew latestVersion >}} और v{{< skew nextMinorVersion >}} कण्ट्रोल प्लेन के साथ कम्युनिकेट कर सकते हैं। +kubectl के नए संस्करण का उपयोग करने से समस्या से बचत हो सकती है। + +## Windows पर kubectl इंस्टॉल करें + +Windows पर kubectl संस्थापित करने के लिए निम्नलिखित विधियाँ मौजूद हैं: + +- [Windows पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें](#Windows-पर-curl-के-माध्यम-से-kubectl-बाइनरी-इंस्टॉल-करें) +- [Chocolatey या Scoop का उपयोग करके Windows पर इंस्टॉल करें](#Chocolatey-या-Scoop-का-उपयोग-करके-Windows-पर-इंस्टॉल-करें) + +### Windows पर curl के माध्यम से kubectl बाइनरी इंस्टॉल करें + +1. [latest release {{< param "fullversion" >}}](https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe) डाउनलोड करें। + + या यदि आपके पास `curl` है, तो इस कमांड का उपयोग करें: + + ```powershell + curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe + ``` + + {{< note >}} + नवीनतम स्थिर संस्करण का पता लगाने के लिए (जैसे, स्क्रिप्टिंग के लिए), [https://dl.k8s.io/release/stable.txt](https://dl.k8s.io/release/stable.txt) पर एक नज़र डालें। + {{< /note >}} + +1. बाइनरी को मान्य करें (वैकल्पिक) + + kubectl चेकसम फाइल डाउनलोड करें: + + ```powershell + curl -LO https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe.sha256 + ``` + + चेकसम फ़ाइल से kubectl बाइनरी को मान्य करें: + + - मैन्युअल रूप से कमांड प्रॉम्प्ट का उपयोग करके `CertUtil` के आउटपुट की तुलना डाउनलोडेड चेकसम फ़ाइल से करें: + + ```cmd + CertUtil -hashfile kubectl.exe SHA256 + type kubectl.exe.sha256 + ``` + + - `True` या `False` परिणाम प्राप्त करने के लिए `-eq` ऑपरेटर का उपयोग करके सत्यापन को ऑटोमेट करने के लिए powershell का उपयोग करें: + + ```powershell + $($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256) + ``` + +1. अपने `PATH` में बाइनरी जोड़ें। + +1. यह सुनिश्चित करने के लिए परीक्षण करें कि `kubectl` संस्करण डाउनलोड के समान है: + + ```cmd + kubectl version --client + ``` + +{{< note >}} +[Windows के लिए Docker Desktop](https://docs.docker.com/docker-for-windows/#kubernetes) `kubectl` का अपना संस्करण `PATH` में जोड़ता है। +यदि आपने पहले Docker Desktop स्थापित किया है, तो आपको Docker Desktop इंस्टॉलर द्वारा जोड़े गए एक `PATH` से पहले अपनी `PATH` प्रविष्टि डालने की आवश्यकता हो सकती है या Docker Desktop के `kubectl` को हटा दें। +{{< /note >}} + +### Chocolatey या Scoop का उपयोग करके Windows पर इंस्टॉल करें + +1. Windows पर kubectl इंस्टॉल करने के लिए आप या तो [Chocolatey](https://chocolatey.org) पैकेज मैनेजर अथवा [Scoop](https://scoop.sh) कमांड-लाइन इंस्टॉलर का उपयोग कर सकते हैं। + + {{< tabs name="kubectl_win_install" >}} + {{% tab name="choco" %}} + ```powershell + choco install kubernetes-cli + ``` + {{% /tab %}} + {{% tab name="scoop" %}} + ```powershell + scoop install kubectl + ``` + {{% /tab %}} + {{< /tabs >}} + +1. यह सुनिश्चित करने के लिए परीक्षण करें कि आपके द्वारा इंस्टॉल किया गया संस्करण उप-टू-डेट है: + + ```powershell + kubectl version --client + ``` + +1. अपनी होम डायरेक्टरी पर जाएं: + + ```powershell + # यदि आप cmd.exe का प्रयोग कर रहे हैं, तो: cd %USERPROFILE% + cd ~ + ``` + +1. `.kube` डायरेक्टरी बनाएं: + + ```powershell + mkdir .kube + ``` + +1. आपके द्वारा अभी बनाई गई `.kube` डायरेक्टरी में जाएं: + + ```powershell + cd .kube + ``` + +1. दूरस्थ कुबेरनेट्स क्लस्टर का उपयोग करने के लिए kubectl को कॉन्फ़िगर करें: + + ```powershell + New-Item config -type file + ``` + +{{< note >}} +अपनी पसंद के टेक्स्ट एडिटर जैसे नोटपैड का उपयोग कर कॉन्फिग फाइल को एडिट करें। +{{< /note >}} + +## kubectl कॉन्फ़िगरेशन सत्यापित करें + +{{< include "included/verify-kubectl.md" >}} + +## वैकल्पिक kubectl कॉन्फ़िगरेशन और प्लगइन्स + +### शेल ऑटोकम्प्लेशन सक्षम करें + +kubectl Bash और Zsh के लिए ऑटोकम्प्लेशन का सपोर्ट प्रदान करता है, जो आपको बहुत सारी टाइपिंग बचा सकता है। + +नीचे Zsh के लिए ऑटोकम्प्लेशन स्थापित करने की प्रक्रियाएँ हैं, यदि आप इसे Windows पर चला रहे हैं। + +{{< include "included/optional-kubectl-configs-zsh.md" >}} + +### इंस्टॉल `kubectl convert` प्लगइन + +{{< include "included/kubectl-convert-overview.md" >}} + +1. इस कमांड से नवीनतम रिलीज डाउनलोड करें: + + ```powershell + curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl-convert.exe + ``` + +1. बाइनरी को मान्य करें (वैकल्पिक) + + kubectl-convert चेकसम फ़ाइल डाउनलोड करें: + + ```powershell + curl -LO https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubectl-convert.exe.sha256 + ``` + + चेकसम फ़ाइल से kubectl-convert बाइनरी को मान्य करें: + + - मैन्युअल रूप से कमांड प्रॉम्प्ट का उपयोग करके `CertUtil` के आउटपुट की तुलना डाउनलोड किये गये चेकसम फ़ाइल से करें: + + ```cmd + CertUtil -hashfile kubectl-convert.exe SHA256 + type kubectl-convert.exe.sha256 + ``` + + - `True` या `False` परिणाम प्राप्त करने और `-eq` ऑपरेटर का उपयोग करके सत्यापन को ऑटोमेट करने के लिए Powershell का उपयोग करें: + + ```powershell + $($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256) + ``` + +1. अपने `PATH` में बाइनरी जोड़ें। + +1. सत्यापित करें कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है। + + ```shell + kubectl convert --help + ``` + + यदि आपको कोई त्रुटि नहीं दिखाई देती है, तो इसका मतलब है कि प्लगइन सफलतापूर्वक इंस्टॉल हो गया है। + +## {{% heading "whatsnext" %}} + +{{< include "included/kubectl-whats-next.md" >}} diff --git a/content/hi/docs/tutorials/_index.md b/content/hi/docs/tutorials/_index.md new file mode 100644 index 00000000000..5aa154622e4 --- /dev/null +++ b/content/hi/docs/tutorials/_index.md @@ -0,0 +1,65 @@ +--- +title: ट्यूटोरियल +main_menu: true +no_list: true +weight: 60 +content_type: concept +--- + + + +प्रलेखन के इस खंड में ट्यूटोरियल हैं। +ट्यूटोरियल दिखाता है कि किसी एकल कार्य से बड़े [लक्ष्य](/docs/tasks/) को कैसे पूरा किया जाए। +आमतौर पर एक ट्यूटोरियल में कई खंड होते हैं, +जिनमें से प्रत्येक में चरणों के क्रम होते हैं। +प्रत्येक ट्यूटोरियल से परिचित होने से पहले, हम आपको +[मानकीकृत शब्दावली](/docs/reference/glossary/) पृष्ट को बुकमार्क करने की सलाह देते हैं। + + +## मूलभूत + +* [मूलभूत कुबरनेट्स](/hi/docs/tutorials/kubernetes-basics/) एक गहन संवादात्मक ट्यूटोरियल है जो आपको कुबेरनेट्स प्रणाली को समझने और कुबेरनेट्स की कुछ बुनियादी सुविधाओं को आज़माने में मदद करता है। + +* [Introduction to Kubernetes (edX)](https://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x#) + +* [Hello Minikube](/hi/docs/tutorials/hello-minikube/) + +## विन्यास + +* [Example: Configuring a Java Microservice +](/docs/tutorials/configuration/configure-java-microservice/) (उदाहरण: Java माइक्रोसर्विस का विन्यास करना) + +* [Configuring Redis Using a ConfigMap](/docs/tutorials/configuration/configure-redis-using-configmap/) (कॉन्फिग मैप का उपयोग करके Redis का विन्यास करना) + +## स्टेटलेस एप्लीकेशन + + +* [Exposing an External IP Address to Access an Application in a Cluster](/docs/tutorials/stateless-application/expose-external-ip-address/) (किसी क्लस्टर में किसी एप्लिकेशन तक पहुंचने के लिए बाहरी आईपी पते को उजागर करना) + +* [Example: Deploying PHP Guestbook application with Redis](/docs/tutorials/stateless-application/guestbook/) (उदाहरण: रेडिस के साथ PHP गेस्टबुक एप्लिकेशन को उपयोग करना) + +## स्टेटफुल एप्लीकेशन + +* [स्टेटफुलसेट मूलभूत](/docs/tutorials/stateful-application/basic-stateful-set/) + +* [उदाहरण: दृढ़ वॉल्यूम के साथ वर्डप्रेस और MySQL](/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/) + +* [उदाहरण: कैसेंड्रा को स्टेटफुल सेट के साथ उपयोग करना](/docs/tutorials/stateful-application/cassandra/) + +* [एक CP वितरित प्रणाली, ज़ूकीपर चलाना](/docs/tutorials/stateful-application/zookeeper/) + +## क्लस्टर + +* [AppArmor](/docs/tutorials/clusters/apparmor/) + +* [seccomp](/docs/tutorials/clusters/seccomp/) + +## सर्विस + +* [सोर्स आईपी का उपयोग करना](/docs/tutorials/services/source-ip/) + +## {{% heading "whatsnext" %}} + +यदि आप एक ट्यूटोरियल लिखना चाहते हैं, तो +ट्यूटोरियल पेज प्रकार के बारे में जानकारी के लिए +[सामग्री पृष्ठ प्रकार](/docs/contribute/style/page-content-types/) देखें। diff --git a/content/hi/docs/tutorials/hello-minikube.md b/content/hi/docs/tutorials/hello-minikube.md new file mode 100644 index 00000000000..65cd3ee95bf --- /dev/null +++ b/content/hi/docs/tutorials/hello-minikube.md @@ -0,0 +1,306 @@ +--- +title: हेलो मिनीक्यूब +content_type: tutorial +weight: 5 +menu: + main: + title: "शुरू करते हैं" + weight: 10 + post: > +

तो क्या आप तैयार हैं? एक सामान्य ऐप चलाने के लिए के लिए एक साधारण कुबेरनेट्स क्लस्टर बनाएं।

+card: + name: tutorials + weight: 10 +--- + + + +यह ट्यूटोरियल आपको मिनिक्यूब और काटाकोडा का उपयोग करते हुए +कुबेरनेट्स पर एक साधारण ऐप चलाने का तरीका दिखाता है। +काटाकोडा आपके ब्राउज़र पर मुफ़्त कुबेरनेट्स वातावरण प्रदान करता है। + +{{< note >}} +यदि आपने अपने स्थानीय सिस्टम पर मिनीक्यूब स्थापित किया है तो आप इस ट्यूटोरियल का अनुसरण कर सकते हैं। +स्थापाना निर्देश के लिए [मिनीक्यूब पृष्ट](https://minikube.sigs.k8s.io/docs/start/) देखें। +{{< /note >}} + +## {{% heading "objectives" %}} + +* मिनीक्यूब में एक नमूना एप्लीकेशन डेप्लॉय करें। +* ऐप को चलाएं। +* एप्लिकेशन लॉग देखें। + +## {{% heading "prerequisites" %}} + + +यह ट्यूटोरियल एक कंटेनर इमेज प्रदान करता है जो सभी अनुरोधों को प्रतिध्वनित करने के लिए NGINX का उपयोग करता है। + + + + + +## एक मिनीक्यूब क्लस्टर बनाएं + +1. **Launch Terminal** पर क्लिक करें। + + {{< kat-button >}} + +{{< note >}} +यदि आपने स्थानीय रूप से मिनीक्यूब स्थापित किया है, तो `minikube start` चलाएँ। इससे पहले कि आप `minikube dashboard` चलाएं, आपको एक नया टर्मिनल खोलना चाहिए, वहां `minikube dashboard` शुरू करना चाहिए, और फिर मुख्य टर्मिनल पर वापस जाना चाहिए। +{{< /note >}} + +2. ब्राउज़र में कुबेरनेट्स डैशबोर्ड खोलें: + + ```shell + minikube dashboard + ``` + +3. केवल काटाकोडा वातावरण के लिए: टर्मिनल फलक के शीर्ष पर, प्लस(+) चिह्न पर क्लिक करें, और फिर **Select port to view on Host 1** क्लिक करें। + +4. केवल काटाकोडा वातावरण के लिए: `30000` टाइप करें, और फिर **Display Port** क्लिक करें। + +{{< note >}} +`dashboard` कमांड डैशबोर्ड ऐड-ऑन को इस्तेमाल के लिए तैयार करता है और प्रॉक्सी को डिफ़ॉल्ट वेब ब्राउज़र में खोलता है। +आप डैशबोर्ड पर कुबेरनेट्स संसाधन जैसे डेप्लॉयमेंट और सर्विस बना सकते हैं। + +यदि आप किसी वातावरण(environment) में रुट(root) के रूप में इस्तेमाल कर रहे हैं, तो [URL से डैशबोर्ड खोलना](#open-dashboard-with-url) देखें। + +आमतौर पर, डैशबोर्ड केवल आंतरिक कुबेरनेट्स वर्चुअल नेटवर्क के भीतर से ही पहुँचा जा सकता है। +डैशबोर्ड को कुबेरनेट्स वर्चुअल नेटवर्क के बाहर से एक्सेस करने योग्य बनाने के लिए `dashboard` कमांड एक अस्थायी प्रॉक्सी बनाता है। + +प्रॉक्सी को रोकने और प्रक्रिया से बाहर निकलने के लिए `Ctrl+C` का प्रयोग करें। +कमांड से बाहर निकलने के बाद, डैशबोर्ड कुबेरनेट्स क्लस्टर में चलता रहता है। +आप डैशबोर्ड तक पहुंचने और प्रॉक्सी बनाने के लिए फिर से `dashboard` कमांड चला सकते हैं। +{{< /note >}} + +## URL से डैशबोर्ड खोलें {#open-dashboard-with-url} + +यदि आप वेब ब्राउज़र नहीं खोलना चाहते हैं, तो URL प्राप्त करने के लिए url फ़्लैग के साथ `dashboard` कमांड चलाएँ: + +```shell +minikube dashboard --url +``` + +## डेप्लॉयमेंट बनाएँ + +कुबेरनेट्स [*पॉड*](/hi/docs/concepts/workloads/pods/) एक या अधिक कंटेनरों का एक समूह है, +जो प्रशासन और नेटवर्किंग के उद्देश्यों के लिए एक साथ बंधे होते हैं। इस ट्यूटोरियल के +पॉड में केवल एक कंटेनर है। कुबेरनेट्स +[*डेप्लॉयमेंट*](/hi/docs/concepts/workloads/controllers/deployment/) आपके पॉड के स्वास्थ्य की +जाँच करता है और यदि पॉड बंद हो जाता है तो पॉड के कंटेनर को पुनः आरंभ करता है। +पॉड्स के निर्माण और स्केलिंग को प्रबंधित करने के लिए डेप्लॉयमेंट अनुशंसित तरीका है। + +1. पॉड को प्रबंधित करने वाला डेप्लॉयमेंट बनाने के लिए `kubectl create` कमांड का उपयोग करें। पॉड +प्रदान की गई डॉकर इमेज के आधार पर एक कंटेनर चलाता है। + + ```shell + kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 + ``` + +2. डेप्लॉयमेंट देखें: + + ```shell + kubectl get deployments + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + NAME READY UP-TO-DATE AVAILABLE AGE + hello-node 1/1 1 1 1m + ``` + +3. पॉड देखें: + + ```shell + kubectl get pods + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + NAME READY STATUS RESTARTS AGE + hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m + ``` + +4. क्लस्टर इवेंट देखें: + + ```shell + kubectl get events + ``` + +5. `kubectl` कॉन्फ़िगरेशन देखें: + + ```shell + kubectl config view + ``` + +{{< note >}} +`kubectl` कमांड के बारे में अधिक जानकारी के लिए [kubectl अवलोकन](/docs/reference/kubectl/overview/) देखें। +{{< /note >}} + +## सर्विस बनाएं + +आमतौर पर, पॉड कुबेरनेट्स क्लस्टर के भीतर अपने आंतरिक IP पते से ही पहुँचा जा सकता है। +`hello-node` कंटेनर को कुबेरनेट्स वर्चुअल नेटवर्क के +बाहर से सुलभ बनाने के लिए,पॉड को +कुबेरनेट्स [*Service*](/docs/concepts/services-networking/service/)(सर्विस) के रूप में बेनकाब करना होगा। + +1. `kubectl expose` कमांड का उपयोग करके पॉड को सार्वजनिक इंटरनेट पर एक्सपोज़ करें: + + ```shell + kubectl expose deployment hello-node --type=LoadBalancer --port=8080 + ``` + + `--type=LoadBalancer` फ्लैग इंगित करता है कि आप क्लस्टर के बाहर + अपने सर्विस को प्रदर्शित करना चाहते हैं। + + इमेज के अंदर एप्लिकेशन कोड `k8s.gcr.io/echoserver` केवल TCP पोर्ट 8080 पर सुनता है। + यदि आपने किसी भिन्न पोर्ट को एक्सपोज़ करने के लिए `kubectl एक्सपोज़` का उपयोग किया है, तो क्लाइंट उस अन्य पोर्ट से जुड़ नहीं सकते। + +2. आपके द्वारा बनाई गई सर्विस देखें: + + ```shell + kubectl get service + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + hello-node LoadBalancer 10.108.144.78 8080:30369/TCP 21s + kubernetes ClusterIP 10.96.0.1 443/TCP 23m + ``` + + लोड बैलेंसर्स का समर्थन करने वाले क्लाउड प्रदाताओं पर, सर्विस तक पहुंचने के + लिए एक बाहरी IP पते का प्रावधान किया जाएगा। मिनीक्यूब पर, + `LoadBalancer` टाइप `minikube service` कमांड से सर्विस को + पहुंच योग्य बनाता है। + +3. निम्न आदेश चलाएँ: + + ```shell + minikube service hello-node + ``` + +4. केवल काटाकोडा वातावरण के लिए: प्लस(+) चिह्न पर क्लिक करें, और फिर **Select port to view on Host 1** क्लिक करें। + +5. केवल काटाकोडा वातावरण के लिए: सेवाओं के आउटपुट में `8080` के विपरीत प्रदर्शित 5 अंकों का पोर्ट नंबर नोट करें। यह पोर्ट नंबर बेतरतीब ढंग से उत्पन्न होता है और यह आपके लिए भिन्न हो सकता है। पोर्ट नंबर टेक्स्ट बॉक्स में अपना नंबर टाइप करें, फिर डिस्प्ले पोर्ट पर क्लिक करें। पहले के उदाहरण का उपयोग करते हुए, आप `30369` टाइप करेंगे। + + यह एक ब्राउज़र विंडो खोलता है जो आपके ऐप की प्रतिक्रिया दिखाती है। + +## ऐडऑन सक्षम करें + +मिनीक्यूब टूल में बिल्ट-इन {{< glossary_tooltip text="ऐडऑन" term_id="addons" >}}(add on) का एक समूह +शामिल है जिसे स्थानीय कुबेरनेट्स वातावरण में सक्षम, अक्षम और खोला जा सकता है। + +1. वर्तमान में उपलब्ध ऐडऑन की सूची: + + ```shell + minikube addons list + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + addon-manager: enabled + dashboard: enabled + default-storageclass: enabled + efk: disabled + freshpod: disabled + gvisor: disabled + helm-tiller: disabled + ingress: disabled + ingress-dns: disabled + logviewer: disabled + metrics-server: disabled + nvidia-driver-installer: disabled + nvidia-gpu-device-plugin: disabled + registry: disabled + registry-creds: disabled + storage-provisioner: enabled + storage-provisioner-gluster: disabled + ``` + +2. एक ऐडऑन सक्षम करें, उदाहरण के लिए, `metrics-server`: + + ```shell + minikube addons enable metrics-server + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + The 'metrics-server' addon is enabled + ``` + +3. आपके द्वारा बनाई गई पॉड और सर्विस देखें: + + ```shell + kubectl get pod,service -n kube-system + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + NAME READY STATUS RESTARTS AGE + pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m + pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m + pod/metrics-server-67fb648c5 1/1 Running 0 26s + pod/etcd-minikube 1/1 Running 0 34m + pod/influxdb-grafana-b29w8 2/2 Running 0 26s + pod/kube-addon-manager-minikube 1/1 Running 0 34m + pod/kube-apiserver-minikube 1/1 Running 0 34m + pod/kube-controller-manager-minikube 1/1 Running 0 34m + pod/kube-proxy-rnlps 1/1 Running 0 34m + pod/kube-scheduler-minikube 1/1 Running 0 34m + pod/storage-provisioner 1/1 Running 0 34m + + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + service/metrics-server ClusterIP 10.96.241.45 80/TCP 26s + service/kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 34m + service/monitoring-grafana NodePort 10.99.24.54 80:30002/TCP 26s + service/monitoring-influxdb ClusterIP 10.111.169.94 8083/TCP,8086/TCP 26s + ``` + +4. `metrics-server`अक्षम करें: + + ```shell + minikube addons disable metrics-server + ``` + + आउटपुट कुछ इस समान होगा: + + ``` + metrics-server was successfully disabled + ``` + +## साफ - सफाई + +अब आप अपने क्लस्टर में बनाए गए संसाधनों को साफ कर सकते हैं: + +```shell +kubectl delete service hello-node +kubectl delete deployment hello-node +``` + +वैकल्पिक रूप से, मिनिक्यूब वर्चुअल मशीन (VM) को बंद करें: + +```shell +minikube stop +``` + +वैकल्पिक रूप से, मिनिक्यूब VM को डिलीट करें: + +```shell +minikube delete +``` + + + +## {{% heading "whatsnext" %}} + + +* [डेप्लॉयमेंट ऑब्जेक्ट](/docs/concepts/workloads/controllers/deployment/) के बारे में अधिक जाने। +* [एप्लीकेशन डेप्लॉय](/docs/tasks/run-application/run-stateless-application-deployment/) करने के बारे में अधिक जाने। +* [सर्विस ऑब्जेक्ट](/docs/concepts/services-networking/service/) के बारे में अधिक जाने। diff --git a/content/hi/docs/tutorials/kubernetes-basics/_index.html b/content/hi/docs/tutorials/kubernetes-basics/_index.html new file mode 100644 index 00000000000..3897ef02e18 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/_index.html @@ -0,0 +1,117 @@ +--- +title: बुनियादी कुबेरनेट्स सीखें +linkTitle: बुनियादी कुबेरनेट्स सीखें +no_list: true +weight: 10 +card: + name: tutorials + weight: 20 + title: मूल बातें +--- + + + + + + + + + +
+ +
+ +
+
+

बुनियादी कुबेरनेट्स

+

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

+

इंटरैक्टिव ट्यूटोरियल का उपयोग करके, आप सीख सकते हैं:

+
    +
  • एक क्लस्टर पर कंटेनरीकृत एप्लीकेशन डिप्लॉय करें।
  • +
  • डिप्लॉयमेंट को स्केल करें।
  • +
  • नए सॉफ़्टवेयर संस्करण के साथ कंटेनरीकृत एप्लिकेशन को अपडेट करें।
  • +
  • कंटेनरीकृत एप्लिकेशन को डीबग करें।
  • +
+

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

+
+
+ +
+ +
+
+

कुबेरनेट्स आपके लिए क्या कर सकता है?

+

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

+
+
+ +
+ + + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/create-cluster/_index.md b/content/hi/docs/tutorials/kubernetes-basics/create-cluster/_index.md new file mode 100644 index 00000000000..59f1962ae01 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/create-cluster/_index.md @@ -0,0 +1,4 @@ +--- +title: एक क्लस्टर बनाएं +weight: 10 +--- diff --git a/content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html b/content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html new file mode 100644 index 00000000000..5da823f79d6 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html @@ -0,0 +1,38 @@ +--- +title: इंटरएक्टिव ट्यूटोरियल - एक क्लस्टर बनाना +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ टर्मिनल के साथ इंटरैक्ट करने के लिए स्क्रीन बहुत संकरी है, कृपया डेस्कटॉप या टैबलेट का उपयोग करें। +
+
+
+ + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html b/content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html new file mode 100644 index 00000000000..e1ef116278b --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html @@ -0,0 +1,106 @@ +--- +title: Minikube का उपयोग कर क्लस्टर बनाना +weight: 10 +--- + + + + + + + + + +
+ +
+ +
+ +
+

Objectives

+
    +
  • जानें कुबेरनेट्स क्लस्टर क्या है।
  • +
  • जानें मिनिक्यूब क्या है।
  • +
  • एक ऑनलाइन टर्मिनल का उपयोग करके कुबेरनेट्स क्लस्टर प्रारंभ करें।
  • +
+
+ +
+

कुबेरनेट्स क्लस्टर

+

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

+

कुबेरनेट्स क्लस्टर में दो प्रकार के संसाधन होते हैं: +

    +
  • कंट्रोल प्लेन क्लस्टर का समन्वय करता है
  • +
  • नोड्स वे कर्मचारी हैं जो एप्लिकेशन चलाते हैं
  • +
+

+
+ +
+
+

सारांश:

+
    +
  • कुबेरनेट्स क्लस्टर
  • +
  • मिनिक्यूब
  • +
+
+
+

+ कुबेरनेट्स एक प्रोडक्शन-ग्रेड, ओपन-सोर्स प्लेटफॉर्म है जो कंप्यूटर क्लस्टर के भीतर और उसके भीतर एप्लिकेशन कंटेनरों के प्लेसमेंट (शेड्यूलिंग) और निष्पादन को व्यवस्थित करता है। +

+
+
+
+
+ +
+
+

क्लस्टर आरेख

+
+
+ +
+
+

+
+
+
+ +
+
+

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

+

नोड एक VM या एक भौतिक कंप्यूटर है जो कुबेरनेट्स क्लस्टर में एक वर्कर मशीन के रूप में कार्य करता है। प्रत्येक नोड में एक kubelet होता है, जो नोड के प्रबंधन और कुबेरनेट्स नियंत्रण के साथ संचार करने के लिए एक एजेंट है। नोड में कंटेनर संचालन को संभालने के लिए उपकरण भी होने चाहिए, जैसे कि containerd या Docker। उत्पादन ट्रैफ़िक को संभालने वाले कुबेरनेट्स क्लस्टर में कम से कम तीन नोड होने चाहिए।

+ +
+
+
+

कंट्रोल प्लेन क्लस्टर और नोड्स को मैनेज करते हैं जिनका उपयोग रनिंग एप्लिकेशन को होस्ट करने के लिए किया जाता है।

+
+
+
+ +
+
+

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

+

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

+

अब जब आप जानते हैं कि कुबेरनेट्स क्या है, तो आइए ऑनलाइन ट्यूटोरियल पर जाएं और अपना पहला क्लस्टर शुरू करें!

+ +
+
+
+ + + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/deploy-app/_index.md b/content/hi/docs/tutorials/kubernetes-basics/deploy-app/_index.md new file mode 100644 index 00000000000..2734fdb5f05 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/deploy-app/_index.md @@ -0,0 +1,4 @@ +--- +title: डिप्लॉय ऐप +weight: 20 +--- diff --git a/content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html b/content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html new file mode 100644 index 00000000000..f9c9ff023c5 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html @@ -0,0 +1,51 @@ +--- +title: इंटरैक्टिव ट्यूटोरियल - ऐप डिप्लॉय करें +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+

+ पॉड कुबेरनेट्स एप्लिकेशन की मूल निष्पादन इकाई है। प्रत्येक पॉड आपके क्लस्टर पर चल रहे कार्यभार के एक हिस्से का प्रतिनिधित्व करता है। पॉड के बारे में अधिक जानें। +

+
+
+ +
+
+
+ टर्मिनल का उपयोग करने के लिए, कृपया डेस्कटॉप या टैबलेट संस्करण का उपयोग करें +
+ +
+
+ +
+ + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html b/content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html new file mode 100644 index 00000000000..10022ef7b69 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html @@ -0,0 +1,106 @@ +--- +title: डिप्लॉयमेंट बनाने के लिए kubectl का उपयोग करना +weight: 10 +--- + + + + + + + + + +
+ +
+ +
+ +
+

उद्देश्यों

+
    +
  • एप्लिकेशन डिप्लॉयमेंट के बारे में जानें।
  • +
  • कुबेरनेट्स पर kubectl के साथ अपना पहला ऐप डिप्लॉय करें।
  • +
+
+ +
+

कुबेरनेट्स डिप्लॉयमेंट

+ +

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

+ +

एक बार एप्लिकेशन इंस्टेंस बन जाने के बाद, कुबेरनेट्स डिप्लॉयमेंट कंट्रोलर लगातार उन इंस्टेंस की निगरानी करता है। यदि किसी इंस्टेंस को होस्ट करने वाला नोड बंद हो जाता है या हटा दिया जाता है, तो डिप्लॉयमेंट कंट्रोलर क्लस्टर में इंस्टेंस को किसी अन्य नोड के इंस्टेंस से बदल देता है। यह मशीन की विफलता या रखरखाव को दूर करने के लिए एक स्व-उपचार तंत्र प्रदान करता है।

+ +

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

+ +
+ +
+
+

सारांश:

+
    +
  • डिप्लॉयमेंट
  • +
  • kubectl
  • +
+
+
+

आपके एप्लिकेशन के इंस्टेंस बनाने और अपडेट करने के लिए एक डिप्लॉयमेंट जिम्मेदार है

+
+
+
+
+ +
+
+

कुबेरनेट्स पर अपना पहला ऐप डिप्लॉय करें

+
+
+ +
+
+

+
+
+
+ +
+

+

आप कुबेरनेट्स कमांड लाइन इंटरफेस, kubectl का उपयोग करके डिप्लॉयमेंट बना और प्रबंधित कर सकते हैं। kubectl क्लस्टर के साथ बातचीत करने के लिए कुबेरनेट्स एपीआई का उपयोग करता है। इस मॉड्यूल में, आप कुबेरनेट्स क्लस्टर पर आपके एप्लिकेशन चलाने वाले डिप्लॉयमेंट बनाने के लिए आवश्यक सबसे सामान्य kubectl कमांड सीखेंगे।

+ +

जब आप कोई डिप्लॉयमेंट बनाते हैं, तो आपको अपने एप्लिकेशन के लिए कंटेनर इमेज और चलाने के लिए इच्छित प्रतिकृतियों की संख्या निर्दिष्ट करने की आवश्यकता होगी। आप अपने कामकाज को अपडेट करके बाद में उस जानकारी को बदल सकते हैं; बूटकैंप के मॉड्यूल 5 और 6 चर्चा करते हैं कि आप अपने डिप्लॉयमेंट को कैसे स्केल और अपडेट कर सकते हैं।

+ + + +
+
+
+

कुबेरनेट्स पर डिप्लॉयड होने के लिए एप्लीकेशन को समर्थित कंटेनर प्रारूपों में से एक में पैक करने की आवश्यकता है

+
+
+
+ +
+
+

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

+ +

अब जब आप जानते हैं कि डिप्लॉयमेंट क्या हैं, तो चलिए ऑनलाइन ट्यूटोरियल पर चलते हैं और अपना पहला ऐप डिप्लॉय करते हैं!

+ +
+
+
+ + + + + + + + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/explore/_index.md b/content/hi/docs/tutorials/kubernetes-basics/explore/_index.md new file mode 100644 index 00000000000..0d00adedfb3 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/explore/_index.md @@ -0,0 +1,4 @@ +--- +title: ऐप का अन्वेषण करें +weight: 30 +--- diff --git a/content/hi/docs/tutorials/kubernetes-basics/explore/explore-interactive.html b/content/hi/docs/tutorials/kubernetes-basics/explore/explore-interactive.html new file mode 100644 index 00000000000..67a7c4608c8 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/explore/explore-interactive.html @@ -0,0 +1,43 @@ +--- +title: इंटरैक्टिव ट्यूटोरियल - अपने ऐप को अन्वेषण करना +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ +
+ टर्मिनल के साथ उपयोग करने के लिए, कृपया डेस्कटॉप/टैबलेट संस्करण का उपयोग करें +
+ +
+
+
+ + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html b/content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html new file mode 100644 index 00000000000..cbf9924b566 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/explore/explore-intro.html @@ -0,0 +1,143 @@ +--- +title: पॉड्स और नोड्स की जांच करना +weight: 10 +--- + + + + + + + + + + +
+ +
+ +
+ +
+

उद्देश्य

+
    +
  • कुबेरनेट्स पॉड्स के बारे में जानें।
  • +
  • कुबेरनेट्स नोड्स के बारे में जानें।
  • +
  • डिप्लॉयड एप्लीकेशन का समस्या निवारण करें।
  • +
+
+ +
+

कुबेरनेट्स पॉड्स

+

जब आपने मॉड्यूल 2 में एक एप्लीकेशन बनाया, तो कुबेरनेट्स ने आपके एप्लिकेशन इंस्टेंस को होस्ट करने के लिए एक पॉड बनाया। पॉड एक कुबेरनेट्स एब्स्ट्रैक्शन है जो एक या अधिक एप्लिकेशन कंटेनरों (जैसे डॉकर) के समूह और उन कंटेनरों के लिए कुछ साझा संसाधनों का प्रतिनिधित्व करता है। उन संसाधनों में शामिल हैं:

+
    +
  • साझा स्टोरेज, वॉल्यूम के रूप में
  • +
  • नेटवर्किंग, एक अद्वितीय क्लस्टर IP पते के रूप में
  • +
  • प्रत्येक कंटेनर को चलाने के तरीके के बारे में जानकारी, जैसे कंटेनर इमेज संस्करण या उपयोग करने के लिए विशिष्ट पोर्ट
  • +
+

एक पॉड एक एप्लिकेशन-विशिष्ट "लॉजिकल होस्ट" मॉडल करता है और इसमें विभिन्न एप्लिकेशन कंटेनर हो सकते हैं जो अपेक्षाकृत कसकर युग्मित होते हैं। उदाहरण के लिए, एक पॉड में आपके Node.js ऐप के साथ-साथ एक अलग कंटेनर दोनों शामिल हो सकते हैं जो Node.js वेबसर्वर द्वारा प्रकाशित किए जाने वाले डेटा को फीड करता है। पॉड में कंटेनर एक IP एड्रेस और पोर्ट स्पेस साझा करते हैं जो हमेशा सह-स्थित और सह-अनुसूचित होते हैं, और एक ही नोड पर एक साझा संदर्भ में चलते हैं।

+ +

कुबेरनेट्स प्लेटफॉर्म पर पॉड्स सबसे छोटे इकाई हैं। जब हम कुबेरनेट्स पर एक डिप्लॉयमेंट बनाते हैं, तो वह डिप्लॉयमेंट अपने अंदर कंटेनरों के साथ पॉड बनाता है (नाकि सीधे कंटेनर)। प्रत्येक पॉड उस नोड से जुड़ा होता है जहां वह निर्धारित होता है, और समाप्ति (रीस्टार्ट नीति के अनुसार) या विलोपन तक वहीं रहता है। नोड की विफलता के मामले में, क्लस्टर में अन्य उपलब्ध नोड्स पर समान पॉड्स शेड्यूल किए जाते हैं।

+ +
+
+
+

सारांश:

+
    +
  • पॉड्स
  • +
  • नोड्स
  • +
  • kubectl के मुख्य कमांड
  • +
+
+
+

+ एक पॉड एक या एक से अधिक एप्लिकेशन कंटेनरों (जैसे डॉकर) का एक समूह है और इसमें साझा स्टोरेज (वॉल्यूम), IP पता और उन्हें चलाने के तरीके के बारे में जानकारी शामिल होती है । +

+
+
+
+
+ +
+
+

पॉड्स अवलोकन

+
+
+ +
+
+

+
+
+
+ +
+
+

नोड्स

+

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

+ +

प्रत्येक कुबेरनेट्स नोड पर कम से कम ये चलते हैं:

+
    +
  • क्यूबलेट, कुबेरनेट्स कण्ट्रोल प्लेन और नोड के बीच संचार के लिए जिम्मेदार एक प्रक्रिया; यह पॉड्स और मशीन पर चलने वाले कंटेनरों का प्रबंधन करता है।
  • +
  • एक कंटेनर रनटाइम (जैसे डॉकर), एक रजिस्ट्री से कंटेनर इमेज को पुल करने, कंटेनर को अनपैक करने और एप्लिकेशन चलाने के लिए।
  • +
+ +
+
+
+

कंटेनरों को केवल एक ही पॉड में एक साथ शेड्यूल किया जाना चाहिए यदि वे कसकर युग्मित हैं और डिस्क जैसे संसाधनों को साझा करने की आवश्यकता है।

+
+
+
+ +
+ +
+
+

नोड अवलोकन

+
+
+ +
+
+

+
+
+
+ +
+
+

kubectl के साथ समस्या निवारण

+

मॉड्यूल 2 में, आपने कमांड लाइन इंटरफ़ेस का उपयोग किया है। डेप्लॉयड एप्लीकेशन और उनके एनवायरनमेंट के बारे में जानकारी प्राप्त करने के लिए आप मॉड्यूल 3 में इसका उपयोग करना जारी रखेंगे। सबसे आम ऑपरेशन निम्नलिखित kubectl कमांड के साथ किया जा सकता है:

+
    +
  • kubectl get - संसाधनों की सूची बनाएं
  • +
  • kubectl describe - संसाधन के बारे में विस्तृत जानकारी दिखाएं
  • +
  • kubectl logs - पॉड में कंटेनर के लॉग प्रिंट करें
  • +
  • kubectl exec - पॉड में कंटेनर पर कमांड चलाए
  • +
+ +

आप इन कमांड का उपयोग यह देखने के लिए कर सकते हैं कि एप्लिकेशन कब डिप्लॉय किए गए थे, उनकी वर्तमान स्थिति क्या है, वे कहां चल रहे हैं और उनके कॉन्फ़िगरेशन क्या हैं।

+ +

अब जब हम अपने क्लस्टर कॉम्पोनेन्ट और कमांड लाइन के बारे में जानते हैं, तो आइए हमारे एप्लिकेशन को देखें।

+ +
+
+
+

कुबेरनेट्स में एक नोड एक कार्यकर्ता मशीन है और क्लस्टर के आधार पर एक वीएम या वर्चुअल मशीन हो सकती है। एक नोड पर कई पॉड चल सकते हैं।

+
+
+
+
+ + + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/expose/_index.md b/content/hi/docs/tutorials/kubernetes-basics/expose/_index.md new file mode 100644 index 00000000000..0184d449fb5 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/expose/_index.md @@ -0,0 +1,4 @@ +--- +title: अपने ऐप को सार्वजनिक रूप से एक्सपोस करें +weight: 40 +--- diff --git a/content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html b/content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html new file mode 100644 index 00000000000..b3ce4f5da53 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/expose/expose-interactive.html @@ -0,0 +1,40 @@ +--- +title: इंटरएक्टिव ट्यूटोरियल - अपने ऐप को एक्सपोज़ करना +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ टर्मिनल का उपयोग करने के लिए, कृपया डेस्कटॉप या टैबलेट संस्करण का उपयोग करें +
+
+
+
+ + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html b/content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html new file mode 100644 index 00000000000..e7686cd1a76 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/expose/expose-intro.html @@ -0,0 +1,114 @@ +--- +title: अपने ऐप को एक्सपोज़ करने के लिए किसी सर्विस का उपयोग करना +weight: 10 +--- + + + + + + + + + +
+ +
+ +
+
+

उद्देश्य

+
    +
  • कुबेरनेट्स में सर्विस के बारे में जानें
  • +
  • समझें कि लेबल और लेबल चयनकर्ता ऑब्जेक्ट किसी सर्विस से कैसे संबंधित हैं
  • +
  • सर्विस का उपयोग करके कुबेरनेट्स क्लस्टर के बाहर किसी एप्लिकेशन को एक्सपोज़ करें
  • +
+
+ +
+

कुबेरनेट्स सर्विसों का अवलोकन

+ +

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

+ +

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

+ +

यद्यपि प्रत्येक पॉड का एक विशिष्ट आईपी पता होता है, लेकिन उन आईपी को सर्विस के बिना क्लस्टर के बाहर उजागर नहीं किया जाता है। सर्विस आपके एप्लिकेशन को ट्रैफ़िक प्राप्त करने देती हैं। ServiceSpec: में type निर्दिष्ट करके सर्विसों को अलग-अलग तरीकों से उजागर किया जा सकता है:

+ +
    +
  • क्लस्टर IP (डिफ़ॉल्ट) - क्लस्टर में किसी आंतरिक IP पर सर्विस को एक्सपोज़ करें। यह प्रकार सर्विस को केवल क्लस्टर के भीतर से ही पहुंच योग्य बनाता है।
  • + +
  • नोडपोर्ट - NAT का उपयोग करके क्लस्टर में प्रत्येक चयनित नोड के एक ही पोर्ट पर सेवा को प्रदर्शित करता है। <NodeIP>:<NodePort> का उपयोग करके किसी सेवा को क्लस्टर के बाहर से एक्सेस योग्य बनाता है। क्लस्टरआईपी का सुपरसेट।
  • + +
  • लोड बैलेंसर - मौजूदा क्लाउड (यदि समर्थित हो) में एक बाहरी लोड बैलेंसर बनाता है और सर्विस को एक निश्चित, बाहरी आईपी असाइन करता है। नोडपोर्ट का सुपरसेट।
  • + +
  • एक्सटर्नल-नाम - सेवा को externalName फ़ील्ड (जैसे foo.bar.example.com) की सामग्री से मैप करता है, एक लौटाकर CNAME अपने मान के साथ रिकॉर्ड करें। किसी भी प्रकार का कोई प्रॉक्सी सेट अप नहीं किया गया है। इस प्रकार के लिए v1.7 या उच्चतर kube-dns, या कोरडीएनएस संस्करण 0.0.8 या उच्चतर की आवश्यकता होती है।
  • + +
+ +

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

+ +

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

+ +
+
+
+

सारांश

+
    +
  • पॉड्स को बाहरी ट्रैफ़िक में एक्सपोज़ करना
  • +
  • एकाधिक पॉड्स में संतुलन ट्रैफ़िक लोड करें
  • +
  • लेबल का उपयोग
  • +
+
+
+

कुबेरनेट्स सर्विस एक अमूर्त परत है जो पॉड्स के तार्किक सेट को परिभाषित करती है और उन पॉड्स के लिए बाहरी ट्रैफ़िक एक्सपोज़र, लोड बैलेंसिंग और सर्विस डिस्कवरी को सक्षम बनाती है।

+
+
+
+
+ +
+
+

सेवाएं और लेबल

+
+
+ +
+
+

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

+ +

सर्विस लेबल और चयनकर्ताओं का उपयोग करके पॉड्स के एक सेट से मेल खाती हैं, एक समूहबद्ध आदिम जो Kubernetes में ऑब्जेक्ट पर तार्किक संचालन की अनुमति देता है . लेबल वस्तुओं से जुड़े कुंजी/मूल्य जोड़े होते हैं और इन्हें किसी भी तरह से उपयोग किया जा सकता है:

+ +
    +
  • डिप्लॉयमेंट,परीक्षण और प्रोडक्शन के लिए वस्तुओं को नामित करें
  • +
  • संस्करण टैग जोड़ें
  • +
  • टैग का उपयोग करके ऑब्जेक्ट्स को वर्गीकृत करें
  • +
+
+ +
+ +
+ +
+
+

+
+
+
+
+
+

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

+
+
+
+ +
+
+ + + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/scale/_index.md b/content/hi/docs/tutorials/kubernetes-basics/scale/_index.md new file mode 100644 index 00000000000..e466fb1dd18 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/scale/_index.md @@ -0,0 +1,4 @@ +--- +title: अपने ऐप को स्केल करें +weight: 50 +--- diff --git a/content/hi/docs/tutorials/kubernetes-basics/scale/scale-interactive.html b/content/hi/docs/tutorials/kubernetes-basics/scale/scale-interactive.html new file mode 100644 index 00000000000..5559fccfa01 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/scale/scale-interactive.html @@ -0,0 +1,42 @@ +--- +title: इंटरएक्टिव ट्यूटोरियल - अपने ऐप को स्केल करना +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ टर्मिनल के साथ बातचीत करने के लिए, कृपया डेस्कटॉप/टैबलेट संस्करण का उपयोग करें +
+
+
+
+ + +
+ + + +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/scale/scale-intro.html b/content/hi/docs/tutorials/kubernetes-basics/scale/scale-intro.html new file mode 100644 index 00000000000..cb33b8f8d4d --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/scale/scale-intro.html @@ -0,0 +1,121 @@ +--- +title: अपने ऐप के कई इंस्टेंस चलाना +weight: 10 +--- + + + + + + + + + +
+ +
+ +
+ +
+

उद्देश्य

+
    +
  • kubectl का उपयोग करके किसी ऐप को स्केल करें।
  • +
+
+ +
+

एक एप्लीकेशन को स्केल करना

+ +

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

+ +

डिप्लॉयमेंट में रेप्लिका की संख्या को बदलकर स्केलिंग पूरा किया जाता है

+ +
+
+
+

सारांश:

+
    +
  • एक डिप्लॉयमेंट को स्केल करना
  • +
+
+
+

आप kubectl create deployment कमांड के लिए --replicas पैरामीटर का उपयोग करके कई इंस्टेंस के साथ एक डिप्लॉयमेंट शुरू से बना सकते हैं।

+
+
+
+
+ +
+
+

स्केलिंग अवलोकन

+
+
+ +
+
+
+ +
+
+ +
+ +
+
+ +

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

+ +

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

+ +
+
+
+

डिप्लॉयमेंट में रेप्लिका की संख्या को बदलकर स्केलिंग को पूरा किया जाता है।

+
+
+
+ +
+ +
+
+

एक बार जब आपके पास किसी एप्लिकेशन के चलने के कई इंस्टेंस हैं, तो आप डाउनटाइम के बिना रोलिंग अपडेट करने में सक्षम होंगे। हम इसे अगले मॉड्यूल में करेंगे। अब, ऑनलाइन टर्मिनल पर चलते हैं और हमारे एप्लिकेशन को स्केल करते हैं।

+
+
+
+ + + +
+ +
+ + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/update/_index.md b/content/hi/docs/tutorials/kubernetes-basics/update/_index.md new file mode 100644 index 00000000000..ff7d693aecd --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/update/_index.md @@ -0,0 +1,4 @@ +--- +title: अपना ऐप अपडेट करें +weight: 60 +--- diff --git a/content/hi/docs/tutorials/kubernetes-basics/update/update-interactive.html b/content/hi/docs/tutorials/kubernetes-basics/update/update-interactive.html new file mode 100644 index 00000000000..3ef4b1c664d --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/update/update-interactive.html @@ -0,0 +1,42 @@ +--- +title: इंटरएक्टिव ट्यूटोरियल - अपने ऐप को अपडेट करना +weight: 20 +--- + + + + + + + + + + + +
+ +
+ +
+
+ टर्मिनल का उपयोग करने के लिए, कृपया डेस्कटॉप या टैबलेट मोड का उपयोग करें +
+
+
+
+ +
+ +
+ + + + + + + diff --git a/content/hi/docs/tutorials/kubernetes-basics/update/update-intro.html b/content/hi/docs/tutorials/kubernetes-basics/update/update-intro.html new file mode 100644 index 00000000000..f69d8256167 --- /dev/null +++ b/content/hi/docs/tutorials/kubernetes-basics/update/update-intro.html @@ -0,0 +1,137 @@ +--- +title: रोलिंग अपडेट करना +weight: 10 +--- + + + + + + + + + + +
+ +
+ +
+ +
+

उद्देश्य

+
    +
  • kubectl का उपयोग करके रोलिंग अपडेट करें।
  • +
+
+ +
+

एप्लिकेशन को अपडेट करना

+ +

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

+ +

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

+ +
+
+
+

सारांश:

+
    +
  • ऐप अपडेट करना
  • +
+
+
+

रोलिंग अपडेट पॉड्स को नए इंस्टेंस के साथ अपडेट करके डिप्लॉयमेंट के अपडेट को शून्य डाउनटाइम के साथ होने देता है।

+
+
+
+
+ +
+
+

रोलिंग अपडेट अवलोकन

+
+
+
+
+
+ +
+
+
+ +
+
+ +

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

+ +

रोलिंग अपडेट निम्नलिखित क्रियाओं की अनुमति देते हैं:

+
    +
  • किसी एप्लिकेशन को एक एनवायरनमेंट से दूसरे एनवायरनमेंट में प्रचारित करें (कंटेनर इमेज अपडेट के माध्यम से)
  • +
  • पिछले संस्करणों में रोलबैक करें
  • +
  • शून्य डाउनटाइम के साथ एप्लीकेशन का निरंतर इंटीग्रेशन और निरंतर डिलीवरी
  • + +
+ +
+
+
+

यदि कोई डिप्लॉयमेंट सार्वजनिक रूप से प्रकट होता है, तो सर्विस अपडेट के दौरान केवल उपलब्ध पॉड्स पर ट्रैफ़िक लोड-बैलेंस करेगी।

+
+
+
+ +
+ +
+
+

निम्नलिखित इंटरैक्टिव ट्यूटोरियल में हम अपने एप्लिकेशन को एक नए संस्करण में अपडेट और रोलबैक करेंगे।

+
+
+
+ + + +
+ +
+ + + diff --git a/content/hi/includes/task-tutorial-prereqs.md b/content/hi/includes/task-tutorial-prereqs.md new file mode 100644 index 00000000000..dbbba6c096a --- /dev/null +++ b/content/hi/includes/task-tutorial-prereqs.md @@ -0,0 +1,8 @@ +आपको कुबरनेट्स क्लस्टर की ज़रूरत पड़ेगी और क्यूब सीटीएल कमांड लाइन साधन को +समनुरूप करना होगा ताकि वो आपके क्लस्टर के साथ संवाद कर सकें। हमारी सलाह है की इस टुटोरिअल को क्लस्टर में रन करने के लिए कम से कम दो नोड का इस्तेमाल करे जो कि कंट्रोल प्लेन +होस्ट के तरह ना एक्ट करे। अगर आपके पास पहले से क्लस्टर नही है, आप +[minikube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node/) +की मदद से वह बना सकते है या आप नीचे दिए हुए इन दो कुबरनेट्स प्लेग्राउंड का इस्तेमाल कर सकते हैं: + +* [Katacoda](https://www.katacoda.com/courses/kubernetes/playground) +* [प्ले विथ कुबेरनेट्स](http://labs.play-with-k8s.com/) diff --git a/content/hi/releases/_index.md b/content/hi/releases/_index.md new file mode 100644 index 00000000000..d35bcbb253e --- /dev/null +++ b/content/hi/releases/_index.md @@ -0,0 +1,27 @@ +--- +linktitle: रिलीज़ इतिहास +title: रिलीज़ +type: docs +--- + + + + +कुबेरनेट्स परियोजना हाल के तीन छोटी रिलीज़ ({{< skew latestVersion >}}, {{< skew prevMinorVersion >}}, {{< skew oldestMinorVersion >}}) के रिलीज़ शाखाओं को बनाए रखती है। कुबेरनेट्स 1.19 और उसके बाद के नए रिलीज़ को लगभग 1 वर्ष का पैच समर्थन प्राप्त होता है। कुबेरनेट्स 1.18 और पुराने रिलीज़ को लगभग 9 महीने का पैच समर्थन मिला। + +कुबेरनेट्स संस्करण **x.y.z** के रूप में व्यक्त किए जाते हैं, +जहां **x** प्रमुख संस्करण है, **y** लघु संस्करण है, और **z** [सिमेंटिक वर्जनिंग](https://semver.org/) शब्दावली का पालन करते हुए पैच संस्करण है। + +अधिक जानकारी [संस्करण की स्क्यू नीति](/releases/version-skew-policy/) दस्तावेज़ में है। + + + +## रिलीज़ इतिहास + +{{< release-data >}} + +## आगामी रिलीज़ + +आने वाले **{{< skew nextMinorVersion >}}** कुबेरनेट्स रिलीज़ का [कार्यक्रम](https://github.com/kubernetes/sig-release/tree/master/releases/release-{{< skew nextMinorVersion >}}) देखें। + +## सहायक संसाधन diff --git a/data/i18n/hi/hi.toml b/data/i18n/hi/hi.toml index 2e5d6ad331f..c63259c557f 100644 --- a/data/i18n/hi/hi.toml +++ b/data/i18n/hi/hi.toml @@ -1,195 +1,283 @@ -# i18n strings for the English (main) site. - -[deprecation_warning] -other = " documentation is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date documentation, see the " - -[deprecation_file_warning] -other = "Deprecated" - -[objectives_heading] -other = "Objectives" - -[cleanup_heading] -other = "Cleaning up" - -[prerequisites_heading] -other = "Before you begin" - -[whatsnext_heading] -other = "What's next" - -[feedback_heading] -other = "Feedback" - -[feedback_question] -other = "Was this page helpful?" - -[feedback_yes] -other = "Yes" - -[feedback_no] -other = "No" - -[latest_version] -other = "latest version." - -[version_check_mustbe] -other = "Your Kubernetes server must be version " - -[version_check_mustbeorlater] -other = "Your Kubernetes server must be at or later than version " - -[version_check_tocheck] -other = "To check the version, enter " +# i18n strings for Hindi version of the site. +# NOTE: Please keep the entries in alphabetical order when editing [caution] -other = "Caution:" +other = "सावधानी:" -[note] -other = "Note:" +[cleanup_heading] +other = "सफाई करना" -[warning] -other = "Warning:" +[community_events_calendar] +other = "घटनाक्रम कैलेंडर" -[main_read_about] -other = "Read about" +[community_forum_name] +other = "फोरम" -[main_read_more] -other = "Read more" - -[main_github_invite] -other = "Interested in hacking on the core Kubernetes code base?" - -[main_github_view_on] -other = "View On GitHub" - -[main_github_create_an_issue] -other = "Create an Issue" - -[main_community_explore] -other = "Explore the community" - -[main_kubernetes_features] -other = "Kubernetes Features" - -[main_cncf_project] -other = """We are a CNCF graduated project

""" - -[main_kubeweekly_baseline] -other = "Interested in receiving the latest Kubernetes news? Sign up for KubeWeekly." - -[main_kubernetes_past_link] -other = "View past newsletters" - -[main_kubeweekly_signup] -other = "Subscribe" - -[main_contribute] -other = "Contribute" - -[main_edit_this_page] -other = "Edit This Page" - -[main_page_history] -other ="Page History" - -[main_page_last_modified_on] -other = "Page last modified on" - -[main_by] -other = "by" - -[main_documentation_license] -other = """The Kubernetes Authors | Documentation Distributed under CC BY 4.0""" - -[main_copyright_notice] -other = """The Linux Foundation ®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page""" - -# Labels for the docs portal home page. -[docs_label_browse] -other = "Browse Docs" - -[docs_label_contributors] -other = "Contributors" - -[docs_label_users] -other = "Users" - -[docs_label_i_am] -other = "I AM..." - -# layouts > blog > pager - -[layouts_blog_pager_prev] -other = "<< Prev" - -[layouts_blog_pager_next] -other = "Next >>" - -# layouts > blog > list - -[layouts_case_studies_list_tell] -other = "Tell your story" - -# layouts > docs > glossary - -[layouts_docs_glossary_description] -other = "This glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to K8s, as well as more general terms that provide useful context." - -[layouts_docs_glossary_filter] -other = "Filter terms according to their tags" - -[layouts_docs_glossary_select_all] -other = "Select all" - -[layouts_docs_glossary_deselect_all] -other = "Deselect all" - -[layouts_docs_glossary_aka] -other = "Also known as" - -[layouts_docs_glossary_click_details_before] -other = "Click on the" - -[layouts_docs_glossary_click_details_after] -other = "indicators below to get a longer explanation for any particular term." - -# layouts > docs > search - -[layouts_docs_search_fetching] -other = "Fetching results.." - -# layouts > partial > feedback - -[layouts_docs_partials_feedback_thanks] -other = "Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on" - -[layouts_docs_partials_feedback_issue] -other = "Open an issue in the GitHub repo if you want to " - -[layouts_docs_partials_feedback_problem] -other = "report a problem" - -[layouts_docs_partials_feedback_or] -other = "or" - -[layouts_docs_partials_feedback_improvement] -other = "suggest an improvement" - -# Community links -[community_twitter_name] -other = "Twitter" [community_github_name] other = "GitHub" + [community_slack_name] other = "Slack" + [community_stack_overflow_name] other = "Stack Overflow" -[community_forum_name] -other = "Forum" -[community_events_calendar] -other = "Events Calendar" -# UI elements +[community_twitter_name] +other = "Twitter" + +[community_youtube_name] +other = "YouTube" + +[deprecation_title] +other = "आप इस कुबेरनेट्स संस्करण के लिए प्रलेखन देख रहे हैं:" + +[deprecation_warning] +other = " प्रलेखन अब सक्रिय रूप से मेंटेन नहीं है। वर्तमान में आप जो संस्करण देख रहे हैं वह एक स्टैटिक स्नैपशॉट है। अप-टू-डेट प्रलेखन के लिए, देखें " + +[deprecation_file_warning] +other = "डेप्रिकेटेड" + +[dockershim_message] +other = """1.24 संस्करण के बाद से Dockershim को कुबेरनेट्स परियोजना से हटा दिया गया हैं। अधिक जानकारी के लिए Dockershim रिमूवल एफएक्यू पढ़ें।""" + +[docs_label_browse] +other = "प्रलेखन ब्राउज़ करें" + +[docs_label_contributors] +other = "योगदानकर्ता" + +[docs_label_i_am] +other = "मैं हूँ..." + +[docs_label_users] +other = "उपयोगकर्ता" + +[docs_version_current] +other = "(यह प्रलेखन)" + +[docs_version_latest_heading] +other = "नवीनतम संस्करण" + +[docs_version_other_heading] +other = "पुराने संस्करण" + +[end_of_life] +other = "जीवनकाल का समापन:" + +[envvars_heading] +other = "एनवायरनमेंट वैरिएबल" + +[error_404_were_you_looking_for] +other = "क्या आप यह ढूँढ रहे थें:" + +[examples_heading] +other = "उदाहरण" + +[feature_state] +other = "फ़ीचर स्थिति:" + +[feedback_heading] +other = "प्रतिक्रिया" + +[feedback_no] +other = "नहीं" + +[feedback_question] +other = "क्या यह पृष्ठ उपयोगी था?" + +[feedback_yes] +other = "हाँ" + +[inline_list_separator] +other = "," + +[input_placeholder_email_address] +other = "ईमेल ऐड्रेस" + +[javascript_required] +other = "इस विषय को देखने के लिए जावास्क्रिप्ट [सक्रिय](https://www.enable-javascript.com/) होना चाहिए।" + +[latest_release] +other = "नवीनतम रिलीज़:" + +[latest_version] +other = "नवीनतम संस्करण।" + +[layouts_blog_pager_prev] +other = "<< पिछला" + +[layouts_blog_pager_next] +other = "अगला >>" + +[layouts_case_studies_list_tell] +other = "अपनी कहानी बतायें" + +[layouts_docs_glossary_aka] +other = "के रूप में भी जाना जाता है" + +[layouts_docs_glossary_description] +other = "इस शब्दावली का उद्देश्य कुबेरनेट्स शब्दावली की एक व्यापक, मानकीकृत सूची है। इसमें कुबेरनेट्स के लिए विशिष्ट तकनीकी शब्द और उपयोगी संदर्भ प्रदान करने वाले सामान्य शब्द शामिल हैं।" + +[layouts_docs_glossary_deselect_all] +other = "सभी को अचयनित करें" + +[layouts_docs_glossary_click_details_after] +other = "किसी विशेष शब्द के लिए लंबी व्याख्या प्राप्त करने के लिए नीचे दिए गए संकेतक।" + +[layouts_docs_glossary_click_details_before] +other = "पर क्लिक करें" + +[layouts_docs_glossary_filter] +other = "शब्दों को उनके टैग के अनुसार फ़िल्टर करें" + +[layouts_docs_glossary_select_all] +other = "सभी का चयन करे" + +[layouts_docs_partials_feedback_improvement] +other = "सुधार का सुझाव दें" + +[layouts_docs_partials_feedback_issue] +other = "यदि आप चाहते हैं तो GitHub रेपो में एक issue खोलें " + +[layouts_docs_partials_feedback_or] +other = "या" + +[layouts_docs_partials_feedback_problem] +other = "समस्या के बारे में बताएं" + +[layouts_docs_partials_feedback_thanks] +other = "प्रतिक्रिया के लिए धन्यवाद। यदि आपके पास कुबेरनेट्स का उपयोग करने के तरीके के बारे में कोई विशिष्ट, जवाबदेह प्रश्न है, तो इस पर पूछें" + +[layouts_docs_search_fetching] +other = "परिणाम लाए जा रहे हैं.." + +[main_by] +other = "द्वारा" + +[main_cncf_project] +other = """हम एक CNCF स्नातक परियोजना हैं

""" + +[main_community_explore] +other = "समुदाय का अन्वेषण करें" + +[main_contribute] +other = "योगदान करें" + +[main_copyright_notice] +other = """The Linux Foundation ®। सभी अधिकार सुरक्षित। The Linux Foundation ने ट्रेडमार्क पंजीकृत किया है और ट्रेडमार्क का उपयोग करता है। Linux Foundation के ट्रेडमार्क की सूची के लिए, कृपया हमारा ट्रेडमार्क उपयोग पृष्ठ देखें।""" + +[main_documentation_license] +other = """कुबेरनेट्स लेखक | CC BY 4.0 के अंतर्गत वितरित दस्तावेज़""" + +[main_edit_this_page] +other = "इस पृष्ठ को संपादित करें" + +[main_github_create_an_issue] +other = "issue बनाएं" + +[main_github_invite] +other = "कोर कुबेरनेट्स कोड बेस पर हैकिंग के इच्छुक हैं?" + +[main_github_view_on] +other = "GitHub पर देखें" + +[main_kubernetes_features] +other = "कुबेरनेट्स की विशेषताएं" + +[main_kubeweekly_baseline] +other = "नवीनतम कुबेरनेट्स समाचार प्राप्त करने के इच्छुक हैं? KubeWeekly के लिए साइन अप करें।" + +[main_kubernetes_past_link] +other = "पिछले न्यूज़लेटर देखें" + +[main_kubeweekly_signup] +other = "सब्सक्राइब करें" + +[main_page_history] +other ="पृष्ठ का इतिहास" + +[main_page_last_modified_on] +other = "पृष्ठ अंतिम बार संशोधित किया गया" + +[main_read_about] +other = "के बारे में पढ़ें" + +[main_read_more] +other = "अधिक पढ़ें" + +[not_applicable] +other = "उपलब्ध नहीं हैं" + +[note] +other = "टिप्पणी:" + +[objectives_heading] +other = "उद्देश्य" + +[options_heading] +other = "विकल्प" + +[outdated_blog__message] +other = "यह लेख एक वर्ष से अधिक पुराना है। पुराने लेखों में पुरानी सामग्री हो सकती है। जाँच करें कि प्रकाशन के बाद से पृष्ठ पर दी गई जानकारी गलत तो नहीं है।" + +[post_create_issue] +other = "issue बनाएं" + +[prerequisites_heading] +other = "शुरू करने से पहले" + +[previous_patches] +other = "पिछले पैच:" + +[release_date_after] +other = ")" + +[release_date_before] +other = "(रिलीज़ड: " + +# See https://gohugo.io/functions/format/#gos-layout-string +# For a suitable format +[release_date_format] +other = "2006-01-02" + +[seealso_heading] +other = "यह भी देखें" + +[subscribe_button] +other = "सब्स्क्राइब करें" + +[synopsis_heading] +other = "संक्षेप में" + +[thirdparty_message] +other = """यह खंड अन्य पक्ष परियोजनाओं से जुड़ा है जो कुबेरनेट्स द्वारा आवश्यक कार्यक्षमता प्रदान करते हैं। कुबेरनेट्स परियोजना के लेखक इन परियोजनाओं के लिए जिम्मेदार नहीं हैं। यह पृष्ठ CNCF वेबसाइट दिशानिर्देश का अनुसरण करते हुए परियोजनाओं को वर्णानुक्रम में सूचीबद्ध करता है। इस सूची में कोई नई परियोजना जोड़ने से पहले यह विषय मार्गदर्शक पृष्ट पढ़के ही परिवर्तन करें।""" + +[thirdparty_message_edit_disclaimer] +other="""अन्य पक्ष के विषयों की सलहा""" + +[thirdparty_message_single_item] +other = """🛇 यह वस्तु कोई अन्य पक्ष की परियोजना या उत्पाद से जुड़ा है जो कुबेरनेट्स का हिस्सा नहीं हैं। अधिक जानकारी के लिए पढ़ें""" + +[thirdparty_message_disclaimer] +other = """

इस पृष्ठ की वस्तुओं अन्य पक्ष के उत्पादों या परियोजनाओं से जुड़ा है जो कुबेरनेट्स द्वारा आवश्यक कार्यक्षमता प्रदान करते हैं। कुबेरनेट्स परियोजना के लेखक इन अन्य पक्ष के उत्पादों या परियोजनाओं के लिए जिम्मेदार नहीं हैं। अधिक जानकारी के लिए यह CNCF वेबसाइट दिशानिर्देश पृष्ठ पढ़े।"

कोई नई अतिरिक्त अन्य पक्ष लिंक जोड़ने से पहले यह पृष्ठ विषय मार्गदर्शक पृष्ठ पढ़के ही परिवर्तन का प्रस्ताव प्रस्तुत करें।

""" + [ui_search_placeholder] -other = "Search" +other = "खोजें" + +[version_check_mustbe] +other = "आपके कुबेरनेट्स सर्वर का संस्करण होना चाहिए " + +[version_check_mustbeorlater] +other = "आपका कुबेरनेट्स सर्वर इसपर या इसके बाद के संस्करण पर होना चाहिए " + +[version_check_tocheck] +other = "संस्करण की जांच करने के लिए, लिखें " + +[version_menu] +other = "संस्करण" + +[warning] +other = "चेतावनी:" + +[whatsnext_heading] +other = "आगे क्या है" diff --git a/static/_redirects b/static/_redirects index 305ecb7f844..113e31ee8cc 100644 --- a/static/_redirects +++ b/static/_redirects @@ -9,6 +9,7 @@ /de/docs/ /de/docs/home/ 301! /es/docs/ /es/docs/home/ 301! /fr/docs/ /fr/docs/home/ 301! +/hi/docs/ /hi/docs/home/ 301! /id/docs/ /id/docs/home/ 301! /ja/docs/ /ja/docs/home/ 301! /ko/docs/ /ko/docs/home/ 301! @@ -541,6 +542,7 @@ /docs/setup/learning-environment/ /docs/tasks/tools/ 302! /id/docs/setup/learning-environment/ /id/docs/tasks/tools/ 302! /zh/docs/setup/learning-environment/ /zh-cn/docs/tasks/tools/ 302! +/hi/docs/setup/learning-environment/ /hi/docs/tasks/tools/ 302! /docs/setup/learning-environment/kind/ /docs/tasks/tools/ 302 /id/docs/setup/learning-environment/kind/ /id/docs/tasks/tools/ 302 /docs/setup/learning-environment/minikube/ /docs/tasks/tools/ 302