Cloud Code की मदद से डेवलप करना

1. मकसद

इस लैब में आप:

  • Cloud Code के प्लगिन एक्सप्लोर करें
  • Kubernetes क्लस्टर में डिप्लॉय करें
  • kubernetes लॉग स्ट्रीम करें
  • बदलावों के लिए हॉट रीलोडिंग का इस्तेमाल करें
  • लाइव Kubernetes ऐप्लिकेशन डीबग करें

2. आपका फ़ाइल फ़ोल्डर तैयार किया जा रहा है

ऐप्लिकेशन का क्लोन बनाएं

रिपॉज़िटरी का क्लोन बनाने और उसे अपने डेवलपमेंट एनवायरमेंट में खोलने के लिए:

  1. इस यूआरएल पर जाकर, Cloud Shell एडिटर खोलें

https://ide.cloud.google.com

  1. टर्मिनल विंडो में, नीचे दिए गए निर्देश की मदद से ऐप्लिकेशन सोर्स का क्लोन बनाएं:

git clone https://github.com/viglesiasce/sample-app.git -b golden-path

  1. डायरेक्ट्री में बदलें और IDE फ़ाइल फ़ोल्डर को रेपो रूट पर सेट करें

cd sample-app && cloudshell workspace .

Minikube शुरू करें

इस सेक्शन में, Minikube नाम के kubernetes के लोकल वर्शन का इस्तेमाल करके ऐप्लिकेशन बनाया जाता है, टेस्ट किया जा सकता है, डिप्लॉय किया जा सकता है, और उसे ऐक्सेस किया जा सकता है.

  1. टर्मिनल में, मिनीकुब को चलाकर शुरू करें:

minikube start

Minikube आपके क्लाउड शेल में स्थानीय Kubernetes क्लस्टर सेट अप करता है. इस सेटअप में कुछ मिनट लगेंगे. यह प्रोसेस शुरू होने वाली है. अगले चरण में, Cloud Code से मिले अलग-अलग इंटरफ़ेस की समीक्षा करें.

3. Cloud Code प्लगिन एक्सप्लोर करना

Cloud Code, किसी मौजूदा टेंप्लेट से ऐप्लिकेशन बनाने से लेकर डिप्लॉय किए गए आपके ऐप्लिकेशन के संसाधनों को मॉनिटर करने तक, Kubernetes और Cloud Run ऐप्लिकेशन के पूरे डेवलपमेंट साइकल के लिए, IDE सहायता देता है. इसके लिए, Cloud Code से मिले अलग-अलग निर्देशों और व्यू का इस्तेमाल किया जाएगा. इस चरण में आपको बेसिक इंटरफ़ेस के बारे में जानकारी मिलेगी.

गतिविधि बार से एक्सप्लोरर व्यू की समीक्षा करें

गतिविधि बार से कई यूज़र इंटरफ़ेस पैनल ऐक्सेस किए जा सकते हैं. अलग-अलग व्यू के बारे में जानने के लिए, हर व्यू के आइकॉन पर क्लिक करें

एपीआई एक्सप्लोरर:

  • गतिविधि बार में जाकर, Cloud Code - Cloud API आइकॉन Cloud Code बेस पर क्लिक करें. इस व्यू में काम करने से जुड़ी ज़्यादा जानकारी, दस्तावेज़ में उपलब्ध है.

ded1723c524edd72.png

सीक्रेट मैनेजर एक्सप्लोरर:

  • गतिविधि बार में, सीक्रेट मैनेजर व्यू “पर क्लिक करें. इस व्यू में काम करने से जुड़ी ज़्यादा जानकारी, दस्तावेज़ में उपलब्ध है

89f88159bcf79fa9.png

क्लाउड रन एक्सप्लोरर:

  • बाईं ओर मौजूद 'गतिविधि बार' में Cloud Run आइकॉन का इस्तेमाल करके, Cloud Run एक्सप्लोरर पर जाएं. इस व्यू में काम करने से जुड़ी ज़्यादा जानकारी, दस्तावेज़ में उपलब्ध है

a1d583fd06413011.png

Kubernetes एक्सप्लोरर:

  • बाईं ओर मौजूद गतिविधि बार में मौजूद आइकॉन का इस्तेमाल करके, Kubernetes Explorer पर जाएं. इस व्यू में काम करने से जुड़ी ज़्यादा जानकारी, दस्तावेज़ में उपलब्ध है

b2b8ab3975c5b0c9.png

स्टेटस बार के निर्देशों की समीक्षा करें

स्टेटस बार में मौजूद इंडिकेटर की मदद से, अक्सर इस्तेमाल किए जाने वाले निर्देशों को तुरंत ऐक्सेस किया जा सकता है.

  • स्टेटस बार d61e85cf23a32a40.png BASE में क्लाउड कोड एक्सटेंशन इंंडिकेटर ढूंढें और उस पर क्लिक करें.
  • CloudRun और Kubernetes पर चलाने और डीबग करने के लिए उपलब्ध अलग-अलग निर्देशों की समीक्षा करें
  • अतिरिक्त जानकारी और गतिविधियों का सैंपल देखने के लिए, वेलकम पेज खोलें पर क्लिक करें

निर्देश पैलेट के निर्देशों की समीक्षा करें

कमांड पैलेट में से कुछ और निर्देश उपलब्ध होते हैं. उन निर्देशों की सूची देखें जिन्हें ऐक्सेस किया जा सकता है.

  • कमांड पैलेट खोलें (Ctrl/Cmd+Shift+P दबाएं) और फिर उपलब्ध निर्देशों को फ़िल्टर करने के लिए क्लाउड कोड टाइप करें.
  • निर्देशों की सूची पर जाने के लिए, ऐरो बटन का इस्तेमाल करें.

4. Kubernetes क्लस्टर में डिप्लॉय किया जा रहा है

इस सेक्शन में, आपको अपना ऐप्लिकेशन बनाना, टेस्ट करना, डिप्लॉय करना, और उसे ऐक्सेस करना शामिल है.

नीचे दिए गए चरणों से सोर्स कोड बनाना शुरू होता है और फिर उसकी जांच की जाती है. बिल्ड और टेस्ट को पूरा होने में कुछ मिनट लगेंगे. इन टेस्ट में यूनिट टेस्ट शामिल होते हैं. साथ ही, इनमें पुष्टि करने का एक चरण शामिल होता है, जो डिप्लॉयमेंट एनवायरमेंट के लिए सेट किए गए नियमों की जांच करता है. पुष्टि करने का यह चरण पहले ही कॉन्फ़िगर किया जा चुका है. इससे यह पक्का होता है कि आपको डेवलपमेंट एनवायरमेंट में काम करने के दौरान, डिप्लॉयमेंट से जुड़ी समस्याओं की चेतावनी मिलती रहे.

  1. क्लाउड शेल एडिटर में सबसे नीचे मौजूद पैनल में, क्लाउड कोड बेस d61e85cf23a32a40.png चुनें.
  2. सबसे ऊपर दिखने वाले पैनल में, Kubernetes पर चलाएं को चुनें. अगर पूछा जाए, तो Minikube Kubernetes कॉन्टेक्स्ट इस्तेमाल करने के लिए 'हां' चुनें.
  3. प्रोग्रेस और सूचनाएं देखने के लिए, सबसे नीचे मौजूद पैनल 4866761cb9c691e2.png में आउटपुट टैब चुनें
  4. "Kubernetes: रन/डीबग - ज़्यादा जानकारी" चुनें कंटेनर से लाइव स्ट्रीमिंग और ज़्यादा जानकारी देखने के लिए, चैनल के ड्रॉप-डाउन मेन्यू में दाईं ओर c5e31091d464dbcf.png

ऐप्लिकेशन बनाने और उसकी जांच पूरी होने के बाद, आउटपुट टैब में जानकारी दी जाती है: Resource deployment/sample-app-dev status completed successfully और दो यूआरएल सूची में शामिल होते हैं.

  1. Cloud Code टर्मिनल में, आउटपुट में पहले यूआरएल (http://localhost:8080) पर माउस घुमाएं. इसके बाद, दिखने वाले टूल टिप में 'वेब झलक खोलें' चुनें.

ऐप्लिकेशन का लोकल वर्शन आपके ब्राउज़र में खुल जाएगा. ऐप्लिकेशन का यह वर्शन, Minikube के Kubernetes क्लस्टर में चल रहा है.

  1. अपने ब्राउज़र में, पेज को रीफ़्रेश करें. 'काउंटर बढ़ाएं' के बगल में दिखने वाली संख्या से पता चलता है कि ऐप्लिकेशन आपके रीफ़्रेश करने पर काम कर रहा है.

अपने ब्राउज़र में इस पेज को खुला रखें, ताकि लोकल एनवायरमेंट में कोई भी बदलाव करते समय ऐप्लिकेशन को देखा जा सके.

5. बदलावों के लिए हॉट रीलोडिंग का इस्तेमाल करें

इस सेक्शन में, ऐप्लिकेशन में बदलाव किया जाता है और लोकल Kubernetes क्लस्टर में ऐप्लिकेशन के चलने पर, इस बदलाव को देखा जा सकता है. Kubernetes: रन/डीबग चैनल के आउटपुट टैब में, ऐप्लिकेशन के यूआरएल के साथ-साथ आउटपुट में Watching for changes. भी लिखा होता है. इसका मतलब है कि वॉच मोड चालू है. जब Cloud Code, वॉच मोड में हो, तब Cloud Code आपके रेपो में सेव किए गए किसी भी बदलाव का पता लगाएगा. साथ ही, यह नए बदलावों के साथ ऐप्लिकेशन को अपने-आप दोबारा बनाएगा और डिप्लॉय करेगा.

  1. Cloud Shell Editor में, Main.go फ़ाइल पर जाएं.
  2. इस Main.go फ़ाइल में, लाइन 23 में, रंग को हरे से बदलकर नीला करें.
  3. फ़ाइल सेव करें.

Cloud Code यह पता लगाता है कि ऐप्लिकेशन में किया गया बदलाव सेव कर लिया गया है और वह बदलाव को अपने-आप फिर से डिप्लॉय कर देता है. आउटपुट टैब में, अपडेट शुरू किया गया दिखता है. फिर से डिप्लॉयमेंट को चलने में कुछ मिनट लगेंगे.

अपने-आप फिर से बनाने की यह प्रक्रिया, हॉट कोड रीलोडिंग जैसी ही है. यह सुविधा कुछ ऐप्लिकेशन टाइप और फ़्रेमवर्क के लिए उपलब्ध है.

  1. बिल्ड पूरा हो जाने के बाद, अपने उस ब्राउज़र पर जाएं जहां आपने ऐप्लिकेशन खोला है और पेज को रीफ़्रेश करें.

रीफ़्रेश करने पर, टेबल में सबसे ऊपर दिखने वाला रंग नीले से हरे में बदल जाता है.

इस सेटअप से आपको किसी भी आर्किटेक्चर के लिए, किसी भी कॉम्पोनेंट के साथ अपने-आप फिर से लोड होने की सुविधा मिलती है. Cloud Code और Minikube का इस्तेमाल करते समय, Kubernetes में चल रही चीज़ों में यह हॉट कोड फिर से लोड करने की सुविधा होती है.

6. लाइव Kubernetes ऐप्लिकेशन डीबग करना

आपने ऐप्लिकेशन चला लिया है, उसमें बदलाव किए हैं, और चल रहा ऐप्लिकेशन देखा है. इस सेक्शन में, ऐप्लिकेशन को डीबग किया जाता है, ताकि यह भरोसा रहे कि वह मुख्य डेटा स्टोर करने के लिए तैयार है.

डीबग के इस उदाहरण के लिए, हम पेज काउंटर के लिए कोड के सेक्शन पर फ़ोकस करेंगे.

  1. Cloud Shell Editor में, Main.go फ़ाइल खोलें
  2. पंक्ति 82 की बाईं संख्या पर क्लिक करके ऐप्लिकेशन में एक ब्रेकपॉइंट सेट करें (अगर यह गड़बड़ी है != शून्य {)
  3. Cloud Shell Editor में सबसे नीचे मौजूद नीले पैनल में, क्लाउड कोड d61e85cf23a32a40.png BASE चुनें.
  4. सबसे ऊपर दिखने वाले पैनल में, Kubernetes पर डीबग करें चुनें.

Cloud Code, डीबगर को चलाता है और उन्हें अटैच करता है, ताकि आप न सिर्फ़ ऐप्लिकेशन की मेमोरी में होने वाली स्थिति को ऐक्सेस कर सकें, न कि सिर्फ़ उपयोगकर्ताओं को मिलने वाले व्यवहार को ऐक्सेस कर सकें.

  1. डिप्लॉयमेंट की प्रोसेस खत्म होने पर, आपकी विंडो के सबसे ऊपर एक प्रॉम्प्ट दिखेगा. इसमें, उस कंटेनर में डायरेक्ट्री की पुष्टि करने के लिए कहा जाएगा जहां ऐप्लिकेशन डिप्लॉय किया गया है. f96e9a814edb44f4.png

पुष्टि करें कि वैल्यू /go/src/app पर सेट है और वैल्यू को स्वीकार करने के लिए, Enter दबाएं

  1. डीबगर के डिप्लॉयमेंट की प्रक्रिया पूरी होने का इंतज़ार करें. स्टेटस बार के नारंगी रंग में बदलने और आउटपुट रिपोर्ट "Attached debugger to container "sample-app-dev-..." successfully होने पर, आपको पता चल जाएगा कि यह पूरा हो गया है."
  2. Cloud Code टर्मिनल में, आउटपुट में पहले यूआरएल (http://localhost:8081) पर माउस घुमाएं. इसके बाद, दिखने वाले टूल टिप में 'वेब झलक खोलें' चुनें. पेज लोड होना पूरा नहीं होगा, जैसा कि उम्मीद है.
  3. उस IDE पर वापस स्विच करें जहां डीबगर अब दिखता है. इसके बाद, टैब में कोड दिखेगा और आपको कॉल स्टैक दिखेगा. इसका मतलब है कि कोड के उस हिस्से में कौनसे वैरिएबल उपलब्ध हैं. यहां, मौजूदा काउंटर वैरिएबल की वैल्यू देखने के लिए, वैरिएबल - स्थानीय को बड़ा किया जा सकता है.
  4. पेज को लोड होते रहने की अनुमति देने के लिए, "जारी रखें" को चुनें डीबग करने की विंडो 8f395391c4828528.png का आइकॉन
  5. डीबग करने के बाद, हर चल रहे थ्रेड को खत्म करने के लिए, 'रोकें' बटन पर क्लिक करें. 81d142a9e1a2c01b.png