Updated content/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html

Signed-off-by: utkarsh-singh1 <utkarsh.singh1@india.nec.com>

Updated content/hi/docs/tutorials/kubernetes-basics/create-cluster/

Signed-off-by: utkarsh-singh1 <utkarsh.singh1@india.nec.com>

Removed katacoda content from content/hi/docs/tutorials/kubernetes-basics/deploy-interactive.html to content/hi/docs/tutorials/kubernetes-basics/update-interactive.html

Signed-off-by: utkarsh-singh1 <utkarsh.singh1@india.nec.com>

Removed katacoda content from content/hi/docs/tutorials/kubernetes-basics/deploy-intro.html to content/hi/docs/tutorials/kubernetes-basics/update-intro.html

Signed-off-by: utkarsh-singh1 <utkarsh.singh1@india.nec.com>

Updated /docs/hi/tutorials/hello-minikube.md

Signed-off-by: Utkarsh Singh <96516301+utkarsh-singh1@users.noreply.github.com>

Updated /hi/docs/tutorials/hello-minikube.md....to....update-intro.html

Signed-off-by: utkarsh-singh1 <utkarsh.singh1@india.nec.com>

Remove katacoda interactive tutorial from hindi-tutorial
This commit is contained in:
utkarsh-singh1 2023-10-13 23:50:29 +05:30
parent 2525fba615
commit 758bf65881
15 changed files with 439 additions and 158 deletions

View File

@ -15,14 +15,7 @@ card:
<!-- overview -->
यह ट्यूटोरियल आपको मिनिक्यूब और काटाकोडा का उपयोग करते हुए
कुबेरनेट्स पर एक साधारण ऐप चलाने का तरीका दिखाता है।
काटाकोडा आपके ब्राउज़र पर मुफ़्त कुबेरनेट्स वातावरण प्रदान करता है।
{{< note >}}
यदि आपने अपने स्थानीय सिस्टम पर मिनीक्यूब स्थापित किया है तो आप इस ट्यूटोरियल का अनुसरण कर सकते हैं।
स्थापाना निर्देश के लिए [मिनीक्यूब पृष्ट](https://minikube.sigs.k8s.io/docs/start/) देखें।
{{< /note >}}
यह ट्यूटोरियल आपको मिनिक्यूब का उपयोग करते हुए कुबेरनेट्स पर एक सैम्पल ऐप चलाने का तरीका दिखाता है। ट्यूटोरियल एक कंटेनर छवि प्रदान करता है जो सभी अनुरोधों को प्रतिध्वनित करने के लिए NGINX का उपयोग करता है।
## {{% heading "objectives" %}}
@ -33,38 +26,40 @@ card:
## {{% heading "prerequisites" %}}
यह ट्यूटोरियल एक कंटेनर इमेज प्रदान करता है जो सभी अनुरोधों को प्रतिध्वनित करने के लिए NGINX का उपयोग करता है।
यह ट्यूटोरियल मानता है कि आपने पहले ही `मिनीक्यूब` सेट कर लिया है।
इंस्टॉलेशन निर्देशों के लिए [मिनीक्यूब स्टार्ट](https://minikube.sigs.k8s.io/docs/start/) में __Step 1__ देखें।
{{<note>}}
केवल __Step 1, इंस्टालेशन__ में दिए गए निर्देशों का पालन करें। बाकी निर्देश इस पेज पर कवर किया गया है।
{{</note>}}
आपको `kubectl` भी इंस्टॉल करना होगा। स्थापाना निर्देश के लिए [Kubectl स्थापित करें](/hi/docs/tasks/tools/#kubectl) देखें।
<!-- lessoncontent -->
## एक मिनीक्यूब क्लस्टर बनाएं
1. **Launch Terminal** पर क्लिक करें।
```shell
minikube start
```
{{< kat-button >}}
## कुबेरनेट्स डैशबोर्ड खोलें:
{{< note >}}
यदि आपने स्थानीय रूप से मिनीक्यूब स्थापित किया है, तो `minikube start` चलाएँ। इससे पहले कि आप `minikube dashboard` चलाएं, आपको एक नया टर्मिनल खोलना चाहिए, वहां `minikube dashboard` शुरू करना चाहिए, और फिर मुख्य टर्मिनल पर वापस जाना चाहिए।
{{< /note >}}
कुबेरनेट्स डैशबोर्ड खोलें। आप इसे दो अलग-अलग तरीकों से कर सकते हैं:
2. ब्राउज़र में कुबेरनेट्स डैशबोर्ड खोलें:
{{< tabs name="dashboard" >}}
{{% tab name="ब्राउज़र से लॉन्च करें" %}}
एक **नया** टर्मिनल खोलें, और चलाएँ:
```shell
# एक नया टर्मिनल प्रारंभ करें, और इस कमांड को चालू छोड़ दें।
minikube dashboard
```
```shell
minikube dashboard
```
3. केवल काटाकोडा वातावरण के लिए: टर्मिनल फलक के शीर्ष पर, प्लस(+) चिह्न पर क्लिक करें, और फिर **Select port to view on Host 1** क्लिक करें।
4. केवल काटाकोडा वातावरण के लिए: `30000` टाइप करें, और फिर **Display Port** क्लिक करें।
अब, उस टर्मिनल पर वापस जाएँ जहाँ आपने `minikube start` चलाया था।
{{< note >}}
`dashboard` कमांड डैशबोर्ड ऐड-ऑन को इस्तेमाल के लिए तैयार करता है और प्रॉक्सी को डिफ़ॉल्ट वेब ब्राउज़र में खोलता है।
आप डैशबोर्ड पर कुबेरनेट्स संसाधन जैसे डेप्लॉयमेंट और सर्विस बना सकते हैं।
यदि आप किसी वातावरण(environment) में रुट(root) के रूप में इस्तेमाल कर रहे हैं, तो [URL से डैशबोर्ड खोलना](#open-dashboard-with-url) देखें।
आमतौर पर, डैशबोर्ड केवल आंतरिक कुबेरनेट्स वर्चुअल नेटवर्क के भीतर से ही पहुँचा जा सकता है।
डैशबोर्ड को कुबेरनेट्स वर्चुअल नेटवर्क के बाहर से एक्सेस करने योग्य बनाने के लिए `dashboard` कमांड एक अस्थायी प्रॉक्सी बनाता है।
@ -73,7 +68,8 @@ card:
आप डैशबोर्ड तक पहुंचने और प्रॉक्सी बनाने के लिए फिर से `dashboard` कमांड चला सकते हैं।
{{< /note >}}
## URL से डैशबोर्ड खोलें {#open-dashboard-with-url}
{{% /tab %}}
{{% tab name="URL कॉपी और पेस्ट करें" %}}
यदि आप वेब ब्राउज़र नहीं खोलना चाहते हैं, तो URL प्राप्त करने के लिए url फ़्लैग के साथ `dashboard` कमांड चलाएँ:
@ -81,6 +77,11 @@ card:
minikube dashboard --url
```
अब, उस टर्मिनल पर वापस जाएँ जहाँ आपने `मिनीक्यूब स्टार्ट` चलाया था।
{{% /tab %}}
{{< /tabs >}}
## डेप्लॉयमेंट बनाएँ
कुबेरनेट्स [*पॉड*](/docs/concepts/workloads/pods/) एक या अधिक कंटेनरों का एक समूह है,
@ -144,7 +145,7 @@ minikube dashboard --url
आमतौर पर, पॉड कुबेरनेट्स क्लस्टर के भीतर अपने आंतरिक IP पते से ही पहुँचा जा सकता है।
`hello-node` कंटेनर को कुबेरनेट्स वर्चुअल नेटवर्क के
बाहर से सुलभ बनाने के लिए,पॉड को
कुबेरनेट्स [*Service*](/docs/concepts/services-networking/service/)(सर्विस) के रूप में बेनकाब करना होगा।
कुबेरनेट्स [*सर्विस*](/docs/concepts/services-networking/service/) के रूप में बेनकाब करना होगा।
1. `kubectl expose` कमांड का उपयोग करके पॉड को सार्वजनिक इंटरनेट पर एक्सपोज़ करें:
@ -177,21 +178,17 @@ minikube dashboard --url
`LoadBalancer` टाइप `minikube service` कमांड से सर्विस को
पहुंच योग्य बनाता है।
3. निम्न आदेश चलाएँ:
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) का एक समूह
मिनीक्यूब टूल में बिल्ट-इन {{< glossary_tooltip text="ऐडऑन" term_id="addons" >}} (add on) का एक समूह
शामिल है जिसे स्थानीय कुबेरनेट्स वातावरण में सक्षम, अक्षम और खोला जा सकता है।
1. वर्तमान में उपलब्ध ऐडऑन की सूची:
@ -296,8 +293,6 @@ minikube stop
minikube delete
```
## {{% heading "whatsnext" %}}

View File

@ -32,7 +32,6 @@ card:
<li>नए सॉफ़्टवेयर संस्करण के साथ कंटेनरीकृत एप्लिकेशन को अपडेट करें।</li>
<li>कंटेनरीकृत एप्लिकेशन को डीबग करें।</li>
</ul>
<p>ट्यूटोरियल आपके वेब ब्राउज़र में एक वर्चुअल टर्मिनल चलाने के लिए कटाकोडा का उपयोग करते हैं जो मिनिक्यूब नामक कुबेरनेट्स का एक छोटा स्थानीय डिप्लॉयमेंट चलाता है। कोई सॉफ़्टवेयर स्थापित करने या कुछ भी कॉन्फ़िगर करने की कोई आवश्यकता नहीं है; प्रत्येक इंटरैक्टिव ट्यूटोरियल सीधे आपके वेब ब्राउज़र से ही चलता है।</p>
</div>
</div>

View File

@ -2,3 +2,5 @@
title: एक क्लस्टर बनाएं
weight: 10
---
कुबेरनेट्स क्लस्टर के बारे में जानें और मिनिक्यूब का उपयोग करके एक सरल क्लस्टर बनाएं।

View File

@ -15,20 +15,20 @@ weight: 20
<div class="layout" id="top">
<main class="content katacoda-content">
<main class="content">
<div class="katacoda">
<div class="katacoda__alert">
टर्मिनल के साथ इंटरैक्ट करने के लिए स्क्रीन बहुत संकरी है, कृपया डेस्कटॉप या टैबलेट का उपयोग करें।
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/1" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;"></div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/" role="button">होम<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" role="button">मॉड्यूल 2 जारी रखें &gt;<span class=""></span></a>
</div>
<div>
<h2 class="katacoda-gone">
प्रलेखन अनुपलब्ध
</h2>
<p>
क्लस्टर बनाने के तरीके पर इंटरैक्टिव ट्यूटोरियल उपलब्ध नहीं है।
अधिक जानकारी के लिए देखें <a href="content/en/blog/_posts/free-katacoda-kubernetes-tutorials-are-shutting-down.md">
काटाकोडा बंद करने की घोषणा</a>.
</p>
</div>
</main>

View File

@ -17,12 +17,12 @@ weight: 10
<div class="row">
<div class="col-md-8">
<h3>उद्देश्य</h3>
<div class="col-md-8">
<h3>उद्देश्य</h3>
<ul>
<li>जानें कुबेरनेट्स क्लस्टर क्या है।</li>
<li>जानें मिनिक्यूब क्या है।</li>
<li>एक ऑनलाइन टर्मिनल का उपयोग करके कुबेरनेट्स क्लस्टर प्रारंभ करें।</li>
<li>अपने कंप्यूटर पर Kubernetes क्लस्टर प्रारंभ करें।</li>
</ul>
</div>
@ -86,16 +86,14 @@ weight: 10
<div class="col-md-8">
<p>जब आप कुबेरनेट्स पर एप्लिकेशन डिप्लॉयमेंट करते हैं, तो आप कंट्रोल प्लेन को एप्लिकेशन कंटेनर शुरू करने के लिए कहते हैं। नियंत्रण विमान कंटेनरों को क्लस्टर के नोड्स पर चलाने के लिए शेड्यूल करता है। <b>नोड्स <a href="/docs/concepts/overview/kubernetes-api/">कुबेरनेट्स एपीआई</a></b> का उपयोग करके कंट्रोल प्लेन के साथ संचार करते हैं, जिसे कंट्रोल प्लेन एक्सपोज करता है। अंतिम उपयोगकर्ता भी कुबेरनेट्स एपीआई का उपयोग सीधे क्लस्टर के साथ बातचीत करने के लिए कर सकते हैं।</p>
<p>कुबेरनेट्स क्लस्टर को भौतिक या वर्चुअल मशीनों पर तैनात किया जा सकता है। कुबेरनेट्स विकास के साथ आरंभ करने के लिए, आप मिनिक्यूब का उपयोग कर सकते हैं। मिनिक्यूब एक हल्का कुबेरनेट्स कार्यान्वयन है जो आपकी स्थानीय मशीन पर एक वीएम बनाता है और केवल एक नोड वाला एक साधारण क्लस्टर तैनात करता है। मिनिक्यूब Linux , MacOS और Windows सिस्टम के लिए उपलब्ध है। मिनिक्यूब CLI आपके क्लस्टर के साथ काम करने के लिए बुनियादी बूटस्ट्रैपिंग संचालन प्रदान करता है, जिसमें स्टार्ट, स्टॉप, स्टेटस और डिलीट शामिल हैं। हालांकि, इस ट्यूटोरियल के लिए, आप मिनीक्यूब के साथ पहले से इंस्टॉल किए गए ऑनलाइन टर्मिनल का उपयोग करेंगे।</p>
<p>अब जब आप जानते हैं कि कुबेरनेट्स क्या है, तो आइए ऑनलाइन ट्यूटोरियल पर जाएं और अपना पहला क्लस्टर शुरू करें!</p>
<p>अब जब आप कुबेरनेट्स के बारे में अधिक जान गए हैं, तो इसे अपने कंप्यूटर पर आज़माने के लिए <a href="/hi/docs/tutorials/hello-minikube/">हेलो मिनिक्यूब</a> पर जाएं।</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/" role="button">इंटरएक्टिव ट्यूटोरियल शुरू करें <span class="btn__next"></span></a>
</div>
<p>एक बार जब आप ऐसा कर लें, तो <a href="/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/"><tt>kubectl</tt> का उपयोग करके डिप्लॉयमेंट कैसे बनाएं</a> पर जाएँ|</p>
</div>
</main>

View File

@ -15,33 +15,20 @@ weight: 20
<div class="layout" id="top">
<main class="content katacoda-content">
<main class="content">
<div class="row">
<div class="col-md-12">
<p>
पॉड कुबेरनेट्स एप्लिकेशन की मूल निष्पादन इकाई है। प्रत्येक पॉड आपके क्लस्टर पर चल रहे कार्यभार के एक हिस्से का प्रतिनिधित्व करता है। <a href="/docs/concepts/workloads/pods/">पॉड के बारे में अधिक जानें</a>
</p>
</div>
</div>
<br>
<div class="katacoda">
<div class="katacoda__alert">
टर्मिनल का उपयोग करने के लिए, कृपया डेस्कटॉप या टैबलेट संस्करण का उपयोग करें
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/7" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/" role="button"> &lt; मॉड्यूल 1 पर लौटें<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/" role="button">होम<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore/explore-intro/" role="button">मॉड्यूल 3 पर जाए &gt;<span class=""></span></a>
</div>
<div>
<h2 class="katacoda-gone">
प्रलेखन अनुपलब्ध
</h2>
<p>
किसी एप्लिकेशन को आपके क्लस्टर में कैसे नियुक्त किया जाए, इस पर इंटरैक्टिव ट्यूटोरियल उपलब्ध नहीं है।
अधिक जानकारी के लिए देखें <a href="content/en/blog/_posts/free-katacoda-kubernetes-tutorials-are-shutting-down.md">
काटाकोडा बंद करने की घोषणा</a>.
</p>
</div>
</main>

View File

@ -28,9 +28,9 @@ weight: 10
<div class="col-md-8">
<h3>कुबेरनेट्स डिप्लॉयमेंट</h3>
<p>एक बार जब आपके पास कुबेरनेट्स क्लस्टर चल रहा हो, तो आप इसके ऊपर अपने कंटेनरीकृत एप्लीकेशन को तैनात कर सकते हैं। ऐसा करने के लिए, आप कुबेरनेट्स <b>डिप्लॉयमेंट</b> कॉन्फ़िगरेशन बनाते हैं। डिप्लॉयमेंट कुबेरनेट्स को निर्देश देता है कि आपके आवेदन के उदाहरण कैसे बनाएं और अपडेट करें। एक बार जब आप एक डिप्लॉयमेंट बना लेते हैं, तो कुबेरनेट्स कंट्रोल प्लेन उस डिप्लॉयमेंट में शामिल एप्लिकेशन इंस्टेंस को क्लस्टर में अलग-अलग नोड्स पर चलाने के लिए शेड्यूल करता है।</p>
<p>एक बार जब आपके पास <a href="/hi/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/">कुबेरनेट्स क्लस्टर चल रहा हो</a>, तो आप इसके ऊपर अपने कंटेनरीकृत एप्लीकेशन को तैनात कर सकते हैं। ऐसा करने के लिए, आप कुबेरनेट्स <b>डिप्लॉयमेंट</b> कॉन्फ़िगरेशन बनाते हैं। डिप्लॉयमेंट कुबेरनेट्स को निर्देश देता है कि आपके आवेदन के उदाहरण कैसे बनाएं और अपडेट करें। एक बार जब आप एक डिप्लॉयमेंट बना लेते हैं, तो कुबेरनेट्स कंट्रोल प्लेन उस डिप्लॉयमेंट में शामिल एप्लिकेशन इंस्टेंस को क्लस्टर में अलग-अलग नोड्स पर चलाने के लिए शेड्यूल करता है।</p>
<p>एक बार एप्लिकेशन इंस्टेंस बन जाने के बाद, कुबेरनेट्स डिप्लॉयमेंट कंट्रोलर लगातार उन इंस्टेंस की निगरानी करता है। यदि किसी इंस्टेंस को होस्ट करने वाला नोड बंद हो जाता है या हटा दिया जाता है, तो डिप्लॉयमेंट कंट्रोलर क्लस्टर में इंस्टेंस को किसी अन्य नोड के इंस्टेंस से बदल देता है। <b>यह मशीन की विफलता या रखरखाव को दूर करने के लिए एक स्व-उपचार तंत्र प्रदान करता है।</b></p>
<p>एक बार एप्लिकेशन इंस्टेंस बन जाने के बाद, कुबेरनेट्स डिप्लॉयमेंट कंट्रोलर लगातार उन इंस्टेंस की निगरानी करता है। यदि किसी इंस्टेंस को होस्ट करने वाला नोड बंद हो जाता है या हटा दिया जाता है, तो डिप्लॉयमेंट कंट्रोलर क्लस्टर में इंस्टेंस को किसी अन्य नोड के इंस्टेंस से बदल देता है। <b>यह मशीन की विफलता या रख - रखाव को दूर करने के लिए एक स्व-उपचार तंत्र प्रदान करता है।</b></p>
<p>पूर्व-ऑर्केस्ट्रेशन की दुनिया में, इंस्टॉलेशन स्क्रिप्ट का उपयोग अक्सर एप्लीकेशन को शुरू करने के लिए किया जाता था, लेकिन वे मशीन की विफलता से पुनर्प्राप्ति की अनुमति नहीं देते हैं। कुबेरनेट्स डिप्लॉयमेंट आपके एप्लिकेशन इंस्टेंस को बनाकर और उन्हें नोड्स पर चालू रखते हुए, एप्लिकेशन प्रबंधन के लिए एक मौलिक रूप से अलग दृष्टिकोण प्रदान करता है। </p>
@ -65,10 +65,10 @@ weight: 10
<br>
<div class="row">
<p class="col-md-8">
<div class="col-md-8">
<p>आप कुबेरनेट्स कमांड लाइन इंटरफेस, <b>kubectl</b> का उपयोग करके डिप्लॉयमेंट बना और प्रबंधित कर सकते हैं। kubectl क्लस्टर के साथ बातचीत करने के लिए कुबेरनेट्स एपीआई का उपयोग करता है। इस मॉड्यूल में, आप कुबेरनेट्स क्लस्टर पर आपके एप्लिकेशन चलाने वाले डिप्लॉयमेंट बनाने के लिए आवश्यक सबसे सामान्य kubectl कमांड सीखेंगे।</p>
<p>जब आप कोई डिप्लॉयमेंट बनाते हैं, तो आपको अपने एप्लिकेशन के लिए कंटेनर इमेज और चलाने के लिए इच्छित प्रतिकृतियों की संख्या निर्दिष्ट करने की आवश्यकता होगी। आप अपने कामकाज को अपडेट करके बाद में उस जानकारी को बदल सकते हैं; बूटकैंप के मॉड्यूल <a href="/hi//docs/tutorials/kubernetes-basics/scale/scale-intro/">5</a> और <a href="/hi/docs/tutorials/kubernetes-basics/update/update-intro/" >6</a> चर्चा करते हैं कि आप अपने डिप्लॉयमेंट को कैसे स्केल और अपडेट कर सकते हैं।</p>
<p>जब आप कोई डिप्लॉयमेंट बनाते हैं, तो आपको अपने एप्लिकेशन के लिए कंटेनर इमेज और चलाने के लिए इच्छित प्रतिकृतियों की संख्या निर्दिष्ट करने की आवश्यकता होगी। आप अपने कामकाज को अपडेट करके बाद में उस जानकारी को बदल सकते हैं; बूटकैंप के मॉड्यूल <a href="/hi/docs/tutorials/kubernetes-basics/scale/scale-intro/">5</a> और <a href="/hi/docs/tutorials/kubernetes-basics/update/update-intro/" >6</a> चर्चा करते हैं कि आप अपने डिप्लॉयमेंट को कैसे स्केल और अपडेट कर सकते हैं।</p>
@ -84,18 +84,71 @@ weight: 10
<div class="col-md-8">
<p>
अपने पहले डिप्लॉयमेंट के लिए, आप एक डॉकर कंटेनर में पैक किए गए हैलो-नोड एप्लिकेशन का उपयोग करेंगे जो सभी अनुरोधों को प्रतिध्वनित करने के लिए NGINX का उपयोग करता है। (यदि आपने पहले से हैलो-नोड एप्लिकेशन बनाने और कंटेनर का उपयोग करके इसे तैनात करने का प्रयास नहीं किया है, तो आप पहले <a href="/hi/docs/tutorials/hello-minikube/">हेलो Minikube ट्यूटोरियल</a> के निर्देशों का पालन करके ऐसा कर सकते हैं)।
<p>
<p>अब जब आप जानते हैं कि डिप्लॉयमेंट क्या हैं, तो चलिए ऑनलाइन ट्यूटोरियल पर चलते हैं और अपना पहला ऐप डिप्लॉय करते हैं!</p>
<p>आपको kubectl भी इंस्टॉल करना होगा। यदि आपको इसे इंस्टॉल करने की आवश्यकता है, तो <a href="/hi/docs/tasks/tools/#kubectl">इंस्टॉल टूल्स</a> पर जाएं।</p>
<p>अब जब आप जान गए हैं कि डिप्लॉयमेंट क्या हैं, तो आइए अपना पहला ऐप परिनियोजित करें!</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/" role="button">इंटरएक्टिव ट्यूटोरियल शुरू करें <span class="btn__next"></span></a>
<div class="col-md-8">
<h3>kubectl की मूल बातें</h3>
<p>कुबेक्टल कमांड का सामान्य प्रारूप है: <code>kubectl <i>action resource</i></code></p>
<p>यह निर्दिष्ट <em>संसाधन</em> (जैसे <tt>नोड</tt> या <tt>डिप्लॉयमेंट </tt>) पर निर्दिष्ट <em>क्रिया</em> (जैसे <tt>बनाना</tt>, <tt>वर्णन</tt> करना या <tt>हटाना</tt>) करता है। आप संभावित मापदंडों के बारे में अतिरिक्त जानकारी प्राप्त करने के लिए उपकमांड के बाद <code>-<span />-help</code> का उपयोग कर सकते हैं (उदाहरण के लिए: <code>kubectl get nodes --help</code>)।</p>
<p><b><code>kubectl version</code></b> कमांड चलाकर जांचें कि kubectl आपके क्लस्टर से बात करने के लिए कॉन्फ़िगर किया गया है।</p>
<p>जांचें कि kubectl स्थापित है और आप क्लाइंट और सर्वर दोनों संस्करण देख सकते हैं।</p>
<p>क्लस्टर में नोड्स देखने के लिए, <b><code>kubectl get nodes</code></b> कमांड चलाएँ।</p>
<p>आप उपलब्ध नोड्स देखते हैं। बाद में, Kubernetes नोड उपलब्ध संसाधनों के आधार पर हमारे एप्लिकेशन को कहां तैनात करना है इसका चयन करेगा।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a id="deploy an app"></a>
<h3>एक ऐप तैनात करें</h3>
<p>आइए अपना पहला ऐप कुबेरनेट्स पर <code>kubectl create deployment</code> कमांड के साथ तैनात करें। हमें डिप्लॉयमेंट नाम और ऐप छवि स्थान प्रदान करने की आवश्यकता है (डॉकर हब के बाहर होस्ट की गई छवियों के लिए पूर्ण रिपॉजिटरी यूआरएल शामिल करें)।</p>
<p><b><code>kubectl create deployment Kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1</code></b></p>
<p>बहुत बढ़िया! आपने अभी-अभी एक डिप्लॉयमेंट बनाकर अपना पहला एप्लिकेशन डेप्लॉये किया है। इसने आपके लिए कुछ चीज़ें निष्पादित कीं:</p>
<ul>
<li>एक उपयुक्त नोड की खोज की गई जहां एप्लिकेशन का एक उदाहरण चलाया जा सके (हमारे पास केवल 1 उपलब्ध नोड है)</li>
<li>एप्लिकेशन को उस नोड पर चलने के लिए शेड्यूल किया</li>
<li>आवश्यकता पड़ने पर नए नोड पर इंस्टेंस को पुनर्निर्धारित करने के लिए क्लस्टर को कॉन्फ़िगर किया गया</li>
</ul>
<p>अपने डिप्लॉयमेंट को सूचीबद्ध करने के लिए <code>kubectl get deployment</code> कमांड का उपयोग करें:</p>
<p><b><code>kubectl get deployments</code></b></p>
<p>हम देखते हैं कि आपके ऐप का एक इंस्टेंस 1 डिप्लॉयमेंट चला रहा है। इंस्टेंस आपके नोड पर एक कंटेनर के अंदर चल रहा है।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>ऐप देखें</h3>
<p>कुबेरनेट्स के अंदर चलने वाले पॉड एक निजी, पृथक नेटवर्क पर चल रहे हैं।
डिफ़ॉल्ट रूप से वे उसी कुबेरनेट्स क्लस्टर के भीतर अन्य पॉड्स और सेवाओं से दिखाई देते हैं, लेकिन उस नेटवर्क के बाहर नहीं।
जब हम <code>kubectl</code> का उपयोग करते हैं, तो हम अपने एप्लिकेशन के साथ संचार करने के लिए एक एपीआई एंडपॉइंट के माध्यम से बातचीत कर रहे होते हैं।</p>
<p>हम बाद में <a href="/hi/docs/tutorials/kubernetes-basics/expose/">मॉड्यूल 4</a> में कुबेरनेट्स क्लस्टर के बाहर आपके एप्लिकेशन को प्रदर्शित करने के अन्य विकल्पों पर चर्चा करेंगे।</p>
<p><code>kubectl proxy</code> कमांड एक प्रॉक्सी बना सकता है जो संचार को क्लस्टर-वाइड, निजी नेटवर्क में अग्रेषित करेगा। प्रॉक्सी को कंट्रोल-सी दबाकर समाप्त किया जा सकता है और यह चलने के दौरान कोई आउटपुट नहीं दिखाएगा।</p>
<p><strong>प्रॉक्सी चलाने के लिए आपको दूसरी टर्मिनल विंडो खोलनी होगी।</strong></p>
<p><b><code>kubectl proxy</b></code>
<p>अब हमारे होस्ट (टर्मिनल) और कुबेरनेट्स क्लस्टर के बीच एक कनेक्शन है। प्रॉक्सी इन टर्मिनलों से एपीआई तक सीधी पहुंच सक्षम बनाता है।</p>
<p>आप प्रॉक्सी एंडपॉइंट के माध्यम से होस्ट किए गए सभी एपीआई देख सकते हैं। उदाहरण के लिए, हम <code>curl</code> कमांड का उपयोग करके सीधे API के माध्यम से संस्करण को क्वेरी कर सकते हैं:</p>
<p><b><code>curl http://localhost:8001/version</code></b></p>
<div class="alert alert-info note callout" role="alert"><strong>नोट:</strong> यदि पोर्ट 8001 पहुंच योग्य नहीं है, तो सुनिश्चित करें कि <code>kubectl proxy</code> जिसे आपने ऊपर शुरू किया है दूसरे टर्मिनल में चल रहा है.</div>
<p>एपीआई सर्वर स्वचालित रूप से पॉड नाम के आधार पर प्रत्येक पॉड के लिए एक एंडपॉइंट बनाएगा, जिसे प्रॉक्सी के माध्यम से भी एक्सेस किया जा सकता है।</p>
<p>सबसे पहले हमें पॉड नाम प्राप्त करने की आवश्यकता है, और हम पर्यावरण चर <tt>POD_NAME</tt> में संग्रहित करेंगे:</p>
<p><b><code>export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{ {end}}')</code></b><br />
<b><code>echo पॉड का नाम: $POD_NAME</code></b></p>
<p>आप निम्न चलाकर प्रॉक्सी एपीआई के माध्यम से पॉड तक पहुंच सकते हैं:</p>
<p><b><code>curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/</code></b></p>
<p>नए डिप्लॉयमेंट को प्रॉक्सी का उपयोग किए बिना पहुंच योग्य बनाने के लिए, एक सेवा की आवश्यकता होती है जिसे <a href="/hi/docs/tutorials/kubernetes-basics/expose/">मॉड्यूल 4</a> में समझाया जाएगा .</p>
</div>
</div>
<div class="row">
<p>
एक बार जब आप तैयार हो जाएं, तो <a href='/hi/docs/tutorials/kubernetes-basics/explore/explore-intro/' title='Viewing Pods and Nodes'>पॉड्स और नोड्स देखना</a> पर आगे बढ़ें।
</p>
</div>
</main>

View File

@ -15,25 +15,20 @@ weight: 20
<div class="layout" id="top">
<main class="content katacoda-content">
<main class="content">
<br>
<div class="katacoda">
<div>
<h2 class="katacoda-gone">
प्रलेखन अनुपलब्ध
</h2>
<p>
अपने ऐप को अन्वेषण करने के तरीके पर इंटरैक्टिव ट्यूटोरियल उपलब्ध नहीं है।
<div class="katacoda__alert">
टर्मिनल के साथ उपयोग करने के लिए, कृपया डेस्कटॉप/टैबलेट संस्करण का उपयोग करें
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/4" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/" role="button">&lt; मॉड्यूल 2 पर लौटें<span class="btn"></span></a>
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/" role="button">होम<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/expose/expose-intro/" role="button">मॉड्यूल 4 पर जाएं &gt;<span class="btn"></span></a>
</div>
अधिक जानकारी के लिए देखें <a href="content/en/blog/_posts/free-katacoda-kubernetes-tutorials-are-shutting-down.md">
काटाकोडा बंद करने की घोषणा</a>.
</p>
</div>
</main>

View File

@ -127,14 +127,70 @@ weight: 10
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/explore/explore-interactive/" role="button">इंटरएक्टिव ट्यूटोरियल शुरू करें <span class="btn__next"></span></a>
<h3>एप्लिकेशन कॉन्फ़िगरेशन की जाँच करें</h3>
<p>आइए सत्यापित करें कि पिछले परिदृश्य में हमने जो एप्लिकेशन तैनात किया था वह चल रहा है। हम <code>kubectl get</code> कमांड का उपयोग करेंगे और मौजूदा पॉड्स की तलाश करेंगे:</p>
<p><b><code>kubectl get pods</code></b></p>
<p>यदि कोई पॉड्स नहीं चल रहा है, तो कृपया कुछ सेकंड प्रतीक्षा करें और पॉड्स को फिर से सूचीबद्ध करें। एक बार जब आप एक पॉड को चलता हुआ देख लें तो आप जारी रख सकते हैं।</p>
<p>इसके बाद, यह देखने के लिए कि उस पॉड के अंदर कौन से कंटेनर हैं और उन कंटेनरों को बनाने के लिए कौन सी छवियों का उपयोग किया जाता है, हम <code>kubectl describe pods</code> कमांड चलाते हैं:</p>
<p><b><code>kubectl describe pods है</code></b></p>
<p>हम यहां पॉड के कंटेनर के बारे में विवरण देखते हैं: आईपी पता, उपयोग किए गए पोर्ट और पॉड के जीवनचक्र से संबंधित घटनाओं की एक सूची।</p>
<p><tt>वर्णन</tt> उपकमांड का आउटपुट व्यापक है और इसमें कुछ अवधारणाएं शामिल हैं जिन्हें हमने अभी तक नहीं समझाया है, लेकिन चिंता न करें, वे इस बूटकैंप के अंत तक परिचित हो जाएंगे।</p >
<p><em><strong>ध्यान दें :</strong> <tt>वर्णन</tt> उपकमांड का उपयोग नोड्स, पॉड्स और तैनाती सहित अधिकांश कुबेरनेट्स प्राइमेटिव्स के बारे में विस्तृत जानकारी प्राप्त करने के लिए किया जा सकता है। वर्णन आउटपुट को मानव पठनीय बनाने के लिए डिज़ाइन किया गया है, न कि इसके विरुद्ध स्क्रिप्ट किए जाने के लिए।</em></p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>ऐप को टर्मिनल में दिखाएं</h3>
<p>याद रखें कि पॉड्स एक अलग, निजी नेटवर्क में चल रहे हैं - इसलिए हमें प्रॉक्सी एक्सेस की आवश्यकता है
उनके लिए ताकि हम डिबग कर सकें और उनके साथ बातचीत कर सकें। ऐसा करने के लिए, हम <strong>दूसरे टर्मिनल</strong> में प्रॉक्सी चलाने के लिए <code>kubectl proxy</code> कमांड का उपयोग करेंगे। एक नई टर्मिनल विंडो खोलें, और उस नए टर्मिनल में, चलाएँ:</p>
<p><code><b>kubectl proxy</b></code></p>
<p>अब फिर से, हम पॉड नाम प्राप्त करेंगे और उस पॉड को सीधे प्रॉक्सी के माध्यम से क्वेरी करेंगे।
पॉड नाम प्राप्त करने और उसे <tt>POD_NAME</tt> पर्यावरण चर में संग्रहीत करने के लिए:</p>
<p><code><b>export POD_NAME='$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{'\n'}} {{end}}')"</b></code><br />
<code><b>echo "Name of Pod: $POD_NAME"</b></code></p>
<p>हमारे एप्लिकेशन का आउटपुट देखने के लिए, <code>curl</code> अनुरोध चलाएँ:</p>
<p><code><b>curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME:8080/proxy/</b></code></p>
<p>url पॉड के एपीआई का मार्ग है।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>कंटेनर लॉग देखें</h3>
<p>कुछ भी जो एप्लिकेशन सामान्य रूप से मानक आउटपुट पर भेजता है वह पॉड के भीतर कंटेनर के लिए लॉग बन जाता है। हम <code>kubectl logs</code> कमांड का उपयोग करके इन लॉग्स को पुनः प्राप्त कर सकते हैं:</p>
<p><code><b>kubectl logs "$POD_NAME"</b></code></p>
<p><em><strong>नोट :</strong> हमें कंटेनर नाम निर्दिष्ट करने की आवश्यकता नहीं है, क्योंकि हमारे पास पॉड के अंदर केवल एक कंटेनर है।</em></p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>कंटेनर पर कमांड निष्पादित करना</h3>
<p>पॉड चालू होने और चलने के बाद हम सीधे कंटेनर पर कमांड निष्पादित कर सकते हैं।
इसके लिए, हम <code>exec</code> उपकमांड का उपयोग करते हैं और एक पैरामीटर के रूप में पॉड के नाम का उपयोग करते हैं। आइए पर्यावरण चरों को सूचीबद्ध करें:</p>
<p><code><b>kubectl exec "$POD_NAME" -- env</b></code></p>
<p>फिर से, यह उल्लेख करने योग्य है कि कंटेनर का नाम स्वयं छोड़ा जा सकता है क्योंकि हमारे पास पॉड में केवल एक ही कंटेनर है।</p>
<p>आगे आइए पॉड के कंटेनर में एक बैश सत्र शुरू करें:</p>
<p><code><b>kubectl exec -ti $POD_NAME -- bash</b></code></p>
<p>अब हमारे पास कंटेनर पर एक खुला कंसोल है जहां हम अपना NodeJS एप्लिकेशन चलाते हैं। ऐप का सोर्स कोड <tt>server.js</tt> फ़ाइल में है:</p>
<p><code><b>cat server.js</b></code></p>
<p>आप <tt>curl</tt> कमांड चलाकर जांच सकते हैं कि एप्लिकेशन चालू है:</p>
<p><code><b>curl http://localhost:8080</b></code></p>
<p><em><strong>ध्यान दें :</strong> यहां हमने <tt>localhost</tt> का उपयोग किया है क्योंकि हमने NodeJS पॉड के अंदर कमांड निष्पादित किया है। यदि आप localhost:8080 से कनेक्ट नहीं हो सकते हैं, तो यह सुनिश्चित करने के लिए जांचें कि आपने <code>kubectl exec</code> कमांड चलाया है और पॉड के भीतर से कमांड लॉन्च कर रहे हैं</em></p>
<p>अपना कंटेनर कनेक्शन बंद करने के लिए, <code><b>exit</b></code> टाइप करें।</p>
</div>
</div>
<div class="row">
<p>
एक बार जब आप तैयार हो जाएं, तो आगे बढ़ें <a href='/hi/docs/tutorials/kubernetes-basics/expose/expose-intro/' title='Using A Service To Expose Your App'>अपने ऐप को उजागर करने के लिए एक सेवा का उपयोग करना</a>|
</p>
</div>
</main>
</div>

View File

@ -15,22 +15,20 @@ weight: 20
<div class="layout" id="top">
<main class="content katacoda-content">
<main class="content">
<div class="katacoda">
<div class="katacoda__alert">
टर्मिनल का उपयोग करने के लिए, कृपया डेस्कटॉप या टैबलेट संस्करण का उपयोग करें
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/explore/explore-intro/" role="button">&lt; मॉड्यूल 3 पर लौटें<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/" role="button">होम<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/hi/docs/tutorials/kubernetes-basics/scale/scale-intro/" role="button">मॉड्यूल 5 पर जाएं &gt;<span class=""></span></a>
</div>
<div>
<h2 class="katacoda-gone">
प्रलेखन अनुपलब्ध
</h2>
<p>
आपके एप्लिकेशन को कैसे प्रदर्शित किया जाए, इस पर इंटरैक्टिव ट्यूटोरियल उपलब्ध नहीं है।
अधिक जानकारी के लिए देखें <a href="content/en/blog/_posts/free-katacoda-kubernetes-tutorials-are-shutting-down.md">
काटाकोडा बंद करने की घोषणा</a>.
</p>
</div>
</main>

View File

@ -100,12 +100,83 @@ weight: 10
<p>लेबल को निर्माण के समय या बाद में ऑब्जेक्ट्स से जोड़ा जा सकता है। उन्हें किसी भी समय परिवर्तित किया जा सकता है। आइए अब सर्विस का उपयोग करके हमारे ऐप को एक्सपोज़ करें और कुछ लेबल लागू करें।</p>
</div>
</div>
<br>
<div class='row'>
<div class='col-md-12'>
<h3>एक नई सेवा बनाएं</h3>
<p>आइए सत्यापित करें कि हमारा एप्लिकेशन चल रहा है। हम <code>kubectl get</code> कमांड का उपयोग करेंगे और मौजूदा पॉड्स की तलाश करेंगे:</p>
<p><code><b>kubectl get pods</b></code></p>
<p>यदि कोई पॉड्स नहीं चल रहा है तो इसका मतलब है कि पिछले ट्यूटोरियल के ऑब्जेक्ट साफ़ कर दिए गए हैं। इस मामले में, वापस जाएं और परिनियोजन बनाने के लिए kubectl का उपयोग करके <a href="/hi/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro#deploy-an-app">परिनियोजन को फिर से बनाएं।</a>
कृपया कुछ सेकंड प्रतीक्षा करें और पॉड्स को फिर से सूचीबद्ध करें। एक बार जब आप एक पॉड को चलता हुआ देख लें तो आप जारी रख सकते हैं।</p>
<p>इसके बाद, आइए अपने क्लस्टर से वर्तमान सेवाओं को सूचीबद्ध करें:</p>
<p><code><b>kubectl get services</b></code></p>
<p>हमारे पास <tt>kubernetes</tt> नामक एक सेवा है जो मिनीक्यूब के क्लस्टर शुरू करने पर डिफ़ॉल्ट रूप से बनाई जाती है।
एक नई सेवा बनाने और उसे बाहरी ट्रैफ़िक में उजागर करने के लिए हम पैरामीटर के रूप में नोडपोर्ट के साथ एक्सपोज़ कमांड का उपयोग करेंगे।</p>
<p><code><b>kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --पोर्ट 8080</b></code></p>
<p>आइए फिर से <code>get services</code> उपकमांड चलाएँ:</p>
<p><code><b>kubectl get services</b></code></p>
<p>अब हमारे पास कुबेरनेट्स-बूटकैंप नामक एक चालू सेवा है। यहां हम देखते हैं कि सेवा को एक अद्वितीय क्लस्टर-आईपी, एक आंतरिक पोर्ट और एक बाहरी-आईपी (नोड का आईपी) प्राप्त हुआ।</p>
<p>यह पता लगाने के लिए कि कौन सा पोर्ट बाहरी रूप से खोला गया था (<tt>प्रकार: NodePort</tt> सेवा के लिए) हम <code>describe service</code> उपकमांड चलाएंगे:</p>
<p><code><b>kubectl describe services/kubernetes-bootcamp</b></code></p>
<p> <tt>NODE_PORT</tt> नामक एक पर्यावरण चर बनाएं जिसमें निर्दिष्ट नोड पोर्ट का मान हो:</p>
<p><code><b>export NODE_PORT='$(kubectl getservices/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')'</b> </code><br />
<code><b>echo "NODE_PORT=$NODE_PORT"</b></code></p>
<p>अब हम <code>curl</code>, नोड के आईपी पते और बाहरी रूप से उजागर पोर्ट का उपयोग करके परीक्षण कर सकते हैं कि ऐप क्लस्टर के बाहर प्रदर्शित है:</p>
<p><code><b>कर्ल http://'$(minikube ip):$NODE_PORT'</b></code></p>
{{< note >}}<p>यदि आप कंटेनर ड्राइवर के रूप में डॉकर डेस्कटॉप के साथ मिनीक्यूब चला रहे हैं, तो एक मिनीक्यूब सुरंग की आवश्यकता है। ऐसा इसलिए है क्योंकि डॉकर डेस्कटॉप के अंदर के कंटेनर आपके होस्ट कंप्यूटर से अलग होते हैं।<br>
<p>एक अलग टर्मिनल विंडो में, निष्पादित करें:<br>
<code><b>minikube services kubernetes-bootcamp --url</b></code></p>
<p>आउटपुट इस तरह दिखता है:
<pre><b>http://127.0.0.1:51082<br>! क्योंकि आप डार्विन पर डॉकर ड्राइवर का उपयोग कर रहे हैं, इसे चलाने के लिए टर्मिनल का खुला होना आवश्यक है।</b></pre></p>
<p>फिर ऐप तक पहुंचने के लिए दिए गए यूआरएल का उपयोग करें:<br>
<code><b>कर्ल 127.0.0.1:51082</b></code></p>
{{< /note >}}
<p>और हमें सर्वर से प्रतिक्रिया मिलती है। सेवा उजागर हो गई है.</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose/expose-interactive/" role="button">इंटरएक्टिव ट्यूटोरियल शुरू करें<span class="btn__next"></span></a>
<h3>लेबल का उपयोग करना</h3>
<p>परिनियोजन ने स्वचालित रूप से हमारे पॉड के लिए एक लेबल बनाया। <>परिनियोजन का वर्णन करें</कोड> उपकमांड के साथ आप उस लेबल का नाम (<em>कुंजी</em>) देख सकते हैं:</p>
<p><code><b>kubectl describe deployments</b></code></p>
<p>आइए पॉड्स की हमारी सूची के बारे में पूछताछ करने के लिए इस लेबल का उपयोग करें। हम एक पैरामीटर के रूप में <code>kubectl get pods</code> कमांड का उपयोग <tt>-l</tt> के साथ करेंगे, जिसके बाद लेबल मान होंगे:</p>
<p><code><b>kubectl get pods -l app=kubernetes-bootcamp</b></code></p>
<p>मौजूदा सेवाओं को सूचीबद्ध करने के लिए आप ऐसा ही कर सकते हैं:</p>
<p><code><b>kubectl get services -l app=kubernetes-bootcamp</b></code></p>
<p>पॉड का नाम प्राप्त करें और इसे <tt>POD_NAME</tt> पर्यावरण चर में संग्रहीत करें:</p>
<p><code><b>export POD_NAME='$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{'\n'}} {{end}}')"</b></code><br />
<code><b>echo "Name of Pod: $POD_NAME"</b></code></p>
<p>नया लेबल लागू करने के लिए हम <code>label</code> उपकमांड का उपयोग करते हैं, जिसके बाद ऑब्जेक्ट प्रकार, ऑब्जेक्ट का नाम और नया लेबल आता है:</p>
<p><code><b>kubectl label pods "$POD_NAME" version=v1</b></code></p>
<p>यह हमारे पॉड पर एक नया लेबल लागू करेगा (हमने एप्लिकेशन संस्करण को पॉड पर पिन किया है), और हम इसे डिस्क्रिप्शन पॉड कमांड के साथ जांच सकते हैं:</p>
<p><code><b>kubectl describe pods "$POD_NAME"</b></code></p>
<p>हम यहां देखते हैं कि लेबल अब हमारे पॉड से जुड़ा हुआ है। और अब हम नए लेबल का उपयोग करके पॉड्स की सूची क्वेरी कर सकते हैं:</p>
<p><code><b>kubectl get pods -l version=v1</b></code></p>
<p>और हम पॉड देखते हैं।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>किसी सेवा को हटाना</h3>
<p>सेवाओं को हटाने के लिए आप <code>delete service</code> उपकमांड का उपयोग कर सकते हैं। लेबल का उपयोग यहां भी किया जा सकता है:</p>
<p><code><b>kubectl delete service -l app=kubernetes-bootcamp</b></code></p>
<p>पुष्टि करें कि सेवा समाप्त हो गई है:</p>
<p><code><b>kubectl get services</b></code></p>
<p>यह पुष्टि करता है कि हमारी सेवा हटा दी गई थी। यह पुष्टि करने के लिए कि मार्ग अब उजागर नहीं हुआ है, आप पहले से उजागर आईपी और पोर्ट को <tt>curl</tt> कर सकते हैं:</p>
<p><code><b>curl http://'$(minikube ip):$NODE_PORT'</b></code></p>
<p>यह साबित करता है कि एप्लिकेशन अब क्लस्टर के बाहर से पहुंच योग्य नहीं है।
आप पुष्टि कर सकते हैं कि ऐप अभी भी पॉड के अंदर से <tt>curl</tt> के साथ चल रहा है:</p>
<p><code><b>kubectl exec -ti $POD_NAME -- curl http://localhost:8080</b></code></p>
<p>हम यहां देखते हैं कि एप्लिकेशन चालू है। ऐसा इसलिए है क्योंकि परिनियोजन एप्लिकेशन का प्रबंधन कर रहा है। एप्लिकेशन को बंद करने के लिए, आपको परिनियोजन को भी हटाना होगा।</p>
</div>
</div>
<div class="row">
<p>
एक बार जब आप तैयार हो जाएं, तो आगे बढ़ें <a href='/hi/docs/tutorials/kubernetes-basics/scale/scale-intro/' title='Running Multiple Instances of Your App'>अपने ऐप के कई इंस्टेंस को चलाना</a >
</p>
</div>
</main>
</div>

View File

@ -15,27 +15,23 @@ weight: 20
<div class="layout" id="top">
<main class="content katacoda-content">
<main class="content">
<div class="katacoda">
<div class="katacoda__alert">
टर्मिनल के साथ बातचीत करने के लिए, कृपया डेस्कटॉप/टैबलेट संस्करण का उपयोग करें
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/5" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose/expose-interactive/" role="button">&lt; मॉड्यूल 4 पर लौटें<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/" role="button">होम<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update/update-intro/" role="button">मॉड्यूल 6 पर आगे बढ़ें &gt;<span class=""></span></a>
</div>
<div>
<h2 class="katacoda-gone">
प्रलेखन अनुपलब्ध
</h2>
<p>
आपके क्लस्टर पर चल रहे किसी एप्लिकेशन को कैसे स्केल किया जाए, इस पर इंटरैक्टिव ट्यूटोरियल उपलब्ध नहीं है।
अधिक जानकारी के लिए देखें <a href="content/en/blog/_posts/free-katacoda-kubernetes-tutorials-are-shutting-down.md">
काटाकोडा बंद करने की घोषणा</a>.
</p>
</div>
</main>
<a class="scrolltop" href="#top"></a>
</div>
</body>

View File

@ -29,7 +29,11 @@ weight: 10
<p>पिछले मॉड्यूल में हमने एक <a href="/docs/concepts/workloads/controllers/deployment/">डिप्लॉयमेंट</a> बनाया और इसे <a href="/docs/concepts/services-networking/service/">सर्विस</a> के माध्यम से सार्वजनिक रूप से प्रदर्शित किया। डिप्लॉयमेंट ने हमारे एप्लिकेशन को चलाने के लिए केवल एक पॉड बनाया। जब ट्रैफ़िक बढ़ता है, तो हमें उपयोगकर्ता की मांग को पूरा करने के लिए एप्लिकेशन को स्केल करना होता है।</p>
<p>डिप्लॉयमेंट में रेप्लिका की संख्या को बदलकर <b>स्केलिंग</b> पूरा किया जाता है</p>
<p>डिप्लॉयमेंट में रेप्लिका की संख्या को बदलकर <b>स्केलिंग</b> को प्राप्त किया जाता है।</p>
{{< note >}}
<p> यदि आप <a href="/hi/docs/tutorials/kubernetes-basics/expose/">पिछले अनुभाग</a> के बाद यह प्रयास कर रहे हैं, तो हो सकता है कि आपने डिप्लॉयमेंट को उजागर करने वाली सेवा को हटा दिया हो। उस स्थिति में, कृपया निम्नलिखित कमांड का उपयोग करके डिप्लॉयमेंट को फिर से उजागर करें:</p><p><code><b>kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080</b></code></p>
{{< /note >}}
</div>
<div class="col-md-4">
@ -109,10 +113,75 @@ weight: 10
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale/scale-interactive/" role="button">इंटरएक्टिव ट्यूटोरियल शुरू करें<span class="btn__next"></span></a>
<h3>डिप्लॉयमेंट को स्केल करना</h3>
<p>अपनी तैनाती को सूचीबद्ध करने के लिए, <code>get deployments</code> उपकमांड का उपयोग करें:</p>
<p><code><b>kubectl get deployments</b></code></p>
<p>आउटपुट इसके समान होना चाहिए:</p>
<pre>
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1/1 1 1 11m
</pre>
<p>हमारे पास 1 पॉड होना चाहिए। यदि नहीं, तो कमांड फिर से चलाएँ। इससे पता चलता है:</p>
<ul>
<li><em>NAME</em> क्लस्टर में परिनियोजन के नाम सूचीबद्ध करता है।</li>
<li><em>READY</em> वर्तमान/वांछित प्रतिकृतियों का अनुपात दर्शाता है</li>
<li><em>UP-TO-DATE</em> उन प्रतिकृतियों की संख्या प्रदर्शित करता है जिन्हें वांछित स्थिति प्राप्त करने के लिए अद्यतन किया गया है।</li>
<li><em>AVAILABLE</em> प्रदर्शित करता है कि आपके उपयोगकर्ताओं के लिए एप्लिकेशन की कितनी प्रतिकृतियां उपलब्ध हैं।</li>
<li><em>AGE</em> एप्लिकेशन के चलने की अवधि प्रदर्शित करता है।</li>
</ul>
<p>परिनियोजन द्वारा बनाए गए रेप्लिकासेट को देखने के लिए, चलाएँ:</p>
<p><code><b>kubectl get rs</b></code></p>
<p>ध्यान दें कि रेप्लिकासेट का नाम हमेशा <tt>[DEPLOYMENT-NAME]-[RANDOM-STRING]</tt> के रूप में स्वरूपित होता है। यादृच्छिक स्ट्रिंग यादृच्छिक रूप से उत्पन्न होती है और बीज के रूप में <em>पॉड-टेम्पलेट-हैश</em> का उपयोग करती है।</p>
<p>इस आउटपुट के दो महत्वपूर्ण कॉलम हैं:</p>
<ul>
<li><em>DESIRED</em> एप्लिकेशन की प्रतिकृतियों की वांछित संख्या प्रदर्शित करता है, जिसे आप परिनियोजन बनाते समय परिभाषित करते हैं। यह वांछित स्थिति है.</li>
<li><em>CURRENT</em> दर्शाता है कि वर्तमान में कितनी प्रतिकृतियां चल रही हैं।</li>
</ul>
<p>इसके बाद, आइए परिनियोजन को 4 प्रतिकृतियों तक मापें। हम <code>kubectl scale</code> कमांड का उपयोग करेंगे, इसके बाद परिनियोजन प्रकार, नाम और उदाहरणों की वांछित संख्या का उपयोग करेंगे:</p>
<p><code><b>kubectl scale deployment/kubernetes-bootcamp --replicas=4</b></code></p>
<p>अपनी तैनाती को एक बार फिर से सूचीबद्ध करने के लिए, <code>get deployment</code> का उपयोग करें:</p>
<p><code><b>kubectl get deployments</b></code></p>
<p>जब परिवर्तन लागू किया गया था, उसकी वजह से हमारे पास अब एप्लिकेशन के 4 उदाहरण उपलब्ध हैं। इसके बाद, आइए देखें कि पॉड्स की संख्या बदली है या नहीं:</p>
<p><code><b>kubectl get pods -o wide</b></code></p>
<p>अब अलग-अलग ip पते के साथ 4 पॉड हैं। परिवर्तन परिनियोजन ईवेंट लॉग में दर्ज किया गया था। इसे जाँचने के लिए, डिस्क्रिप्शन उपकमांड का उपयोग करें:</p>
<p><code><b>kubectl describe deployments/kubernetes-bootcamp</b></code></p>
<p>आप इस कमांड के आउटपुट में यह भी देख सकते हैं कि अब 4 प्रतिकृतियां हैं।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>लोड संतुलन</h3>
<p>आइए जांचें कि सेवा ट्रैफ़िक को लोड-संतुलित कर रही है या नहीं। उजागर आईपी और पोर्ट का पता लगाने के लिए हम वर्णन सेवा का उपयोग कर सकते हैं जैसा कि हमने ट्यूटोरियल के पिछले भाग में सीखा था:</p>
<p><code><b>kubectl describe services/kubernetes-bootcamp</b></code></p>
<p> <tt>NODE_PORT</tt> नामक एक पर्यावरण चर बनाएं जिसका मान नोड पोर्ट के रूप में हो:</p>
<p><code><b>export NODE_PORT='$(kubectl getservices/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')'</b> </code><br />
<p><code><b>echo NODE_PORT=$NODE_PORT</b></code></p>
<p>इसके बाद, हम उजागर आईपी पते और पोर्ट पर एक <code>curl</code> करेंगे। कमांड को कई बार निष्पादित करें:</p>
<p><code><b>curl http://"$(minikube ip):$NODE_PORT"</b></b></b></code></p>
<p>हम प्रत्येक अनुरोध के साथ एक अलग पॉड पर पहुंचते हैं। यह दर्शाता है कि लोड-संतुलन काम कर रहा है।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>स्केल डाउन</h3>
<p>परिनियोजन को 2 प्रतिकृतियों तक कम करने के लिए, <code>scale</code> उपकमांड को फिर से चलाएँ:</p>
<p><code><b>kubectl scale deployment/kubernetes-bootcamp --replicas=2</b></code></p>
<p>यह जांचने के लिए परिनियोजन को सूचीबद्ध करें कि क्या परिवर्तन <code>get deployments</code> उपकमांड के साथ लागू किया गया था:</p>
<p><code><b>kubectl get deployments</b></code></p>
<p>प्रतिकृतियों की संख्या घटकर 2 हो गई। <code>get pods</code> के साथ पॉड्स की संख्या सूचीबद्ध करें:</p>
<p><code><b>kubectl get pods -o wide</b></code></p>
<p>यह पुष्टि करता है कि 2 पॉड समाप्त कर दिए गए थे।</p>
</div>
</div>
<div class="row">
<p>
एक बार जब आप तैयार हो जाएं, तो <a href='/hi/docs/tutorials/kubernetes-basics/update/update-intro/' title='Performing a Rolling Update'>एक रोलिंग अपडेट निष्पादित करना</a> पर आगे बढ़ें।
</p>
</div>
</main>
</div>

View File

@ -15,21 +15,21 @@ weight: 20
<div class="layout" id="top">
<main class="content katacoda-content">
<main class="content">
<div class="katacoda">
<div class="katacoda__alert">
टर्मिनल का उपयोग करने के लिए, कृपया डेस्कटॉप या टैबलेट मोड का उपयोग करें
</div>
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/6" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
</div>
</div>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale/scale-interactive/" role="button">&lt; मॉड्यूल 5 पर वापस जाएं<span class=""></span></a>
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/" role="button">मुलभुत कुबेरनेट्स पर लौटें<span class=""></span></a>
</div>
<div>
<h2 class="katacoda-gone">
प्रलेखन अनुपलब्ध
</h2>
<p>
आपके क्लस्टर में किसी एप्लिकेशन को अपडेट करने के लिए इंटरैक्टिव ट्यूटोरियल उपलब्ध नहीं है।
अधिक जानकारी के लिए देखें <a href="content/en/blog/_posts/free-katacoda-kubernetes-tutorials-are-shutting-down.md">
काटाकोडा बंद करने की घोषणा</a>.
</p>
</div>
</main>
</div>

View File

@ -118,14 +118,76 @@ weight: 10
<div class="row">
<div class="col-md-8">
<p>निम्नलिखित इंटरैक्टिव ट्यूटोरियल में हम अपने एप्लिकेशन को एक नए संस्करण में अपडेट और रोलबैक करेंगे</p>
<p>चलिए अगले भाग पर चलते हैं और अपने एप्लिकेशन को एक नए संस्करण में अपडेट और रोलबैक करते है</p>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update/update-interactive/" role="button">इंटरएक्टिव ट्यूटोरियल शुरू करें<span class="btn__next"></span></a>
<h3>ऐप का संस्करण अपडेट करें</h3>
<p>अपनी तैनाती को सूचीबद्ध करने के लिए, <code>get deployments</code> उपकमांड चलाएँ:
<code><b>kubectl get deployments</b></code></p>
<p>चल रहे पॉड्स को सूचीबद्ध करने के लिए, <code>get pods</code> उपकमांड चलाएँ:</p>
<p><code><b>kubectl get pods</b></code></p>
<p>ऐप का वर्तमान छवि संस्करण देखने के लिए, <code>describe pod</code> उपकमांड चलाएँ
और <code>image</code> फ़ील्ड देखें:</p>
<p><code><b>kubectl describe pods</b></code></p>
<p>एप्लिकेशन की छवि को संस्करण 2 में अद्यतन करने के लिए, <code>set image</code> उपकमांड का उपयोग करें, इसके बाद परिनियोजन नाम और नया छवि संस्करण लिखें:</p>
<p><code><b>kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2</b></code></p>
<p>कमांड ने आपके ऐप के लिए एक अलग छवि का उपयोग करने के लिए परिनियोजन को सूचित किया और एक रोलिंग अपडेट शुरू किया। नए पॉड्स की स्थिति जांचें, और पुराने पॉड्स को <code>get pods</code> उपकमांड के साथ समाप्त होते हुए देखें:</p>
<p><code><b>kubectl get pods</b></code></p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>अपडेट सत्यापित करें</h3>
<p>सबसे पहले, जांचें कि ऐप चल रहा है या नहीं। उजागर आईपी पते और पोर्ट को खोजने के लिए, <code>describe service</code> कमांड चलाएँ:</p>
<p><code><b>kubectl describe services/kubernetes-bootcamp</b></code></p>
<p> <tt>NODE_PORT</tt> नामक एक पर्यावरण चर बनाएं जिसमें निर्दिष्ट नोड पोर्ट का मान हो:</p>
<p><code><b>export NODE_PORT='$(kubectl getservices/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')'</b> </code><br />
<code><b>echo "NODE_PORT=$NODE_PORT"</b></code></p>
<p>इसके बाद, उजागर आईपी और पोर्ट पर <code>curl</code> करें:</p>
<p><code><b>curl http://'$(minikube ip):$NODE_PORT'</b></code></p>
<p>हर बार जब आप <code>curl</code> कमांड चलाएंगे, तो आप एक अलग पॉड से टकराएंगे। ध्यान दें कि सभी पॉड्स अब नवीनतम संस्करण (v2) चला रहे हैं।</p>
<p>आप <code>rollout status</code> उपकमांड चलाकर भी अपडेट की पुष्टि कर सकते हैं:</p>
<p><code><b>kubectl rollout status deployments/kubernetes-bootcamp</b></code></p>
<p>ऐप का वर्तमान छवि संस्करण देखने के लिए, <code>describe pod</code> उपकमांड चलाएँ:</p>
<p><code><b>kubectl describe pods</b></code></p>
<p>आउटपुट के <code>image</code> फ़ील्ड में, सत्यापित करें कि आप नवीनतम छवि संस्करण (v2) चला रहे हैं।</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<h3>अपडेट वापस रोल करें</h3>
<p>आइए एक और अपडेट करें, और <code>v10</code> के साथ टैग की गई छवि को तैनात करने का प्रयास करें:</p>
<p><code><b>kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=gcr.io/google-samples/kubernetes-bootcamp:v10</b></code></p>
<p>डिप्लॉयमेंट की स्थिति देखने के लिए <code>get deployments</code> का उपयोग करें:</p>
<p><code><b>kubectl get deployments</b></code></p>
<p>ध्यान दें कि आउटपुट उपलब्ध पॉड्स की वांछित संख्या सूचीबद्ध नहीं करता है। सभी पॉड्स को सूचीबद्ध करने के लिए <code>get pods</code> उपकमांड चलाएँ:</p>
<p><code><b>kubectl get pods</b></code></p>
<p>ध्यान दें कि कुछ पॉड्स की स्थिति <tt>ImagePullBackOff</tt> है।</p>
<p>समस्या के बारे में अधिक जानकारी प्राप्त करने के लिए, <code>describe pod</code> उपकमांड चलाएँ:</p>
<p><code><b>kubectl describe pods</b></code></p>
<p>प्रभावित पॉड्स के आउटपुट के <code>event</code> अनुभाग में, ध्यान दें कि <code>v10</code> छवि संस्करण रिपॉजिटरी में मौजूद नहीं था।</p>
<p>परिनियोजन को अपने अंतिम कार्यशील संस्करण में वापस लाने के लिए, <code>rollout undo</code> उपकमांड का उपयोग करें:</p>
<p><code><b>kubectl rollout undo deployment/kubernetes-bootcamp</b></code></p>
<p><code>rollout undo</code> कमांड परिनियोजन को पिछली ज्ञात स्थिति (छवि का v2) में वापस कर देता है। अद्यतन संस्करणित हैं और आप परिनियोजन की किसी भी पूर्व ज्ञात स्थिति पर वापस लौट सकते हैं।</p>
<p>पॉड्स को फिर से सूचीबद्ध करने के लिए <code>get pods</code> उपकमांड का उपयोग करें:</p>
<p><code><b>kubectl get pods</b></code></p>
<p>चार पॉड्स चल रहे हैं। इन पॉड्स पर तैनात छवि की जांच करने के लिए, <>describe pods</कोड> उपकमांड का उपयोग करें:</p>
<p><code><b>kubectl describe pods</b></code></p>
<p>परिनियोजन एक बार फिर ऐप के स्थिर संस्करण (v2) का उपयोग कर रहा है। रोलबैक सफल रहा.</p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<p>अपने स्थानीय क्लस्टर को साफ़ करना याद रखें</p>
<p><code><b>kubectl delete deployments/kubernetes-bootcamp services/kubernetes-bootcamp</b></code></p>
</div>
</div>