מדריך ל-Cloud Run Starter

1. סקירה כללית

Cloud Run היא פלטפורמה מנוהלת ללא שרת (serverless), שמאפשרת להריץ קונטיינרים ללא שמירת מצב, שלא ניתנים להפעלה באמצעות בקשות HTTP. Cloud Run הוא ללא שרת (serverless): הוא מפשט את כל ניהול התשתית, כך שאתם יכולים להתמקד במה שהכי חשוב – פיתוח אפליקציות מעולות.

היא מבוססת על Knative, ומאפשרת לכם להריץ את הקונטיינרים בניהול מלא באמצעות Cloud Run, או באשכול Google Kubernetes Engine באמצעות Cloud Run ב-GKE.

מה תלמדו

בשיעור Lab זה תלמדו איך:

  • פריסת אפליקציה של Cloud Run

דרישות מוקדמות

  • שיעור ה-Lab הזה מבוסס על היכרות עם הסביבות של Cloud Console ו-Cloud Shell.

2. הגדרה ודרישות

הגדרת פרויקט ב-Cloud

  1. נכנסים למסוף Google Cloud ויוצרים פרויקט חדש או עושים שימוש חוזר בפרויקט קיים. אם אין לכם עדיין חשבון Gmail או חשבון Google Workspace, עליכם ליצור חשבון.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Project name הוא השם המוצג של המשתתפים בפרויקט. זו מחרוזת תווים שלא משמשת את Google APIs. אפשר לעדכן אותו בכל שלב.
  • Project ID הוא ייחודי בכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו (אי אפשר לשנות אותו אחרי שמגדירים אותו). מסוף Cloud יוצר מחרוזת ייחודית באופן אוטומטי; בדרך כלל לא מעניין אותך מה זה. ברוב ה-Codelabs תצטרכו להפנות אל מזהה הפרויקט (בדרך כלל הוא מזוהה כ-PROJECT_ID). אם המזהה שנוצר לא מוצא חן בעיניך, יש לך אפשרות ליצור מזהה אקראי אחר. לחלופין, אפשר לנסות תבנית משלך ולבדוק אם היא זמינה. לא ניתן לשנות אותו אחרי השלב הזה, והוא יישאר למשך הפרויקט.
  • לידיעתך, יש ערך שלישי – Project Number (מספר פרויקט), שחלק מממשקי ה-API משתמשים בו. מידע נוסף על כל שלושת הערכים האלה זמין במסמכי התיעוד.
  1. בשלב הבא צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים או בממשקי API של Cloud. מעבר ב-Codelab הזה לא אמור לעלות הרבה, אם בכלל. כדי להשבית את המשאבים ולא לצבור חיובים מעבר למדריך הזה, אתם יכולים למחוק את המשאבים שיצרתם או למחוק את הפרויקט כולו. משתמשים חדשים ב-Google Cloud זכאים להצטרף לתוכנית תקופת ניסיון בחינם בשווי 1,200 ש"ח.

הגדרת סביבה

לוחצים על הסמל שמופיע מימין לסרגל החיפוש כדי להפעיל את 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. הכנת הבקשה

קודם כול, צריך להכין אפליקציית Node.js פשוטה שמבוססת על Express ומגיבה לבקשות HTTP.

יוצרים ספרייה חדשה ב-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

הקובץ שלמעלה מכיל פקודת סקריפט להתחלה ותלות ב-framework של אפליקציית האינטרנט 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: Cloud Build, Cloud Storage, Artifact Registry ו-Cloud Run.

f536961280192919.png

5. מעולה!

מעולה! פרסתם עכשיו אפליקציה ב-Cloud Run.

נושאים שטיפלנו בהם:

  • איך לפרוס אפליקציה לתחילת פעולה ב-Cloud Run

השלב הבא:

בקישורים הבאים תוכלו למצוא עוד מעבדי קוד Labs של Cymbal Eats:

הסרת המשאבים

כדי להימנע מצבירת חיובים בחשבון Google Cloud על המשאבים שנעשה בהם שימוש במדריך הזה, צריך למחוק את הפרויקט שמכיל את המשאבים או לשמור את הפרויקט ולמחוק את המשאבים הספציפיים.

מחיקת הפרויקט

הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך הזה.