البرنامج التعليمي: إنشاء تطبيقك ونشره في Azure Container Apps
توضح هذه المقالة كيفية إنشاء خدمة مصغرة ونشرها إلى Azure Container Apps من مستودع مصدر باستخدام لغة البرمجة المفضلة لديك.
هذا هو البرنامج التعليمي الأول في سلسلة المقالات التي ترشدك إلى كيفية استخدام القدرات الأساسية داخل Azure Container Apps. الخطوة الأولى هي إنشاء خدمة واجهة برمجة تطبيقات الويب الخلفية التي ترجع مجموعة ثابتة من ألبومات الموسيقى.
إشعار
يمكنك أيضا إنشاء هذا التطبيق ونشره باستخدام az containerapp باتباع الإرشادات الواردة في Quickstart: إنشاء تطبيق ونشره إلى Azure Container Apps من مقالة المستودع.
az containerapp up
يعد الأمر طريقة سريعة ومريحة لإنشاء تطبيقك ونشره في Azure Container Apps باستخدام أمر واحد. ومع ذلك، فإنه لا يوفر نفس مستوى التخصيص لتطبيق الحاوية الخاص بك.
سيقوم البرنامج التعليمي التالي في السلسلة بإنشاء ونشر تطبيق الويب الأمامي إلى Azure Container Apps.
تظهر لقطة الشاشة التالية الإخراج من واجهة برمجة تطبيقات الألبوم المنشورة في هذا البرنامج التعليمي.
المتطلبات الأساسية
لإكمال هذا المشروع، تحتاج إلى العناصر التالية:
المتطلبات | الإرشادات |
---|---|
حساب Azure | إذا لم يكن لديك حساب، فبادر بإنشاء حساب مجانا. تحتاج إلى إذن مسؤول وصول المستخدم أو المالك على اشتراك Azure للمتابعة. تأكد من استخدام الدور الأكثر تقييدا للسياق الخاص بك. راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure وأدوار Azure وأدوار Microsoft Entra وأدوارمسؤول الاشتراك الكلاسيكي للحصول على التفاصيل. |
حساب GitHub | التسجيل مجانا. |
git | تثبيت git |
Azure CLI | قم بتثبيت Azure CLI. |
المتطلبات | الإرشادات |
---|---|
حساب Azure | إذا لم يكن لديك حساب، فبادر بإنشاء حساب مجانا. تحتاج إلى إذن المساهم أو المالك على اشتراك Azure للمتابعة. راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure للحصول على التفاصيل. |
حساب GitHub | التسجيل مجانا. |
git | تثبيت git |
Azure CLI | قم بتثبيت Azure CLI. |
Docker Desktop | يوفر Docker المثبتات التي تقوم بتكوين بيئة Docker على macOS وWindows وLinux. من موجه الأوامر، اكتب docker للتأكد من تشغيل Docker. |
الإعداد
لتسجيل الدخول إلى Azure من CLI، قم بتشغيل الأمر التالي واتبع المطالبات لإكمال عملية المصادقة.
للتأكد من تشغيل أحدث إصدار من CLI، قم بتشغيل أمر الترقية.
بعد ذلك، قم بتثبيت أو تحديث ملحق Azure Container Apps ل CLI.
إذا تلقيت أخطاء حول المعلمات المفقودة عند تشغيل az containerapp
الأوامر في Azure CLI أو cmdlets من Az.App
الوحدة النمطية في PowerShell، فتأكد من تثبيت أحدث إصدار من ملحق Azure Container Apps.
az extension add --name containerapp --upgrade
إشعار
بدءا من مايو 2024، لم تعد ملحقات Azure CLI تمكن ميزات المعاينة بشكل افتراضي. للوصول إلى ميزات معاينة تطبيقات الحاوية، قم بتثبيت ملحق Container Apps باستخدام --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
الآن بعد تثبيت الملحق أو الوحدة النمطية Microsoft.App
الحالية، قم بتسجيل مساحات الأسماء و Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
إنشاء متغيرات البيئة
الآن بعد اكتمال إعداد Azure CLI، يمكنك تحديد متغيرات البيئة المستخدمة في هذه المقالة.
حدد المتغيرات التالية في bash shell.
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"
قبل تشغيل هذا الأمر، تأكد من استبدال <YOUR_GITHUB_USERNAME>
باسم مستخدم GitHub الخاص بك.
بعد ذلك، حدد اسم سجل حاوية فريدا لك.
ACR_NAME="acaalbums"$GITHUB_USERNAME
إعداد مستودع GitHub
انتقل إلى المستودع للغتك المفضلة وقم بتشعب المستودع.
حدد الزر نسخة المستودع في أعلى مستودع واجهة برمجة تطبيقات الألبوم لتشعب المستودع إلى حسابك.
الآن يمكنك استنساخ نسخة المستودع الخاص بك من مستودع العينة.
استخدم الأمر git التالي لاستنساخ المستودع المتشعب في مجلد التعليمات البرمجية إلى السحابة :
git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud
بعد ذلك، قم بتغيير الدليل إلى جذر المستودع المستنسخ.
cd code-to-cloud/src
إنشاء مجموعة موارد Azure
إنشاء مجموعة موارد لتنظيم الخدمات المتعلقة بنشر تطبيق الحاوية.
إنشاء سجل حاوية Azure
بعد إنشاء صورة حاوية API الألبوم، قم بإنشاء مثيل Azure Container Registry (ACR) في مجموعة الموارد الخاصة بك لتخزينها.
يجب أن يسمح سجل الحاوية الخاص بك بالرموز المميزة للجمهور Azure Resource Manager (ARM) للمصادقة من أجل استخدام الهوية المدارة لسحب الصور.
استخدم الأمر التالي للتحقق مما إذا كان يسمح لرموز ARM المميزة بالوصول إلى Azure Container Registry (ACR).
az acr config authentication-as-arm show --registry "$ACR_NAME"
إذا تم السماح بالرموز المميزة ل ARM، يقوم الأمر بإخراج ما يلي.
{ "status": "enabled" }
status
إذا كان هوdisabled
، فاسمح برموز ARM المميزة باستخدام الأمر التالي.az acr config authentication-as-arm update --registry "$ACR_NAME" --status enabled
إنشاء هوية مُدارة يعينها المستخدم
لتجنب استخدام بيانات الاعتماد الإدارية، اسحب الصور من المستودعات الخاصة في Microsoft Azure Container Registry باستخدام الهويات المدارة للمصادقة. عندما يكون ذلك ممكنا، استخدم هوية مدارة معينة من قبل المستخدم لسحب الصور.
إنشاء هوية مُدارة يُعينها المستخدم. قبل تشغيل الأوامر التالية، اختر اسما لهويتك المدارة واستبدل
\<PLACEHOLDER\>
بالاسم .IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP
احصل على معرف مورد الهوية.
IDENTITY_ID=$(az identity show \ --name $IDENTITY \ --resource-group $RESOURCE_GROUP \ --query id \ --output tsv)
إنشاء التطبيق الخاص بك
مع مهام ACR، يمكنك إنشاء ودفع صورة docker لواجهة برمجة تطبيقات الألبوم دون تثبيت Docker محليا.
إنشاء الحاوية باستخدام ACR
قم بتشغيل الأمر التالي لبدء عملية إنشاء الصورة ودفعها باستخدام ACR.
.
يمثل في نهاية الأمر سياق بناء docker، مما يعني أنه يجب تشغيل هذا الأمر داخل مجلد src حيث يوجد Dockerfile.
يظهر الإخراج من az acr build
الأمر تقدم تحميل التعليمات البرمجية المصدر إلى Azure وتفاصيل docker build
العمليات و docker push
.
إنشاء التطبيق الخاص بك
توضح الخطوات التالية كيفية إنشاء صورة الحاوية محليا باستخدام Docker ودفع الصورة إلى سجل الحاوية الجديد.
إنشاء الحاوية باستخدام Docker
ينشئ الأمر التالي صورة حاوية لواجهة برمجة تطبيقات الألبوم ويوسمها باسم مؤهل بالكامل لخادم تسجيل الدخول ACR.
.
يمثل في نهاية الأمر سياق بناء docker، مما يعني أنه يجب تشغيل هذا الأمر داخل مجلد src حيث يوجد Dockerfile.
دفع الصورة إلى سجل الحاوية
أولا، سجل الدخول إلى Azure Container Registry.
الآن، ادفع الصورة إلى السجل الخاص بك.
إنشاء بيئة تطبيقات الحاوية
تعمل بيئة Azure Container Apps ك حدود آمنة حول مجموعة من تطبيقات الحاويات.
إنشاء بيئة تطبيقات الحاوية باستخدام الأمر التالي.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
نشر صورتك في تطبيق حاوية
الآن بعد أن تم إنشاء بيئة، يمكنك إنشاء تطبيق الحاوية ونشره az containerapp create
باستخدام الأمر .
إنشاء تطبيق الحاوية ونشره باستخدام الأمر التالي.
az containerapp create \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $ACR_NAME.azurecr.io/$API_NAME \
--target-port 8080 \
--ingress external \
--registry-server $ACR_NAME.azurecr.io \
--user-assigned "$IDENTITY_ID" \
--registry-identity "$IDENTITY_ID" \
--query properties.configuration.ingress.fqdn
من خلال الإعداد
--ingress
إلىexternal
، يمكن الوصول إلى تطبيق الحاوية الخاص بك من الإنترنت العام.target-port
تم تعيين إلى8080
لمطابقة المنفذ الذي تستمع إليه الحاوية للطلبات.بدون خاصية
query
، يقوم الاستدعاء بإرجاعaz containerapp create
استجابة JSON التي تتضمن مجموعة غنية من التفاصيل حول التطبيق. تؤدي إضافة معلمة استعلام إلى تصفية الإخراج إلى اسم المجال المؤهل بالكامل للتطبيق فقط (FQDN).يضيف
acrPull
هذا الأمر الدور إلى الهوية المدارة المعينة من قبل المستخدم، حتى يتمكن من سحب الصور من سجل الحاوية.
تحقق من النشر
انسخ FQDN إلى مستعرض ويب. من مستعرض الويب الخاص بك، انتقل إلى /albums
نقطة نهاية FQDN.
تنظيف الموارد
إذا كنت لن تستمر في البرنامج التعليمي الاتصال بين الخدمات المصغرة ، يمكنك إزالة موارد Azure التي تم إنشاؤها أثناء هذا التشغيل السريع. قم بتشغيل الأمر التالي لحذف مجموعة الموارد مع جميع الموارد التي تم إنشاؤها في هذا التشغيل السريع.
تلميح
هل تواجه مشكلات؟ اسمحوا لنا أن نعرف على GitHub عن طريق فتح مشكلة في Azure Container Apps repo.
الخطوات التالية
هذا التشغيل السريع هو نقطة الإدخال لمجموعة من البرامج التعليمية التقدمية التي تعرض الميزات المختلفة داخل Azure Container Apps. تابع لمعرفة كيفية تمكين الاتصال من واجهة ويب أمامية تستدعي واجهة برمجة التطبيقات التي نشرتها في هذه المقالة.