Cloud Shell & के साथ डेवलप करना क्लाउड कोड

1. खास जानकारी

Cloud Shell एक ऑनलाइन डेवलपमेंट और ऑपरेशन एनवायरमेंट है, जिसे आपके ब्राउज़र की मदद से कहीं से भी ऐक्सेस किया जा सकता है. ऑनलाइन टर्मिनल की मदद से, संसाधनों को मैनेज किया जा सकता है. टर्मिनल में gcloud command-line टूल, kubectl, और ऐसी कई सुविधाएं पहले से मौजूद होती हैं. ऑनलाइन क्लाउड शेल एडिटर का इस्तेमाल करके, क्लाउड-आधारित ऐप्लिकेशन डेवलप किए जा सकते हैं, बनाए जा सकते हैं, डीबग किए जा सकते हैं, और डिप्लॉय किए जा सकते हैं

इस लैब में, आपको Cloud Shell और Cloud Shell Editor के साथ काम करना होगा. साथ ही, आपको लोकल एम्युलेटर और असली सेवाओं पर Cloud Code का इस्तेमाल करके कंटेनर-आधारित ऐप्लिकेशन बनाने और उन्हें डिप्लॉय करने के साथ-साथ उनकी जांच भी करनी होगी.

आपको क्या सीखने को मिलेगा

  • Cloud Shell की मुख्य सुविधाओं के बारे में जानें और नेविगेट करें
  • Cloud Shell के अलग-अलग पैटर्न के साथ प्रैक्टिस करें
  • बेहतर इस्तेमाल के लिए, Cloud Shell एनवायरमेंट को पसंद के मुताबिक बनाएं
  • Cloud Code के विकल्पों और सुविधाओं के बारे में जानें
  • Kubernetes ऐप्लिकेशन के लिए Cloud Code की जानकारी जानें
  • Minikube जैसे लोकल एम्युलेटर का इस्तेमाल करें

ज़रूरी शर्तें

  • आपके पास ऐसा GCP प्रोजेक्ट होना चाहिए जिसमें Editor की अनुमतियां, GCP खाता, और Cloud Shell का ऐक्सेस हो
  • वैकल्पिक हिस्सों के लिए, आपको टर्मिनल एम्युलेटर और Google Cloud SDK टूल को इंस्टॉल करना होगा.

2. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेटअप करें

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. इसे सेट करने के बाद बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना होगा. आम तौर पर, इसे PROJECT_ID के तौर पर पहचाना जाता है. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो आप कोई भी और रैंडम आईडी जनरेट कर सकते हैं. इसके अलावा, खुद भी आज़माया जा सकता है और देखें कि वह उपलब्ध है या नहीं. इस चरण के बाद इसे बदला नहीं जा सकता और प्रोजेक्ट के कुल समय तक बना रहेगा.
  • आपकी जानकारी के लिए, एक तीसरी वैल्यू यानी प्रोजेक्ट नंबर है. इसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
  1. इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा, संसाधनों को बंद करने के लिए कि आपको बिलिंग न करनी पड़े. इसके लिए, अपने बनाए गए संसाधनों को मिटाएं या पूरा प्रोजेक्ट मिटाएं. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.

3. Cloud Shell Terminal के साथ काम करना

इस सेक्शन में, आपको Cloud Shell Terminal, यूज़र इंटरफ़ेस (यूआई) को नेविगेट करने, इसकी सुविधाओं को इस्तेमाल करने, और कॉन्फ़िगरेशन के विकल्पों के बारे में जानकारी मिलेगी. साथ ही, आपको बेहतर तरीके से काम करने के लिए, इसे इस्तेमाल करने के अलग-अलग तरीकों के बारे में भी जानकारी मिलेगी.

Cloud Shell में दो मुख्य टूल हैं, Cloud Shell Terminal और Cloud Shell Editor. इस लैब में, Cloud Shell Terminal और Cloud Shell शब्दों का इस्तेमाल एक-दूसरे की जगह पर किया जाएगा. हालांकि, टर्मिनल एम्युलेटर और IDE के बीच साफ़ तौर पर अंतर बताने के लिए, एडिटर को हमेशा क्लाउड शेल एडिटर कहा जाएगा.

Cloud Shell, पूरी तरह से काम करने वाली क्लाउड-आधारित शेल है. इसे कुछ समय के लिए इस्तेमाल की जाने वाली Google Compute Engine Debian-आधारित Linux मशीन के ऊपर बनाया गया है, जो आपके इस्तेमाल के लिए हमेशा उपलब्ध रहती है. इसमें Google Cloud SDK टूल इंस्टॉल किया गया है. साथ ही, इसमें git, kubectl, kubectx, curl, python3, tmux जैसे काम के कई टूल शामिल हैं...

आपकी $HOME डायरेक्ट्री, Cloud Storage by Google Cloud में मौजूद रहती है और Cloud Shell मशीन के हर बार चालू होने पर, अपने-आप माउंट हो जाती है. इसलिए, Cloud Shell मशीन के बंद होने के बाद भी, इसके नीचे छोड़ी गई कोई भी जानकारी सेव नहीं होती है. इसका मतलब है कि Cloud Shell को फिर से चालू करने पर, आपकी $HOME डायरेक्ट्री और उसमें किए गए किसी भी कस्टमाइज़ेशन का इस्तेमाल किया जा सकता है.

Cloud Shell लॉन्च किया जा रहा है

  1. console.cloud.google.com पर जाएं और अगर आपने GCP कंसोल में पहले से लॉग इन नहीं किया है, तो अपने Google क्रेडेंशियल डालें. आपको Google Cloud Platform Console का मुख्य यूज़र इंटरफ़ेस (यूआई) दिखेगा.
  2. Cloud Console के मेन्यू बार सिलेक्टर में, वह GCP प्रोजेक्ट आईडी चुनें जिसके साथ आपको काम करना है:

a78258af94ed9ec3.png

  1. मेन्यू बार की दाईं ओर, अपने खाते के अवतार के बगल में क्लाउड शेल चालू करने का बटन ढूंढें:

5b4246f45b173ff4.png

  1. Cloud Shell आइकॉन पर क्लिक करने पर, Cloud Shell टर्मिनल खुल जाएगा. इससे GCP Console के यूज़र इंटरफ़ेस (यूआई) के ठीक नीचे एक नया पैनल दिखेगा: यूज़र इंटरफ़ेस (यूआई):

8495f27a3ed0f05.png

इस पैनल में, आपको Cloud Shell Terminal कहा जाएगा.

  1. Cloud Shell Terminal पर जाएं और ध्यान दें कि आपने GCP कंसोल से सही GCP प्रोजेक्ट आईडी चुना है. इसलिए, Cloud Shell को इस बारे में पता चल जाएगा, इसलिए आपको इसे दोबारा तय करने की ज़रूरत नहीं पड़ेगी:
echo $GOOGLE_CLOUD_PROJECT

इससे आपका GCP प्रोजेक्ट आईडी मिलेगा, जो Cloud Shell प्रॉम्प्ट में भी दिखता है.

टूल के बीच स्विच करना

Cloud Shell आपको कई टूल और कॉन्फ़िगरेशन के विकल्प देता है. Cloud Shell मेन्यू में उपलब्ध विकल्पों की मदद से उनकी समीक्षा करें:

595834af08265e5c.png

  1. बार में 67bd0e39332a8438.png बटन पर क्लिक करें, जिससे क्लाउड शेल टर्मिनल को बड़ा किया जा सकेगा और आपके ब्राउज़र के सभी टैब रीयल एस्टेट का इस्तेमाल किया जा सकेगा:

1197e3e9a36bc7aa.png

  1. Cloud Shell, ब्राउज़र का पूरा टैब स्पेस इस्तेमाल करके बड़ा हो जाता है:

ecb227a1d39b8021.png

  1. इस पर फिर से क्लिक करें. ब्राउज़र टैब रीयल एस्टेट, Cloud Console और Cloud Shell के बीच वापस शेयर किया जाएगा.

नए टैब खोलना

Cloud Shell Terminal की मदद से, अपनी ज़रूरत के हिसाब से कई टैब खोले जा सकते हैं.

  1. नीचे दिया गया बटन क्लिक करें और नया टैब खोलें.

e5757f88b64c7f5.png

  1. अब टैब के नाम के आगे x पर क्लिक करके नया टैब बंद करें या उससे जुड़े शेल में exit टाइप करें:

8828238e04a14a20.png

नई विंडो खोलना

Cloud Shell को नई ब्राउज़र विंडो में खोलने से, Cloud Console को एक विंडो में और Cloud Shell को दूसरी विंडो में इस्तेमाल किया जा सकता है.

  1. नीचे दिए गए बटन पर क्लिक करें और देखें कि नए ब्राउज़र टैब में Cloud Shell कैसे खुलता है:

bd407e51ae78d9fe.png

  1. ध्यान दें कि Cloud Shell में अब वही टूलबार विकल्प मिलते हैं जो थोड़े अलग दिखते हैं:

4bce4507ce34a695.png

  1. अगले सेक्शन में इस नए ब्राउज़र टैब पर बने रहें.

Tmux की मदद से सेशन ट्रांसफ़र किए जा रहे हैं

क्लाउड शेल में tmux शामिल है. Tmux, GNU स्क्रीन की तरह ही एक बहुत लोकप्रिय टर्मिनल मल्टीप्लेक्स है. tmux के साथ इंटिग्रेशन से, Cloud Shell को आपका सेशन सुरक्षित रखने की सुविधा मिलती है, चाहे आप कहीं भी हों.

यहां दिए गए चरणों में, इस सुविधा को बेहतर तरीके से समझने के लिए, आपको इस सुविधा की प्रैक्टिस करनी होगी.

क्लाउड शेल टर्मिनल को एक जगह से दूसरी जगह ले जाना

  1. अभी-अभी खोले गए Cloud Shell टैब में, top निर्देश लिखें:

bdd80a3fdcc6c7db.png

मुख्य निर्देश, आपके Cloud Shell टर्मिनल में चल रही प्रोसेस का रीयल-टाइम में व्यू उपलब्ध कराता है. इसका इस्तेमाल, tmux के बनाए गए Cloud Shell में सेशन में बने रहने के अनुभव को विज़ुअलाइज़ करने के लिए किया जाएगा.

  1. अपने ब्राउज़र के पहले टैब पर वापस जाएं (जहां Cloud Console मौजूद है).
  2. ध्यान से देखें, क्योंकि आपने पहले क्लाउड शेल को नई विंडो में खोलने का फ़ैसला लिया था, इसलिए आपको "Your session was transferred to another browser tab. You can disable this from the "Tmux Settings" option in the Cloud Shell settings menu." बताने वाला एक मैसेज दिख रहा है
  3. फिर से कनेक्ट करें बटन पर क्लिक करें:

bdc5d5773296bcfe.png

इसके बाद आपके पास दूसरे टैब में चल रहे शेल का ऐक्सेस होगा. साथ ही, ऊपर वाला हिस्सा यहां उसी तरह चलता रहेगा जैसे आपने उसे अभी छोड़ा था.

  1. अपने ब्राउज़र में दूसरे टैब पर जाएं, जहां आपने नई विंडो में Cloud Shell को खोला है.
  2. फिर से कनेक्ट करें पर क्लिक करें. आपको ऊपर की प्रोसेस ठीक उसी तरह वापस मिलेगी जैसी वे विंडो बंद करने से पहले चल रही थी.

Windows को Tmux के साथ बांटना

आपने अभी-अभी जिस चीज़ के लिए इसका इस्तेमाल किया है, उसके मुकाबले Tmux कहीं ज़्यादा काम का है. tmux का ट्यूटोरियल इस लैब में शामिल नहीं है. इसके बारे में ज़्यादा जानकारी पाने के लिए, tmux का इस्तेमाल शुरू करने के आधिकारिक तरीके देखें.

हालांकि, tmux, Cloud Shell को कुछ ऐसी अतिरिक्त सुविधाएं देता है जो लोकल टर्मिनल एम्युलेटर में संभव हैं. एक कोड दिखाने के लिए, टर्मिनल को अगल-बगल में स्प्लिट करें.

  1. Cloud Shell के अंदर, Ctrl + b दबाएं और फिर % दबाएं
  2. देखें कि कैसे tmux, मूल पैनल के दाईं ओर एक नया पैनल बनाता है:

717b047d71c8eeef.png

  1. दूसरे पैनल पर क्लिक करें और exit टाइप करें.

वेब झलक का इस्तेमाल करें

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

  1. Cloud Shell में टाइप करें:
python3 -m http.server 8080
  1. सबसे ऊपर दाएं कोने में मौजूद, वेब झलक विकल्प पर जाएं और पोर्ट 8080 पर झलक देखें को चुनें:

a8363cafca79345.png

एक नए टैब में वह डिफ़ॉल्ट पेज खुलेगा जो उस पोर्ट में मौजूद होता है.

ध्यान दें कि आपके ऐप्लिकेशन के Cloud Shell में जो भी पोर्ट दिख रहा है उसके पोर्ट को बदलने के साथ-साथ उसकी झलक भी देखी जा सकती है. ऐसा, सिर्फ़ पोर्ट 8080 की ही नहीं किया जा सकता.

क्लाउड शेल के अन्य विकल्प ऐक्सेस करना

Cloud Shell में अतिरिक्त सेटिंग और विकल्प उपलब्ध हैं.

  1. विकल्पों को ऐक्सेस करने के लिए, Cloud Shell मेन्यू में तीन बिंदुओं पर क्लिक करें:

a5c515c9df9284be.png

Cloud Shell पर फ़ाइलें अपलोड या डाउनलोड करने के सबसे सही विकल्प ये हैं. अगर आपको कोई समस्या आती है, तो Cloud Shell मशीन को रीस्टार्ट किया जा सकता है.

4. Cloud Shell Editor के साथ काम करना

Cloud Shell की सबसे अहम सुविधाओं में से एक है Cloud Shell एडिटर. यह एक पूरा आईडीई है, जो ओपन सोर्स प्रोजेक्ट Eclipse Theia पर आधारित है. इसमें Google ने भी योगदान दिया है. इसका लुक और स्टाइल, VSCode से काफ़ी मिलता-जुलता है, क्योंकि दोनों ही ओपन सोर्स के कई सामान्य कॉम्पोनेंट का इस्तेमाल करते हैं. जैसे, मोनाको एडिटर, एक्सटेंशन मॉडल, लैंग्वेज सर्वर प्रोटोकॉल, और डीबग अडैप्टर प्रोटोकॉल.

Theia/Cloud Shell Editor एक जटिल टूल है. इसलिए, Cloud Shell Editor की सभी सुविधाओं के बारे में जानकारी देना इस लैब के दायरे में नहीं आता. इस सेक्शन में, आपको Google Cloud के इस वर्शन में उपलब्ध कुछ मुख्य कॉन्सेप्ट और यूनीक सुविधाओं के बारे में जानकारी मिलेगी.

Cloud Shell Editor को ऐक्सेस करना

Cloud Shell Editor को तीन अलग-अलग तरीकों से ऐक्सेस किया जा सकता है:

  • कमांड लाइन से ऐक्सेस करना
  • Cloud Shell मेन्यू से ऐक्सेस करना
  • अपने ब्राउज़र में किसी यूआरएल पर जाना

इन तरीकों का इस्तेमाल करने के लिए, नीचे दिया गया तरीका अपनाएं

  1. कमांड लाइन से .bashrc को नीचे दिए गए कमांड से खोलें:
cloudshell edit $HOME/.bashrc
  1. मेन्यू से Cloud Shell खोलें. इसके लिए, एडिटर खोलें 6039dbc755bfca9f.pngबटन पर क्लिक करें: f493b9a98771b0af.png इससे, Cloud Shell टर्मिनल को खोलकर क्लाउड शेल एडिटर खुल जाता है. अगर आपको सिर्फ़ Cloud Shell Editor के लिए सभी टैब रीयल एस्टेट चाहिए, तो टर्मिनल को बंद करने के लिए 'बदलाव करें' बटन के दाईं ओर दिए गए बटन पर क्लिक करें. इन दो बटन (एडिटर को खोलें/बंद करें और टर्मिनल को खोलें/बंद करें) से तय होगा कि ब्राउज़र टैब में कौनसा टूल मौजूद है. इन्हें समझने के लिए, दोनों पर क्लिक करने की प्रैक्टिस करें.
  2. ide.cloud.google.com टाइप करके,ब्राउज़र में मौजूद यूआरएल बार से Cloud Shell Editor को चालू करें.

Cloud Shell Editor से कमांड लाइन इस्तेमाल करना

हालांकि, आपके पास एक ही ब्राउज़र टैब में Cloud Shell Terminal और क्लाउड शेल एडिटर का इस्तेमाल किया जा रहा है, लेकिन क्लाउड शेल टर्मिनल का इस्तेमाल किया जा सकता है. साथ ही, अपनी सभी ज़रूरतों के लिए, क्लाउड शेल एडिटर और क्लाउड शेल एडिटर में उपलब्ध टर्मिनल का इस्तेमाल किया जा सकता है. अगर आपको IDE के अंदर रहने की आदत है और आपको VSCode के अलग-अलग शॉर्टकट और पैनल डाइनैमिक के बारे में जानकारी है, तो यह बात आपके लिए मददगार साबित हो सकती है.

ऊपर बताए गए किसी भी तरीके का इस्तेमाल करके, Cloud Shell Editor खोलें. फिर, एडिटर मेन्यू में जाएं और Terminal > नया टर्मिनल (या अपने कीबोर्ड में `Ctrl + `` दबाएं). Cloud Shell Editor के निचले हिस्से में एक नया टर्मिनल पैनल खुलेगा. इसका इस्तेमाल अपनी सभी शेल ज़रूरतों के लिए किया जा सकता है:

8b2c36f71e851c40.png

इससे आपको अलग-अलग टर्मिनल पैनल मैनेज करने का विकल्प भी मिलता है. इसके लिए, आपको tmux पैनल मैनेज करने की ज़रूरत नहीं पड़ती, क्योंकि यह Cloud Shell टर्मिनल का मामला था.

Cloud Shell की सेटिंग को पसंद के मुताबिक बनाना

Cloud Shell में पसंद के मुताबिक कई विकल्प मिलते हैं. जैसे, रंग-रूप और Cloud Shell Terminal के स्टार्टअप कॉन्फ़िगरेशन और उसके बुनियादी काम करने के तरीके में बदलाव किया गया है. नीचे दिए गए सेक्शन में, आपको अलग-अलग विकल्पों के बारे में कुछ जानकारी के साथ समीक्षा करनी होगी.

Cloud Shell Terminal मेन्यू में जाएं और कॉग आइकॉन पर क्लिक करें. कॉन्फ़िगरेशन के कई विकल्प दिखेंगे:

a473c985a434070b.png

इनमें से कुछ की समीक्षा करें:

  • कलर थीम: हल्के या गहरे रंग वाली थीम इस्तेमाल की जा सकती हैं या अपनी पसंद के मुताबिक रंगों के सेट का इस्तेमाल किया जा सकता है. जैसे, फ़ॉन्ट का रंग और बैकग्राउंड का रंग
  • टेक्स्ट का साइज़: चुनने के लिए पांच अलग-अलग फ़ॉन्ट साइज़
  • फ़ॉन्ट: कूरियर न्यू या मोनोस्पेस
  • कॉपी करने की सेटिंग: यहां कॉपी कीबोर्ड शॉर्टकट को बदलकर, ऐसा Linux टर्मिनल एम्युलेटर में इस्तेमाल किए गए शॉर्टकट जैसे शॉर्टकट किया जा सकता है.
  • कीबोर्ड: मेटा बटन को Alt से मैप करना (डिफ़ॉल्ट रूप से, Meta ESC है) और कुछ ओएस में Alt Gr कुंजी को मैप करना.

शेल एनवायरमेंट को कॉन्फ़िगर करना

Debian-आधारित Linux मशीन में शेल चला रहे टर्मिनल एम्युलेटर के तौर पर, आप अपने शेल एनवायरमेंट को उसी तरह कस्टमाइज़ कर सकते हैं जैसे आप Linux में करते हैं. इसी तरह, $HOME में मौजूद कोई भी कॉन्फ़िगरेशन फ़ाइल (जैसे कि .bashrc) को हर बार नई लॉगिन शेल प्रोसेस बनाए जाने पर सोर्स किया जाएगा.)

Cloud Shell से आपको यह तय करने की सुविधा भी मिलती है कि जब क्लाउड शेल इंस्टेंस, .customize_environment नाम की एक खास कॉन्फ़िगरेशन फ़ाइल में शुरू होता है, तब आपको कौनसी कार्रवाइयां करनी हैं. एनवायरमेंट कस्टमाइज़ेशन दस्तावेज़ में इसके बारे में ज़्यादा जानकारी देखी जा सकती है.

Cloud Shell टर्मिनल में कुछ कॉन्फ़िगरेशन जोड़ने की प्रैक्टिस करें. Cloud Shell टर्मिनल पर जाएं और यहां दिए गए सैंपल कोड रेपो का क्लोन बनाएं:

git clone https://gitlab.com/javiercanadillas/cloud-code-getting-started.git

इस डेटा स्टोर करने की जगह में दो मुख्य इवेंट के सैंपल शामिल हैं, जिनमें शायद आपको अपना Cloud Shell कॉन्फ़िगर करना हो:

  • Cloud Shell इंस्टेंस शुरू होने पर: $HOME/.customize_environment फ़ाइल को पढ़ा जाएगा. इस प्रोसेस का एक्ज़ीक्यूशन लॉग /var/log/customize_environment में मिल सकता है. इसे एक्ज़ीक्यूट करने पर /google/devshell/customize_environment_done बन जाएगा.
  • जब भी कोई नई शेल प्रोसेस शुरू की जाती है (नई विंडो, नया टैब...); सामान्य बैश शेल कॉन्फ़िगरेशन फ़ाइलें पढ़ी जाएंगी.

इन दोनों के साथ प्रैक्टिस करें. इसके लिए, यह तरीका अपनाएं:

  1. रेपो से मिले कस्टमाइज़ेशन को लॉन्च करने के लिए, नीचे दिया गया कमांड चलाएं:
cd cloud-code-getting-started
source set_env_cust.sh

इससे, पसंद के मुताबिक बनाने के पहले बताए गए दोनों विकल्प सेट अप हो जाते हैं और उन्हें चालू कर दिया जाता है.

  1. नए शेल प्रॉम्प्ट पर ध्यान दें. .bash_profile फ़ाइल में सोर्स की गई बैश स्क्रिप्ट ने इस नए प्रॉम्प्ट को कॉन्फ़िगर किया है. यह प्रॉम्प्ट डिफ़ॉल्ट प्रॉम्प्ट से छोटा है. इसमें, चेक आउट की गई ब्रांच या git स्टेटस जैसी बुनियादी जानकारी शामिल है.
  2. cloudshell edit निर्देश के लिए अब एक नया code उपनाम उपलब्ध है, जो छोटा है. .bash_profile फ़ाइल का कॉन्टेंट देखने के लिए, इसका इस्तेमाल करें:
code $HOME/.bash_profile
  1. .customize_environment फ़ाइल का कॉन्टेंट देखने के लिए, इंस्टॉल किए गए नए निर्देश bat का इस्तेमाल करें:
bat $HOME/.customize_environment

bat, मशहूर Unix टूल कैट का बेहतर वर्शन है. bat आउटपुट यहां दिखाया जा रहा है कि हर बार एक नई क्लाउड शेल मशीन बनाई जाने पर, लोड टेस्टिंग टूल hey को फिर से इंस्टॉल करने के लिए इस्तेमाल किया जाने वाला apt install निर्देश.

  1. क्लाउड शेल मेन्यू (सबसे ऊपर दाएं कोने में मौजूद तीन बिंदु) पर क्लिक करें और रीस्टार्ट करें को चुनकर जांच करें कि सब कुछ काम कर रहा है या नहीं.

इससे आपको Cloud Shell के टाइम आउट और इंस्टेंस मनोरंजन को सिम्युलेट करने में मदद मिलेगी. साथ ही, यह पक्का किया जा सकेगा कि सब कुछ सही तरीके से कॉन्फ़िगर किया गया है.

क्लाउड शेल कंटेनर की इमेज को पसंद के मुताबिक बनाना

पसंद के मुताबिक बनाने के इस विकल्प की मदद से, Docker इमेज बनाई जा सकती है. यह इमेज, अतिरिक्त पैकेज और कस्टम कॉन्फ़िगरेशन के साथ कस्टम Cloud Shell एनवायरमेंट के तौर पर काम करती है. जनरेट की गई इमेज, पूरी तरह से कुछ समय के लिए Cloud Shell इंस्टेंस को स्पिन करेगी. इससे, Cloud Shell वीएम और इससे जुड़ी $HOME डायरेक्ट्री में कोई बदलाव नहीं होगा. हालांकि, इमेज बनाने की यह प्रोसेस आपके काम के उन मामलों में काम करेगी जहां आपको तीसरे पक्षों को फ़ंक्शन के हिसाब से Cloud Shell के इंस्टेंस डिलीवर करने हों, ताकि वे कोई खास टास्क बेहतर तरीके से कर सकें.

पिछले सेक्शन की तरह एनवायरमेंट को पसंद के मुताबिक बनाने के बजाय, अपने बदलावों को एक नई इमेज में बेक करें. इसका इस्तेमाल आपके Cloud Shell को स्पिन करने के लिए किया जाता है. इसका सीधा फ़ायदा है, क्योंकि कस्टम क्लाउड शेल तेज़ी से चालू हो जाएगा.

Cloud Shell की नई इमेज बनाई जा रही है

  1. Cloud Shell कंटेनर में इमेज बनाने की प्रोसेस शुरू करने के लिए, Cloud Shell Terminal में टाइप करें:
cloudshell env create-custom-image custom-cloud-shell
cd custom-cloud-shell

इससे आपके क्लाउड शेल में एक नई डायरेक्ट्री बन जाती है. साथ ही, आपका कोड होस्ट करने के लिए, क्लाउड सोर्स डेटा स्टोर करने की नई जगह का नाम एक जैसा हो जाता है. यह $HOME/custom-cloud-shell/ directory में एक सैंपल Dockerfile का क्लोन भी बनाता है.

  1. Dockerfile की आखिरी लाइन में RUN apt install -y hey लाइन जोड़ें:
echo "RUN apt install -y hey" >> $HOME/custom-cloud-shell/Dockerfile

इससे, वही कस्टमाइज़ेशन सेट अप हो जाता है जो आपने .customize_environment में किया था. हालांकि, इसे कंटेनर में बेक किया गया था.

  1. स्थानीय तौर पर इमेज बनाएं:
cloudshell env build-local
  1. नीचे दिए गए निर्देश का इस्तेमाल करके, नई इमेज की जांच करें:
cloudshell env run

अब आप चित्र के अंदर एक शेल में होंगे.

  1. जांच करें कि hey निर्देश को चलाकर, इंस्टॉल किया गया है या नहीं:
hey
  1. काम पूरा होने के बाद, कंटेनर से बाहर निकलने के लिए exit टाइप करें:
exit
  1. बदलावों को Cloud Source Repository में और इमेज को कंटेनर रजिस्ट्री में भेजें:
git commit -a -m "Initial commit"
git push origin master
cloudshell env push

नई इमेज की जांच करना

  1. इमेज को सार्वजनिक तौर पर उपलब्ध कराएं, ताकि आप इसका इस्तेमाल कर सकें:
gsutil iam ch allUsers:objectViewer $(gsutil ls)
  1. ऐसा यूआरएल जनरेट करें जिसका इस्तेमाल करके, पब्लिश किए गए Cloud Shell के कस्टम इंस्टेंस की जांच की जा सके:
echo "https://ssh.cloud.google.com/cloudshell/editor?cloudshell_image=gcr.io/$GOOGLE_CLOUD_PROJECT/custom-cloud-shell"
  1. आउटपुट यूआरएल को कॉपी करें और उसे किसी नए ब्राउज़र टैब में चिपकाएं. इससे, Cloud Shell का कस्टम इंस्टेंस खुल जाएगा. ध्यान दें कि इंस्टेंस को ऐक्सेस करने पर, आपको कुछ बैनर दिखते हैं. इन बैनर से यह पता चलता है कि आपका ऐप्लिकेशन, कुछ समय के लिए प्रोफ़ाइल बनाने वाले मोड में चल रहा है:

bc091a4c33649aa9.png

  1. हाय निर्देश देकर इमेज की फिर से जांच करें
hey
  1. यह प्रोसेस पूरी होने के बाद, इफ़ेमरल क्लाउड शेल इंस्टेंस exit करें. इसके बाद, उस टैब पर वापस जाएं जहां आपका सामान्य क्लाउड शेल खोला गया था. इसके बाद, फिर से कनेक्ट करें पर क्लिक करें.

एसएसएच की मदद से, Cloud Shell को रिमोट तरीके से ऐक्सेस करना

अपने लोकल कंप्यूटर से, Cloud Shell की सुविधाओं का इस्तेमाल किसी दूसरे डिवाइस से भी किया जा सकता है. आम तौर पर, इसमें इस्तेमाल के दो अलग-अलग उदाहरण शामिल होते हैं:

  • आपके लोकल टर्मिनल से Cloud Shell मशीन में एसएसएच की सुविधा
  • आपके Cloud Shell रिमोट $HOME डायरेक्ट्री को स्थानीय तौर पर माउंट किया जा रहा है.

इसके लिए, आपको Google Cloud SDK टूल को स्थानीय तौर पर इंस्टॉल करना होगा. आपको इसे अपने प्रोजेक्ट आईडी और इस्तेमाल किए जा रहे खास क्रेडेंशियल के साथ भी कॉन्फ़िगर करना होगा.

अपनी लोकल मशीन में चल रहे टर्मिनल एम्युलेटर का इस्तेमाल करके, यह तरीका अपनाएं:

  1. GCP प्रोजेक्ट आईडी सेट अप करें. इसके बाद, उस Cloud संगठन के क्रेडेंशियल से लॉग इन करें जहां आपके पास Cloud Shell है.
gcloud config set project <your project id>
gcloud auth login
  1. एसएसएच की मदद से, रिमोट Cloud Shell मशीन में साइन इन करने के लिए:
gcloud cloud-shell ssh --authorize-session

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

अपने लोकल मशीन से Cloud Shell की होम डायरेक्ट्री को माउंट करें

हालांकि, रिमोट Cloud Shell इंस्टेंस में एसएसएच की सुविधा होना अच्छी बात है. हालांकि, अपने लोकल IDE को रिमोट Cloud Shell $HOME डायरेक्ट्री का ऐक्सेस देने से भी बेहतर है. इस तरह, पहले दिखाए गए एसएसएच ऐक्सेस के साथ-साथ, रिमोट कोड में स्थानीय तौर पर बदलाव किया जा सकता है.

ऐसा करने के लिए, पहले अपने कंप्यूटर से एक माउंट पॉइंट बनाएं:

mkdir $HOME/cloudshell

इस डायरेक्ट्री में आपका Cloud Shell माउंट किया जाएगा. अब, इसे माउंट करने के लिए, पक्का करें कि आपका Cloud Shell इंस्टेंस चालू हो. इसके बाद, अपने लोकल टर्मिनल में टाइप करें:

$(gcloud cloud-shell get-mount-command $HOME/cloudshell)
cd $HOME/cloudshell

इससे, माउंट करने का वह निर्देश मिलेगा जिसे Cloud Shell को स्थानीय तौर पर माउंट करने और माउंट करने के लिए आपको जारी करना होगा. आपको अपने लोकल मशीन पर माउंट किए गए, Cloud Shell की होम डायरेक्ट्री का कॉन्टेंट दिखेगा.

अब स्थानीय तौर पर VSCode जैसा आईडीई और क्लाउड में खोला जा सकता है. साथ ही, Cloud Shell के लिए एसएसएच का ऐक्सेस इस्तेमाल करके, IDE के अंदर एक टर्मिनल पैनल खोला जा सकता है. ऐसा करने से, आपके स्थानीय IDE में एक रिमोट टर्मिनल भी इंटिग्रेट होगा.

5. Cloud कोड का इस्तेमाल करना

Cloud Code, Google का बनाया हुआ एक प्लगिन है. इसकी मदद से, डेवलपर क्लाउड-आधारित टूल के साथ ज़्यादा असरदार तरीके से काम कर सकते हैं. यह एक से ज़्यादा आईडीई और कोड एडिटर में उपलब्ध है. जैसे, VSCode और Jetbrains प्रॉडक्ट. साथ ही, आपकी सुविधा के लिए, यह डिफ़ॉल्ट रूप से Cloud Shell Editor में इंटिग्रेट किया गया है. Cloud Code में डेवलपर के साथ काम करने वाली कई सुविधाएं शामिल हैं. इनका इस्तेमाल अगले चरणों में किया जाएगा.

Cloud Shell Editor में क्लाउड कोड का पता लगाना

क्विक ऐक्सेस बटन का इस्तेमाल करना

संपादक के बाएं पैनल में दिख रहे नीचे दिए गए चार बटन ढूंढें:

de0b6c69b590d21b.png

ये मेन्यू आइटम, Cloud Shell Editor से सीधे GCP सेवाओं को आसानी से ऐक्सेस और कॉन्फ़िगर करने की सुविधा देते हैं.

इस लैब में, आपको Kubernetes Clusters पर फ़ोकस करना होगा.

स्टेटस बार का इस्तेमाल करना

Cloud Shell Editor यूज़र इंटरफ़ेस (यूआई) से Cloud Cloud के दो और हिस्से दिखाए जाते हैं. ये सभी हिस्से काम के हैं. एडिटर के नीचे वाले बार में दोनों को देखा जा सकता है:

f04c703ff45b05a.png

  • &lt;&gt; Cloud Code: यहां क्लिक करने पर आपको फटाफट ऐक्शन मेन्यू दिखेगा. इसका इस्तेमाल इस ट्यूटोरियल की मदद से किया जाएगा: 58a3f8940f6263ae.png
  • मिनीक्यूब को कंट्रोल करें: इसकी मदद से, क्लस्टर को शुरू या बंद करने जैसी बुनियादी कार्रवाइयों की मदद से, लोकल कुबेरनेट एम्युलेटर, मिनीक्यूब को कंट्रोल किया जा सकता है.

Minikube इंस्टेंस बनाना

बटन पर क्लिक करके, Minikube इंस्टेंस अभी बनाएं.

540da42dd52e1469.png

Cloud कोड की मदद से GKE (जीकेई) क्लस्टर बनाना

  1. बाईं ओर मौजूद आइकॉन Cloud Code - Kubernetes Clusters ( 5ffab5cb541da6.png) पर क्लिक करें. आपको बाईं ओर एक नया पैनल दिखेगा, जिसे Cloud CODE - KUBERNETES: clusterS नाम दिया होगा.
  2. क्लाउड कोड - KUBERNETES: clusterS के आगे दिए गए + बटन पर क्लिक करें और Google Kubernetes Engine चुनें (ध्यान दें कि आप पहले दिखाए जा चुके Minikube जैसे दूसरे विकल्प भी चुन सकते हैं):

e7a81607c1bc7c55.png

  1. नया GKE (जीकेई) क्लस्टर बनाएं पर क्लिक करें. यह विकल्प दाईं ओर एक नया पैनल लोड करेगा, जहां आप तेज़ी से डेवलपमेंट क्लस्टर बनाने के लिए अतिरिक्त जानकारी डाल सकते हैं. पैनल में दिए गए निर्देशों का पालन करें और यह जानकारी डालें:
  • ऑटो पायलट चुनें
  • अपना देश/इलाका चुनें (europe-west-1)
  • अपने क्लस्टर को "dev" नाम दें
  1. क्लस्टर बनाएं बटन पर क्लिक करें. यह एक नया Autopilot क्लस्टर बनाएगा.

क्लस्टर बनाने की प्रक्रिया में पांच पांच मिनट लग सकते हैं. इसलिए, जब तक क्लस्टर बनाया जा रहा है, तब तक आगे बढ़ें और Cloud Code Kubernetes Pane के बारे में थोड़ी और जानकारी पाएं.

Cloud Code Kubernetes पैनल को एक्सप्लोर करना

आपने पहले Minikube क्लस्टर बनाया था. जब यह तैयार हो जाएगा, तब यह क्लस्टर आपके दिए नाम के साथ Cloud Code Kubernetes पैनल में दिखेगा, minikube:

b654e618f78de3b3.png

क्लस्टर, यूज़र इंटरफ़ेस (यूआई) में 'चालू है' के तौर पर दिखेगा. यह सेटिंग कमांड लाइन में मौजूद मौजूदा kubernetes संदर्भ के साथ सिंक है. .

Cloud Code Kubernetes पैनल में ये चीज़ें देखी जा सकती हैं:

  • डिफ़ॉल्ट KubeConfig फ़ाइल: क्लाउड कोड आपके उपयोगकर्ता के लिए ~/.kube/config फ़ाइल को पढ़ता है और इसका इस्तेमाल वहां कॉन्फ़िगर किए गए Kubernetes क्लस्टर से कनेक्ट करने के लिए करता है, ताकि आप उन्हें आसानी से नेविगेट कर सकें. अगर आप चाहें, तो Default Kubeconfig लाइन पर कर्सर घुमाकर और उसके आगे बने आउटगोइंग ऐरो वाले स्क्वेयर पर क्लिक करके, Kubeconfig फ़ाइल में बदलाव किया जा सकता है.
  • आपके रजिस्टर किए गए क्लस्टर के अलग-अलग ऑब्जेक्ट का ब्राउज़ किया जा सकने वाला रेंडराइज़ेशन: इस मामले में, आपके पास पहले बनाया गया minikube Minikube क्लस्टर देखने का विकल्प होता है. इसमें कॉन्टेक्स्ट, नेमस्पेस, और नोड शामिल होते हैं. पेड़ के कुछ नोड को बड़ा करें. अभी तक कोई पॉड नहीं दिखेगा, क्योंकि आपने किसी भी ऐप्लिकेशन को डिप्लॉय नहीं किया है.

जब आपका नया GKE (जीकेई) क्लस्टर तैयार हो जाएगा, तो यह minikube Minikube क्लस्टर के साथ बाएं पैनल में दिखेगा. ध्यान दें कि किसी भी क्लस्टर पर राइट क्लिक करके उसे "ऐक्टिव" बनाया जा सकता है के तहत:

8e4306c3ce707ef8.png

6. बधाई हो!

बधाई हो, आपने कोडलैब पूरा कर लिया है!

आपने क्या कवर किया

  • मैंने Cloud Shell की मुख्य सुविधाओं के बारे में जाना और उसे नेविगेट किया
  • Cloud Shell के इस्तेमाल के अलग-अलग पैटर्न के साथ प्रैक्टिस की गई
  • बेहतर इस्तेमाल के लिए, Cloud Shell एनवायरमेंट को ज़रूरत के मुताबिक बनाएं
  • आप Cloud Code के विकल्पों और सुविधाओं के बारे में पहले से जानते हैं
  • Kubernetes ऐप्लिकेशन के लिए Cloud Code की जानकारी की समीक्षा की है
  • Minikube जैसे लोकल एम्युलेटर का इस्तेमाल करें