۱. مرور کلی
Cloud Run یک پلتفرم کاملاً مدیریتشده بدون سرور است که به شما امکان میدهد کانتینرهای بدون وضعیت را که از طریق درخواستهای HTTP قابل فراخوانی هستند، اجرا کنید. Cloud Run بدون سرور است: تمام مدیریت زیرساخت را حذف میکند، بنابراین میتوانید روی آنچه از همه مهمتر است تمرکز کنید - ساخت برنامههای عالی.
این برنامه بر اساس Knative ساخته شده است و به شما امکان میدهد کانتینرهای خود را یا به طور کامل با Cloud Run مدیریت شده یا در خوشه Google Kubernetes Engine خود با Cloud Run روی GKE اجرا کنید.
آنچه یاد خواهید گرفت
در این آزمایشگاه، شما یاد خواهید گرفت که چگونه موارد زیر را انجام دهید:
- برنامه Cloud Run را مستقر کنید
پیشنیازها
- این آزمایشگاه آشنایی با محیطهای Cloud Console و Cloud Shell را پیشفرض قرار میدهد.
۲. تنظیمات و الزامات
راهاندازی پروژه ابری
- وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .



- نام پروژه ، نام نمایشی برای شرکتکنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمیشود. میتوانید آن را در هر زمانی بهروزرسانی کنید.
- شناسه پروژه در تمام پروژههای گوگل کلود منحصر به فرد است و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید میکند؛ معمولاً برای شما مهم نیست که چیست. در اکثر آزمایشگاههای کد، باید به شناسه پروژه ارجاع دهید (که معمولاً با عنوان
PROJECT_IDشناخته میشود). اگر شناسه تولید شده را دوست ندارید، میتوانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، میتوانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی خواهد ماند. - برای اطلاع شما، یک مقدار سوم هم وجود دارد، شماره پروژه که برخی از APIها از آن استفاده میکنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
- در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد، اگر اصلاً هزینهای نداشته باشد، هزینه زیادی نخواهد داشت. برای خاموش کردن منابع به طوری که پس از این آموزش متحمل پرداخت صورتحساب نشوید، میتوانید منابعی را که ایجاد کردهاید یا کل پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.
تنظیمات محیط
با کلیک روی آیکون سمت راست نوار جستجو، Cloud Shell را فعال کنید.

از Cloud Shell، رابط برنامهنویسی کاربردی Cloud Run را فعال کنید:
gcloud services enable run.googleapis.com
اگر از شما خواسته شد که مجوز دهید، برای ادامه روی «مجوز» کلیک کنید.

این باید یک پیام موفقیتآمیز مشابه این ایجاد کند:
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
۳. آمادهسازی درخواست
ابتدا، شما یک برنامه ساده Node.js مبتنی بر اکسپرس آماده خواهید کرد که به درخواستهای 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
فایل بالا شامل یک دستور اسکریپت شروع و یک وابستگی به چارچوب برنامه وب 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 گوش میدهد. اکنون برنامه شما تکمیل شده و آماده کانتینریزه شدن و استقرار است.
۴. اجرای برنامه ابری را مستقر کنید
برای استقرار برنامه خود، دستور زیر را اجرا کنید:
gcloud run deploy starter-app \
--source . \
--region us-central1 \
--allow-unauthenticated \
--max-instances=3
ایجاد مخزن رجیستری مصنوعات را تأیید کنید:
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
در نتیجه دستور قبلی، مراحل زیر اجرا خواهد شد:

خروجی این مراحل را در Cloud Console بررسی کنید: Cloud Build ، Cloud Storage ، Artifact Registry و Cloud Run .

۵. تبریک میگویم!
تبریک! شما به تازگی یک برنامه را در Cloud Run مستقر کردهاید.
آنچه ما پوشش دادهایم:
- نحوه استقرار یک برنامه اولیه در Cloud Run
قدم بعدی چیست؟
سایر آزمایشگاههای کد Cymbal Eats را کاوش کنید:
- راهاندازی گردشهای کاری ابری با Eventarc
- راهاندازی پردازش رویداد از فضای ذخیرهسازی ابری
- اتصال به CloudSQL خصوصی از Cloud Run
- اتصال به پایگاههای داده کاملاً مدیریتشده از Cloud Run
- برنامه بدون سرور امن با پروکسی آگاه از هویت (IAP)
- راهاندازی کارهای ابری با استفاده از زمانبند ابری
- استقرار ایمن در Cloud Run
- ایمنسازی ترافیک ورودی Cloud Run
تمیز کردن
برای جلوگیری از تحمیل هزینه به حساب گوگل کلود خود برای منابع استفاده شده در این آموزش، یا پروژهای که شامل منابع است را حذف کنید، یا پروژه را نگه دارید و منابع تکی را حذف کنید.
حذف پروژه
سادهترین راه برای حذف هزینهها، حذف پروژهای است که برای آموزش ایجاد کردهاید.