DevOps ने सॉफ्टवेयर इंजीनियरों और डेवलपर्स के अनुप्रयोगों को विकसित करने और तैनात करने के तरीके को बहुत बदल दिया है। इस क्रांति के केंद्र में प्रौद्योगिकियों में से एक कुबेरनेट्स है।
आइए जानें कि आप MicroK8s (MicroKates) का उपयोग करके Ubuntu पर Kubernetes का एक स्थानीय उदाहरण कैसे स्थापित कर सकते हैं। इस सेटअप के साथ, आप कंटेनर अनुप्रयोगों को सुरक्षित, विश्वसनीय और अत्यधिक मापनीय तरीके से आसानी से होस्ट कर सकते हैं।
MicroK8s का उपयोग क्यों करें?
Kubernetes एक ओपन-सोर्स प्लेटफॉर्म है जो कंटेनरीकृत अनुप्रयोगों के परिनियोजन, स्केलिंग और प्रबंधन को स्वचालित करके DevOps संचालन को सुव्यवस्थित करने में मदद करता है। कुबेरनेट्स को लोकप्रिय रूप से K8s के नाम से भी जाना जाता है, यह नाम k के बीच आठ अक्षरों की गिनती से लिया गया है। और s कुबेरनेट्स के नाम पर। MicroK8s को एक Micro Kubernetes उदाहरण के रूप में सोचें।
अधिकांश सार्वजनिक और निजी उत्पादन-ग्रेड क्लाउड वातावरण जो उबंटू चलाते हैं, कंटेनरीकृत ऐप्स के प्रबंधन के लिए चार्म्ड कुबेरनेट्स का उपयोग करते हैं। हालांकि, Charmed Kubernetes के साथ चुनौती यह है कि यह संसाधनों की भूखी है और इसे ठीक से कॉन्फ़िगर करने के लिए अच्छे स्तर के ज्ञान की आवश्यकता है।
यह वह जगह है जहां MicroK8s आता है। MicroK8s एक छोटा और हल्का अपस्ट्रीम Kubernetes है जो एक वर्चुअल मशीन की आवश्यकता के बिना एक डेवलपर के पीसी, एक IoT डिवाइस, या एज डिवाइस पर चल सकता है। MicroK8s क्रॉस-प्लेटफ़ॉर्म है और Intel और ARM दोनों आर्किटेक्चर पर चल सकता है।
MicroK8s आपको कम से कम घर्षण के साथ, Kubernetes से परिचित होने के सर्वोत्तम तरीकों में से एक देता है। यह क्लाउड नेटिव कंप्यूटिंग फाउंडेशन (सीएनसीएफ) द्वारा एक प्रमाणित कुबेरनेट्स अपस्ट्रीम है, जो यह सुनिश्चित करता है कि कुबेरनेट्स के कार्यान्वयन निर्दिष्ट उद्योग मानकों के अनुरूप और इंटरऑपरेबल हैं।
चरण 1:Ubuntu पर MicroK8s इंस्टॉल करना
आप Snap कमांड का उपयोग करके आसानी से Ubuntu पर MicroK8s स्थापित कर सकते हैं।
sudo snap install microk8s --classic
वैकल्पिक रूप से, आप Ubuntu सॉफ्टवेयर सेंटर का उपयोग करके GUI से MicroK8s स्थापित कर सकते हैं। बस microk8s के लिए खोजें और फिर इंस्टॉल करें . क्लिक करें बटन।
चरण 2:MicroK8s के लिए अपने फ़ायरवॉल को कॉन्फ़िगर करना
पॉड्स और इंटरनेट के बीच निर्बाध संचार सुनिश्चित करने के लिए, आपको अपने फ़ायरवॉल के कंटेनर नेटवर्क इंटरफ़ेस पर इनकमिंग और आउटगोइंग संचार सक्षम करना चाहिए।
कुबेरनेट्स में एक पॉड सबसे छोटी तैनाती योग्य कंप्यूटिंग इकाई है; यह साझा भंडारण और नेटवर्क संसाधनों आदि के साथ एक या कंटेनरों का समूह हो सकता है।
sudo ufw allow in on cni0 && sudo ufw allow out on cni0
फिर, निम्न कमांड चलाएँ:
sudo ufw default allow routed
अधिक जानें UFW के साथ Ubuntu फ़ायरवॉल को कैसे कॉन्फ़िगर करें
चरण 3:अपने उपयोगकर्ता को MicroK8s समूह में जोड़ना
फिलहाल, आपको sudo . का उपयोग करना होगा अधिकांश MicroK8s कमांड को चलाने के लिए कमांड। हालांकि यह एक उत्पादन सर्वर पर एक अच्छा सुरक्षा उपाय है, यह एक विकास मशीन पर आवश्यक नहीं हो सकता है।
सूडो का उपयोग करने से बचने के लिए अपने उपयोगकर्ता को MicroK8s समूह में जोड़ें।
sudo usermod -aG microk8s $USER
साथ ही, अपने वर्तमान उपयोगकर्ता को ~/.kube . का स्वामी बनाएं निर्देशिका।
sudo chown -f -R $USER ~/.kube
परिवर्तनों को प्रभावी करने के लिए, निम्न आदेश चलाकर उपयोगकर्ता समूहों को पुनः लोड करें:
newgrp microk8s
और जानें:Linux पर उपयोगकर्ता समूहों को कैसे प्रबंधित करें
चरण 4:महत्वपूर्ण ऐडऑन सक्षम करना
डिफ़ॉल्ट रूप से, MicroK8s में किनारे और IoT उपकरणों पर न्यूनतम पदचिह्न प्राप्त करने के लिए न्यूनतम न्यूनतम होता है। हालाँकि, आप MicroK8s सेवाओं को प्रबंधित करने के लिए कुछ महत्वपूर्ण ऐडऑन स्थापित कर सकते हैं। microk8s . के साथ DNS, डैशबोर्ड और संग्रहण ऐड-ऑन सक्षम करें आदेश।
microk8s enable dns dashboard storage
DNS ऐड-ऑन अन्य सेवाओं के लिए आवश्यक हो सकता है, इसलिए इसे हमेशा सक्षम करने की अनुशंसा की जाती है।
डैशबोर्ड ऐड-ऑन आपको MicroK8s में सेवाओं का ग्राफिकल ओवरव्यू देता है; आप इसका उपयोग सेवाओं के प्रबंधन के लिए भी कर सकते हैं।
आप कमांड चलाकर उपलब्ध MicroK8s ऐड-ऑन की सूची देख सकते हैं:
microk8s status
चरण 5:MicroK8s डैशबोर्ड देखना
अब जब आपने डैशबोर्ड ऐड-ऑन को सक्षम कर लिया है, तो आप अपने वेब ब्राउज़र से आसानी से MicroK8s डैशबोर्ड तक पहुंच सकते हैं।
सबसे पहले, आपको डैशबोर्ड पॉड का आईपी पता चाहिए। आप इसे कमांड चलाकर प्राप्त कर सकते हैं:
microk8s kubectl get all --all-namespaces
ऊपर दिए गए कमांड के आउटपुट से, आप देखेंगे कि kubernetes-dashboard सेवा आईपी पते 10.152.183.35 पर चल रही है और टीसीपी पोर्ट 443 पर सुन रही है। ध्यान दें कि यह आईपी पता आपकी डैशबोर्ड सेवा द्वारा उपयोग किए जा रहे एक से भिन्न हो सकता है क्योंकि यह यादृच्छिक रूप से उत्पन्न होता है।
अपने ब्राउज़र में, सूचीबद्ध आईपी पते पर जाएं। इस मामले में, यह https://10.152.183.35:443 . होगा . सुनिश्चित करें कि आप सही URL की ओर इशारा कर रहे हैं।
सुरक्षा उद्देश्यों के लिए, कुबेरनेट्स डैशबोर्ड साइन इन करने के लिए प्रमाणीकरण विवरण के लिए आपसे अनुरोध करेगा। आप निम्न आदेश चलाकर डिफ़ॉल्ट डैशबोर्ड टोकन तक पहुंच सकते हैं। फिर kubernetes.io/service-account-token . को कॉपी करें प्रस्तुत करें और इसे टोकन इनपुट में पेस्ट करें।
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token
डैशबोर्ड आपको MicroK8s वर्कलोड, सेवाओं, कॉन्फ़िगरेशन, क्लस्टर आदि का एक सिंहावलोकन प्रस्तुत करता है।
चरण 6:MicroK8s के साथ एक सेवा बनाना
MicroK8s को क्रिया में देखने के लिए, आइए एक माइक्रोबॉट सेवा परिनियोजन बनाएं जिसमें दो पॉड हों। kubectl . का उपयोग करके पॉड बनाएं आदेश:
microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1
नीचे दिए गए आदेश का उपयोग करके माइक्रोबॉट पॉड को स्केल करें।
microk8s kubectl scale deployment microbot --replicas=2
माइक्रोबॉट परिनियोजन को उजागर करने के लिए एक सेवा बनाएँ।
microk8s kubectl expose deployment microbot --type=NodePort --port=80 --name=microbot-service
हमने अब service/microbot-service . नाम से दो माइक्रोबॉट पॉड तैनात किए हैं . आप निम्न आदेश चलाकर माइक्रोबोट सेवा और अन्य सेवाओं का विवरण देख सकते हैं:
microk8s kubectl get all --all-namespaces
आप देखेंगे कि माइक्रोबॉट सेवा एक नोडपोर्ट पर चल रही है, इसलिए, आप इसे अपने पीसी पर ब्राउज़र के माध्यम से एक्सेस कर सकते हैं। इस मामले में, सेवा बेतरतीब ढंग से उत्पन्न पोर्ट 30353 पर चल रही है।
अपने ब्राउज़र में, URL पर जाएँ https://localhost:30353, जहां 30353 उपरोक्त आउटपुट में सूचीबद्ध पोर्ट नंबर है। सुनिश्चित करें कि आप सही पोर्ट नंबर का उपयोग कर रहे हैं।
Kubernetes vs. Docker:आपको कौन सा चुनना चाहिए?
इस गाइड ने देखा है कि अपने पीसी या एज डिवाइस पर स्थानीय रूप से कुबेरनेट्स का न्यूनतम पदचिह्न कैसे स्थापित किया जाए। Kubernetes कई डेवलपर्स के वर्कफ़्लो का हिस्सा है और उत्पादन में उच्च-स्तरीय कंटेनरीकृत अनुप्रयोगों को तैनात करने के लिए व्यापक रूप से उपयोग किया जाता है।
Kubernetes का उपयोग कंटेनरों के समूह को प्रबंधित या व्यवस्थित करने के लिए किया जाता है, उदा। डॉकटर कंटेनर, आसानी से। दूसरी ओर, स्टैंडअलोन डॉकर का उपयोग मुख्य रूप से एकल कंटेनरों के प्रबंधन के लिए किया जाता है। डॉकर या कुबेरनेट्स का उपयोग करने का विकल्प आपकी टीम की दक्षताओं और उत्पादन के लिए सॉफ्टवेयर के आकार पर निर्भर करेगा।