1. نظرة عامة
التشغيل في السحابة الإلكترونية هو نظام أساسي مُدار بالكامل بدون خادم يتيح لك تشغيل حاويات بدون حالة قابلة للإلغاء من خلال طلبات HTTP. ولا يعتمد تشغيل السحابة الإلكترونية على خوادم، بل يختصر كل عمليات إدارة البنية الأساسية، لذا يمكنك التركيز على الأمور الأكثر أهمية، ألا وهي إنشاء تطبيقات رائعة.
وتستند هذه الأداة إلى Knative، ما يتيح لك اختيار تشغيل حاوياتك إما مُدارة بالكامل باستخدام Cloud Run أو في مجموعة Google Kubernetes Engine باستخدام Cloud Run على GKE.
ما سوف تتعلمه
ستتعلم في هذا التمرين المعملي كيفية القيام بما يلي:
- نشر تطبيق Cloud Run
المتطلبات الأساسية
- يفترض هذا التمرين المعملي الإلمام ببيئة Cloud Console وCloud Shell.
2. الإعداد والمتطلبات
إعداد مشروع Cloud
- سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.
- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديله في أي وقت.
- يكون رقم تعريف المشروع فريدًا في جميع مشاريع Google Cloud وغير قابل للتغيير (لا يمكن تغييره بعد تحديده). تنشئ Cloud Console سلسلة فريدة تلقائيًا. فعادةً لا تهتم بما هو. في معظم الدروس التطبيقية حول الترميز، يجب الإشارة إلى رقم تعريف المشروع (يتم تحديده عادةً على أنّه
PROJECT_ID
). وإذا لم يعجبك المعرّف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. ويمكنك بدلاً من ذلك تجربة طلبك الخاص ومعرفة ما إذا كان متوفّرًا. ولا يمكن تغييره بعد هذه الخطوة وسيبقى طوال مدة المشروع. - لمعلوماتك، هناك قيمة ثالثة، وهي رقم المشروع الذي تستخدمه بعض واجهات برمجة التطبيقات. اطّلِع على مزيد من المعلومات حول هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام الموارد/واجهات برمجة التطبيقات في Cloud. إنّ تنفيذ هذا الدرس التطبيقي حول الترميز لن يكون مكلفًا أو مكلفًا على الإطلاق. لإيقاف تشغيل الموارد حتى لا تتحمل الفوترة بعد هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع بالكامل. يكون مستخدمو Google Cloud الجدد مؤهَّلون للانضمام إلى برنامج فترة تجريبية مجانية بقيمة 300 دولار أمريكي.
إعداد البيئة
يمكنك تفعيل Cloud Shell من خلال النقر على الرمز على يسار شريط البحث.
من Cloud Shell، فعِّل Cloud Run API:
gcloud services enable run.googleapis.com
إذا طُلب منك التفويض، انقر على "تفويض". للمتابعة.
يُفترض أن ينتج عن ذلك رسالة ناجحة مشابهة للرسالة التالية:
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
3- إعداد التطبيق
أولاً، عليك إعداد تطبيق 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. اكتمل الآن تطبيقك وأصبح جاهزًا لحاوياته ونشره.
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
وكنتيجة للأمر السابق، تم تنفيذ الخطوات التالية:
يمكنك استكشاف نتائج هذه الخطوات في Cloud Console: Cloud Build وCloud Storage وArtifact Registry وCloud Run.
5- تهانينا!
تهانينا! لقد نشرت للتو تطبيقًا في Cloud Run.
المواضيع التي تناولناها:
- كيفية نشر تطبيق أوّلي على Cloud Run
الخطوة التالية:
اطّلع على الدروس التطبيقية الأخرى حول الترميز في Cymbal Eats:
- تشغيل Cloud Workflows باستخدام Eventarc
- بدء معالجة الأحداث من Cloud Storage
- الاتصال بـ Private CloudSQL من خلال Cloud Run
- الاتصال بقواعد بيانات مُدارة بالكامل من خلال تشغيل السحابة الإلكترونية
- تطبيق آمن بدون خادم مع خادم وكيل يستخدم الهوية (IAP)
- تشغيل مهام تشغيل السحابة الإلكترونية باستخدام أداة جدولة المهام في السحابة الإلكترونية
- النشر الآمن إلى التشغيل في السحابة الإلكترونية
- تأمين الزيارات الواردة من تشغيل السحابة الإلكترونية
تَنظيم
لتجنُّب تحمُّل الرسوم المفروضة على حسابك على Google Cloud مقابل الموارد المُستخدَمة في هذا الدليل التوجيهي، يمكنك إما حذف المشروع الذي يحتوي على الموارد أو الاحتفاظ بالمشروع وحذف الموارد الفردية.
حذف المشروع
أسهل طريقة لإزالة الفوترة هي حذف المشروع الذي أنشأته للبرنامج التعليمي.