HELM का उपयोग करके Azure AKS पर एप्लिकेशन परिनियोजित करें

May 05 2023
विकासशील अनुप्रयोगों में कंटेनरों की बढ़ती लोकप्रियता के साथ, यह जटिल उद्यम अनुप्रयोगों को चलाने वाले हजारों कंटेनरों को प्रबंधित करने की कुछ अतिरिक्त चुनौतियों के साथ आता है। ऐसे कंटेनरों को कई परिनियोजन परिवेशों में प्रबंधित करना एक कठिन कार्य है।

विकासशील अनुप्रयोगों में कंटेनरों की बढ़ती लोकप्रियता के साथ, यह जटिल उद्यम अनुप्रयोगों को चलाने वाले हजारों कंटेनरों को प्रबंधित करने की कुछ अतिरिक्त चुनौतियों के साथ आता है। ऐसे कंटेनरों को कई परिनियोजन परिवेशों में प्रबंधित करना एक कठिन कार्य है। इस स्थिति को कम करने के लिए, कंटेनर-ऑर्केस्ट्रेशन उपकरण पेश किए गए।

कुबेरनेट्स

Kubernetes सॉफ्टवेयर परिनियोजन, स्केलिंग और कंटेनरीकृत अनुप्रयोगों के प्रबंधन को स्वचालित करने के लिए एक ओपन-सोर्स कंटेनर ऑर्केस्ट्रेशन सिस्टम है। कुबेरनेट्स की अपार सफलता ने अनुप्रयोग विकास और परिनियोजन की जटिलता को सरल बनाने के लिए उपकरणों का एक पारिस्थितिकी तंत्र बनाया है। कुबेरनेट्स की उत्पत्ति Google द्वारा की गई थी और अब इसका रखरखाव क्लाउड नेटिव कंप्यूटिंग फाउंडेशन (CNCF) द्वारा किया जाता है।
शीर्ष-तीन क्लाउड प्रदाताओं में से प्रत्येक ने अपने क्लाउड ग्राहकों के लिए कुबेरनेट्स पेशकशों का प्रबंधन किया है। इस पोस्ट में, हम Azure Kubernetes Service (AKS) नामक Azure प्रदान की गई Kubernetes सेवा पर चर्चा करेंगे।

Azure Kubernetes सेवा (AKS) परिचय

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

एकेएस पर कुबेरनेट उदाहरण चलाने के कुछ फायदे हैं:

  • रोल-बेस्ड एक्सेस कंट्रोल (RBAC) के लिए एज़्योर एक्टिव डायरेक्ट्री
  • कुबेरनेट्स और कंटेनर निगरानी के लिए Azure मॉनिटर
  • ऑर्केस्ट्रेशन और कंटेनर नेटवर्किंग को आसान बनाने के लिए Azure नेटवर्किंग
  • एकेएस क्लस्टर, पॉड्स, नेमस्पेस और प्रवेश के शासन के लिए Azure नीति
  • AKS क्लस्टर्स और कंटेनरों के भीतर स्टोरेज की जरूरतों के लिए एज़्योर स्टोरेज

जैसे-जैसे कुबेरनेट्स प्लेटफॉर्म और इकोसिस्टम का विकास जारी रहा, कई समूहों पर कई कुबेरनेट्स कॉन्फ़िगरेशन फ़ाइलों (YAML) को तैनात करना और कुबेरनेट्स के अंदर ऑर्केस्ट्रेट करने के लिए कई संसाधनों ने इसे बहुत जटिल बना दिया। ऐसे कई पैकेज मैनेजर टूल हैं जो प्रक्रिया को सरल बनाने में मदद कर सकते हैं जिन्हें HELM कहा जाता है।

"HELM कुबेरनेट्स का पैकेज मैनेजर है। यह कुबेरनेट्स अनुप्रयोगों को प्रबंधित करने में आपकी सहायता करता है”

तैनाती

इस पोस्ट में, हम HELM का उपयोग करके AKS क्लस्टर पर एप्लिकेशन को परिनियोजित करने के दो तरीकों पर चर्चा करेंगे। एक सीएलआई का उपयोग करके मैन्युअल रूप से चल रहा है और दूसरा पाइपलाइन के माध्यम से चल रहा है।

सीएलआई का उपयोग कर हेल्म

मान लें कि नीचे दी गई पूर्वापेक्षाएँ पहले से ही स्थापित और कॉन्फ़िगर की गई हैं। AKS क्लस्टर बनाया गया (इसे IaC या az CLI का उपयोग करके बनाया जा सकता है), kubectl इंस्टॉल किया गया, और Helm 3.4 या बाद में इंस्टॉल किया गया।

निम्नलिखित कमांड चलाकर बिटनामी रिपॉजिटरी जोड़ें

हेल्म का उपयोग करके एकेएस पर माय-रिलीज एप्लिकेशन इंस्टॉल करें

आउटपुट होगा:

एक संदेश देखने के बाद success, आप यह सत्यापित कर सकते हैं कि my-release पॉड्स निम्न आदेश का उपयोग करके चल रहे हैं:

my-release Admin URL तक पहुँचने के लिए, बाहरी IP प्रविष्टि का पता लगाने के लिए निम्न कमांड चलाएँ

एक बार बाहरी। आईपी ​​​​स्थित है पर नेविगेट करेंhttp://<EXTERNAL_IP>/admin

पाइपलाइन का उपयोग कर पतवार

हम किसी भी मानक पाइपलाइन का उपयोग कर सकते हैं। हम स्वचालित रूप से HELM का उपयोग करके एज़्योर DevOps (ADO) पाइपलाइन का उपयोग कर रहे हैं और एंटरप्राइज़ अनुप्रयोगों के लिए चैट छवियों को संग्रहीत करने के लिए ACR का उपयोग कर रहे हैं।

पूर्वापेक्षाएँ: नीचे दिए गए घटकों पर विचार करने के लिए एक पूर्वापेक्षा के रूप में उपलब्ध हैं:

  • Azure सदस्यता
  • एकेएस क्लस्टर
  • एडीओ पाइपलाइन सेटअप
  • एकेएस क्लस्टर सर्विस प्रिंसिपल
  • एसीआर चार्ट संस्करण स्टोर करने के लिए

my-release Admin URL तक पहुँचने के लिए, बाहरी IP प्रविष्टि का पता लगाने के लिए निम्न कमांड चलाएँ

एक बार बाहरी आईपी स्थित हो जाने पर नेविगेट करेंhttp://<EXTERNAL_IP>/admin

निष्कर्ष

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