Cloud Run स्टार्टर ट्यूटोरियल

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

Cloud Run, पूरी तरह से मैनेज किया गया सर्वरलेस प्लैटफ़ॉर्म है. इसकी मदद से, स्टेटलेस कंटेनर चलाए जा सकते हैं. इन कंटेनर को एचटीटीपी अनुरोधों के ज़रिए चालू किया जा सकता है. Cloud Run, सर्वरलेस है: यह सभी इन्फ़्रास्ट्रक्चर मैनेजमेंट को अलग कर देता है, ताकि आप सबसे ज़रूरी काम पर फ़ोकस कर सकें. जैसे, शानदार ऐप्लिकेशन बनाना.

इसे Knative पर बनाया गया है. इससे आपको अपने कंटेनर को पूरी तरह से मैनेज किए गए Cloud Run की मदद से चलाने या GKE पर Cloud Run की मदद से Google Kubernetes Engine क्लस्टर में चलाने का विकल्प मिलता है.

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

इस लैब में, आपको ये काम करने का तरीका बताया जाएगा:

  • Cloud Run ऐप्लिकेशन डिप्लॉय करना

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

  • इस लैब को शुरू करने से पहले, यह माना जा रहा है कि आपको Cloud Console और Cloud Shell एनवायरमेंट के बारे में जानकारी है.

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

Cloud Project का सेटअप

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

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

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

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

सर्च बार के दाईं ओर मौजूद आइकॉन पर क्लिक करके, Cloud Shell चालू करें.

ecdc43ada29e91b.png

Cloud Shell से, Cloud Run API चालू करें:

gcloud services enable run.googleapis.com

अगर अनुमति देने के लिए कहा जाए, तो जारी रखने के लिए "अनुमति दें" पर क्लिक करें.

6356559df3eccdda.png

इससे, इस तरह का मैसेज दिखेगा:

Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.

3. ऐप्लिकेशन तैयार करना

सबसे पहले, आपको Express पर आधारित एक सामान्य Node.js ऐप्लिकेशन तैयार करना होगा. यह ऐप्लिकेशन, एचटीटीपी अनुरोधों का जवाब देगा.

Cloud Shell में, starter-nodejs नाम की नई डायरेक्ट्री बनाएं. इसके बाद, उस डायरेक्ट्री में जाएं:

mkdir starter-nodejs
cd starter-nodejs

नीचे दी गई कमांड चलाकर, package.json फ़ाइल बनाएं:

cat > ./package.json << EOF
{
  "name": "cloudrun-starter-app",
  "version": "1.0.0",
  "description": "Node.js Starter Application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "Apache-2.0",
  "dependencies": {
    "express": "^4.18.2"
  }
}
EOF

ऊपर दी गई फ़ाइल में, स्टार्ट स्क्रिप्ट कमांड और Express वेब ऐप्लिकेशन फ़्रेमवर्क पर निर्भरता शामिल है.

इसके बाद, उसी डायरेक्ट्री में, यहां दी गई कमांड चलाकर index.js फ़ाइल बनाएं:

cat > ./index.js << EOF
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  console.log('Received a request.');
  res.send("Hello Cloud Run!");
});

const port = process.env.PORT || 8080;

app.listen(port, () => {
  console.log('Listening on port', port);
});
EOF

यह कोड एक सामान्य वेब सर्वर बनाता है, जो PORT एनवायरमेंट वैरिएबल से तय किए गए पोर्ट पर सिग्नल पाने के लिए कॉन्फ़िगर किया गया है. आपका ऐप्लिकेशन अब तैयार हो गया है. इसे कंटेनर में रखा जा सकता है और डिप्लॉय किया जा सकता है.

4. Cloud Run ऐप्लिकेशन डिप्लॉय करना

अपने ऐप्लिकेशन को डिप्लॉय करने के लिए, यहां दिया गया निर्देश चलाएं:

gcloud run deploy starter-app \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --max-instances=3

Artifact Registry में डेटा स्टोर करने की जगह बनाने की पुष्टि करें:

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created.

Do you want to continue (Y/n)? y

पिछली कमांड के नतीजे के तौर पर, ये चरण पूरे किए जाएंगे:

d661616f9b2fffcf.png

Cloud Console में इन चरणों का आउटपुट देखें: Cloud Build, Cloud Storage, Artifact Registry, और Cloud Run.

f536961280192919.png

5. बधाई हो!

बधाई हो! आपने अभी-अभी Cloud Run पर एक ऐप्लिकेशन डिप्लॉय किया है.

हमने इन विषयों पर बात की:

  • Cloud Run पर स्टार्टर ऐप्लिकेशन को डिप्लॉय करने का तरीका

इसके बाद क्या होगा:

Cymbal Eats के अन्य कोडलैब देखें:

व्यवस्थित करें

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

प्रोजेक्ट मिटाना

बिलिंग को बंद करने का सबसे आसान तरीका यह है कि ट्यूटोरियल के लिए बनाया गया प्रोजेक्ट मिटा दें.