مشاركة عبر


البرنامج التعليمي: إنشاء تطبيقك ونشره في 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، قم بتشغيل الأمر التالي واتبع المطالبات لإكمال عملية المصادقة.

az login

للتأكد من تشغيل أحدث إصدار من CLI، قم بتشغيل أمر الترقية.

az upgrade

بعد ذلك، قم بتثبيت أو تحديث ملحق 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

إنشاء مجموعة موارد لتنظيم الخدمات المتعلقة بنشر تطبيق الحاوية.

az group create \
  --name $RESOURCE_GROUP \
  --location "$LOCATION"

إنشاء سجل حاوية Azure

  1. بعد إنشاء صورة حاوية API الألبوم، قم بإنشاء مثيل Azure Container Registry (ACR) في مجموعة الموارد الخاصة بك لتخزينها.

    az acr create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --name $ACR_NAME \
        --sku Basic
    
  2. يجب أن يسمح سجل الحاوية الخاص بك بالرموز المميزة للجمهور 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 باستخدام الهويات المدارة للمصادقة. عندما يكون ذلك ممكنا، استخدم هوية مدارة معينة من قبل المستخدم لسحب الصور.

  1. إنشاء هوية مُدارة يُعينها المستخدم. قبل تشغيل الأوامر التالية، اختر اسما لهويتك المدارة واستبدل \<PLACEHOLDER\> بالاسم .

    IDENTITY="<YOUR_IDENTITY_NAME>"
    
    az identity create \
        --name $IDENTITY \
        --resource-group $RESOURCE_GROUP
    
  2. احصل على معرف مورد الهوية.

    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 --registry $ACR_NAME --image $API_NAME .

يظهر الإخراج من az acr build الأمر تقدم تحميل التعليمات البرمجية المصدر إلى Azure وتفاصيل docker build العمليات و docker push .

إنشاء التطبيق الخاص بك

توضح الخطوات التالية كيفية إنشاء صورة الحاوية محليا باستخدام Docker ودفع الصورة إلى سجل الحاوية الجديد.

إنشاء الحاوية باستخدام Docker

ينشئ الأمر التالي صورة حاوية لواجهة برمجة تطبيقات الألبوم ويوسمها باسم مؤهل بالكامل لخادم تسجيل الدخول ACR. . يمثل في نهاية الأمر سياق بناء docker، مما يعني أنه يجب تشغيل هذا الأمر داخل مجلد src حيث يوجد Dockerfile.

docker build --tag $ACR_NAME.azurecr.io/$API_NAME .

دفع الصورة إلى سجل الحاوية

أولا، سجل الدخول إلى Azure Container Registry.

az acr login --name $ACR_NAME

الآن، ادفع الصورة إلى السجل الخاص بك.

docker push $ACR_NAME.azurecr.io/$API_NAME

إنشاء بيئة تطبيقات الحاوية

تعمل بيئة 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 التي تم إنشاؤها أثناء هذا التشغيل السريع. قم بتشغيل الأمر التالي لحذف مجموعة الموارد مع جميع الموارد التي تم إنشاؤها في هذا التشغيل السريع.

az group delete --name $RESOURCE_GROUP

تلميح

هل تواجه مشكلات؟ اسمحوا لنا أن نعرف على GitHub عن طريق فتح مشكلة في Azure Container Apps repo.

الخطوات التالية

هذا التشغيل السريع هو نقطة الإدخال لمجموعة من البرامج التعليمية التقدمية التي تعرض الميزات المختلفة داخل Azure Container Apps. تابع لمعرفة كيفية تمكين الاتصال من واجهة ويب أمامية تستدعي واجهة برمجة التطبيقات التي نشرتها في هذه المقالة.