This is the multi-page printable view of this section.
Click here to print.
Return to the regular view of this page.
 
ट्यूटोरियल
    
      
प्रलेखन के इस खंड में ट्यूटोरियल हैं।
ट्यूटोरियल दिखाता है कि किसी एकल कार्य से बड़े लक्ष्य को कैसे पूरा किया जाए।
आमतौर पर एक ट्यूटोरियल में कई खंड होते हैं,
जिनमें से प्रत्येक में चरणों के क्रम होते हैं।
प्रत्येक ट्यूटोरियल से परिचित होने से पहले, हम आपको
मानकीकृत शब्दावली पृष्ट को बुकमार्क करने की सलाह देते हैं।
मूलभूत
विन्यास
स्टेटलेस एप्लीकेशन
स्टेटफुल एप्लीकेशन
क्लस्टर
सर्विस
आगे क्या है
यदि आप एक ट्यूटोरियल लिखना चाहते हैं, तो
ट्यूटोरियल पेज प्रकार के बारे में जानकारी के लिए
सामग्री पृष्ठ प्रकार देखें।
 
 
  
  
  
  
  
  
  
    
    
	
    
    
	1 - हेलो मिनीक्यूब
    
	
यह ट्यूटोरियल आपको मिनिक्यूब का उपयोग करते हुए कुबेरनेट्स पर एक सैम्पल ऐप चलाने का तरीका दिखाता है। ट्यूटोरियल एक कंटेनर छवि प्रदान करता है जो सभी अनुरोधों को प्रतिध्वनित करने के लिए NGINX का उपयोग करता है।
उद्देश्य
- मिनीक्यूब में एक नमूना एप्लीकेशन डेप्लॉय करें।
- ऐप को चलाएं।
- एप्लिकेशन लॉग देखें।
शुरू करने से पहले
यह ट्यूटोरियल मानता है कि आपने पहले ही मिनीक्यूब सेट कर लिया है।
इंस्टॉलेशन निर्देशों के लिए मिनीक्यूब स्टार्ट में Step 1 देखें।
टिप्पणी:
केवल Step 1, इंस्टालेशन में दिए गए निर्देशों का पालन करें। बाकी निर्देश इस पेज पर कवर किया गया है।
आपको kubectl भी इंस्टॉल करना होगा। स्थापाना निर्देश के लिए Kubectl स्थापित करें देखें।
एक मिनीक्यूब क्लस्टर बनाएं
कुबेरनेट्स डैशबोर्ड खोलें:
कुबेरनेट्स डैशबोर्ड खोलें। आप इसे दो अलग-अलग तरीकों से कर सकते हैं:
एक नया टर्मिनल खोलें, और चलाएँ:
# एक नया टर्मिनल प्रारंभ करें, और इस कमांड को चालू छोड़ दें।
minikube dashboard
अब, उस टर्मिनल पर वापस जाएँ जहाँ आपने minikube start चलाया था।
टिप्पणी:
dashboard कमांड डैशबोर्ड ऐड-ऑन को इस्तेमाल के लिए तैयार करता है और प्रॉक्सी को डिफ़ॉल्ट वेब ब्राउज़र में खोलता है।
आप डैशबोर्ड पर कुबेरनेट्स संसाधन जैसे डेप्लॉयमेंट और सर्विस बना सकते हैं।
आमतौर पर, डैशबोर्ड केवल आंतरिक कुबेरनेट्स वर्चुअल नेटवर्क के भीतर से ही पहुँचा जा सकता है।
डैशबोर्ड को कुबेरनेट्स वर्चुअल नेटवर्क के बाहर से एक्सेस करने योग्य बनाने के लिए dashboard कमांड एक अस्थायी प्रॉक्सी बनाता है।
प्रॉक्सी को रोकने और प्रक्रिया से बाहर निकलने के लिए Ctrl+C का प्रयोग करें।
कमांड से बाहर निकलने के बाद, डैशबोर्ड कुबेरनेट्स क्लस्टर में चलता रहता है।
आप डैशबोर्ड तक पहुंचने और प्रॉक्सी बनाने के लिए फिर से dashboard कमांड चला सकते हैं।
 
  
यदि आप वेब ब्राउज़र नहीं खोलना चाहते हैं, तो URL प्राप्त करने के लिए url फ़्लैग के साथ dashboard कमांड चलाएँ:
अब, उस टर्मिनल पर वापस जाएँ जहाँ आपने मिनीक्यूब स्टार्ट चलाया था।
 डेप्लॉयमेंट बनाएँ
कुबेरनेट्स पॉड एक या अधिक कंटेनरों का एक समूह है,
जो प्रशासन और नेटवर्किंग के उद्देश्यों के लिए एक साथ बंधे होते हैं। इस ट्यूटोरियल के
पॉड में केवल एक कंटेनर है। कुबेरनेट्स
डेप्लॉयमेंट आपके पॉड के स्वास्थ्य की
जाँच करता है और यदि पॉड बंद हो जाता है तो पॉड के कंटेनर को पुनः आरंभ करता है।
पॉड्स के निर्माण और स्केलिंग को प्रबंधित करने के लिए डेप्लॉयमेंट अनुशंसित तरीका है।
- 
पॉड को प्रबंधित करने वाला डेप्लॉयमेंट बनाने के लिए kubectl createकमांड का उपयोग करें। पॉड
प्रदान की गई डॉकर इमेज के आधार पर एक कंटेनर चलाता है।
 kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.53 -- /agnhost netexec --http-port=8080
 
- 
डेप्लॉयमेंट देखें: आउटपुट कुछ इस समान होगा: NAME         READY   UP-TO-DATE   AVAILABLE   AGE
hello-node   1/1     1            1           1m
 
- 
पॉड देखें: आउटपुट कुछ इस समान होगा: NAME                          READY     STATUS    RESTARTS   AGE
hello-node-5f76cf6ccf-br9b5   1/1       Running   0          1m
 
- 
क्लस्टर इवेंट देखें: 
- 
kubectlकॉन्फ़िगरेशन देखें:
 
टिप्पणी:
kubectl कमांड के बारे में अधिक जानकारी के लिए 
kubectl अवलोकन देखें।
सर्विस बनाएं
आमतौर पर, पॉड कुबेरनेट्स क्लस्टर के भीतर अपने आंतरिक IP पते से ही पहुँचा जा सकता है।
hello-node कंटेनर को कुबेरनेट्स वर्चुअल नेटवर्क के
बाहर से सुलभ बनाने के लिए,पॉड को
कुबेरनेट्स सर्विस के रूप में बेनकाब करना होगा।
- 
kubectl exposeकमांड का उपयोग करके पॉड को सार्वजनिक इंटरनेट पर एक्सपोज़ करें:
 kubectl expose deployment hello-node --type=LoadBalancer --port=8080
 
--type=LoadBalancerफ्लैग इंगित करता है कि आप क्लस्टर के बाहर
अपने सर्विस को प्रदर्शित करना चाहते हैं।
 इमेज के अंदर एप्लिकेशन कोड registry.k8s.io/echoserverकेवल TCP पोर्ट 8080 पर सुनता है।
यदि आपने किसी भिन्न पोर्ट को एक्सपोज़ करने के लिएkubectl एक्सपोज़का उपयोग किया है, तो क्लाइंट उस अन्य पोर्ट से जुड़ नहीं सकते।
 
- 
आपके द्वारा बनाई गई सर्विस देखें: आउटपुट कुछ इस समान होगा: NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
hello-node   LoadBalancer   10.108.144.78   <pending>     8080:30369/TCP   21s
kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          23m
 लोड बैलेंसर्स का समर्थन करने वाले क्लाउड प्रदाताओं पर, सर्विस तक पहुंचने के
लिए एक बाहरी IP पते का प्रावधान किया जाएगा। मिनीक्यूब पर,
LoadBalancerटाइपminikube serviceकमांड से सर्विस को
पहुंच योग्य बनाता है।
 
- 
इस कमांड को चलायें: minikube service hello-node
 
यह कमांड एक ब्राउज़र विंडो खोलता है जो ऐप की प्रतिक्रिया दिखाती है। 
ऐडऑन सक्षम करें
मिनीक्यूब टूल में बिल्ट-इन ऐडऑन (add on) का एक समूह
शामिल है जिसे स्थानीय कुबेरनेट्स वातावरण में सक्षम, अक्षम और खोला जा सकता है।
- 
वर्तमान में उपलब्ध ऐडऑन की सूची: आउटपुट कुछ इस समान होगा: 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
 
- 
एक ऐडऑन सक्षम करें, उदाहरण के लिए, metrics-server:
 minikube addons enable metrics-server
 
आउटपुट कुछ इस समान होगा: The 'metrics-server' addon is enabled
 
- 
आपके द्वारा बनाई गई पॉड और सर्विस देखें: 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    <none>        80/TCP              26s
service/kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP       34m
service/monitoring-grafana     NodePort    10.99.24.54     <none>        80:30002/TCP        26s
service/monitoring-influxdb    ClusterIP   10.111.169.94   <none>        8083/TCP,8086/TCP   26s
 
- 
metrics-serverअक्षम करें:
 minikube addons disable metrics-server
 
आउटपुट कुछ इस समान होगा: metrics-server was successfully disabled
 
साफ - सफाई
अब आप अपने क्लस्टर में बनाए गए संसाधनों को साफ कर सकते हैं:
kubectl delete service hello-node
kubectl delete deployment hello-node
वैकल्पिक रूप से, मिनिक्यूब वर्चुअल मशीन (VM) को बंद करें:
वैकल्पिक रूप से, मिनिक्यूब VM को डिलीट करें:
आगे क्या है
 
    
	
  
    
    
	
    
    
	2.1 - एक क्लस्टर बनाएं
    
	कुबेरनेट्स क्लस्टर के बारे में जानें और मिनिक्यूब का उपयोग करके एक सरल क्लस्टर बनाएं।