إنشاء تطبيق App Service على Azure Arc (معاينة)
في هذه البداية السريعة، يمكنك إنشاء تطبيق خدمة التطبيقات إلى نظام مجموعة Kubernetes الممكن لدى Azure Arc (معاينة). يدعم هذا السيناريو تطبيقات Linux فقط، ويمكنك استخدام مكدس لغة مضمن أو حاوية مخصصة.
المتطلبات الأساسية
أضف ملحقات Azure CLI
قم بتشغيل بيئة Bash في Azure Cloud Shell.
نظرًا لأن أوامر CLI هذه لم تصبح بعد جزءًا من مجموعة CLI الأساسية، أضفها باستخدام الأوامر التالية:
az extension add --upgrade --yes --name customlocation
az extension remove --name appservice-kube
az extension add --upgrade --yes --name appservice-kube
1. إنشاء مجموعة موارد
قم بتشغيل الأمر التالي.
az group create --name myResourceGroup --location eastus
2. الحصول على الموقع المخصص
الحصول على المعلومات التالية حول الموقع المخصص من مسؤول نظام المجموعة (راجع إنشاء موقع مخصص).
customLocationGroup="<resource-group-containing-custom-location>"
customLocationName="<name-of-custom-location>"
الحصول على معرف الموقع المخصص للخطوة التالية.
customLocationId=$(az customlocation show \
--resource-group $customLocationGroup \
--name $customLocationName \
--query id \
--output tsv)
3. إنشاء التطبيق
ينشئ المثال التالي تطبيق Node.js. استبدل <app-name>
باسم فريد ضمن نظام المجموعة (الأحرف الصالحة هي a-z
و0-9
و-
).
أوقات التشغيل المدعومة:
الوصف | قيمة وقت التشغيل ل CLI |
---|---|
.NET Core 3.1 | DOTNETCORE|3.1 |
.NET 5.0 | DOTNETCORE|6.0 |
عقدة JS 12 | NODE|12-lts |
عقدة JS 14 | NODE|14-lts |
Python 3.6 | PYTHON|3.6 |
Python 3.7 | PYTHON|3.7 |
برنامج Python 3.8 | PYTHON|3.8 |
PHP 7.3 | PHP|7.3 |
PHP 7.4 | PHP|7.4 |
Java 8 | JAVA|8-jre8 |
Java 11 | JAVA|11-java11 |
Tomcat 8.5 | TOMCAT|8.5-jre8 |
Tomcat 8.5 | TOMCAT|8.5-java11 |
برنامج تومكات 9.0 | TOMCAT|9.0-jre8 |
برنامج تومكات 9.0 | TOMCAT|9.0-java11 |
az webapp create \
--resource-group myResourceGroup \
--name <app-name> \
--custom-location $customLocationId \
--runtime 'NODE|14-lts'
4. نشر بعض التعليمات البرمجية
إشعار
az webapp up
غير مدعومة أثناء المعاينة العامة.
الحصول على تطبيق عينة Node.js باستخدام Git ونشره باستخدام نشر ZIP. استبدل <app-name>
باسم تطبيق الويب.
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world
cd nodejs-docs-hello-world
zip -r package.zip .
az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
az webapp deploy --resource-group myResourceGroup --name <app-name> --src-path package.zip
5. الحصول على سجلات التشخيص باستخدام تحليلات السجل
إشعار
لاستخدام تحليلات السجل، كان يجب تمكينه مسبقًا عند installing the App Service extension. إذا قمت بتثبيت الملحق بدون تحليلات السجل، فتخطَّ هذه الخطوة.
انتقل إلى مساحة عمل تحليلات السجل التي تم تكوينها باستخدام ملحق خدمة التطبيقات،ثم انقر فوق سجلات في التنقل الأيمن. تشغيل استعلام النموذج التالي لإظهار السجلات خلال الساعات الـ 72 الماضية. استبدل <app-name>
باسم تطبيق الويب. إذا كان هناك خطأ عند تشغيل استعلام، حاول مرة أخرى خلال 10-15 دقيقة (قد يكون هناك تأخير لـ "تحليلات السجل" لبدء تلقي سجلات من التطبيق الخاص بك).
let StartTime = ago(72h);
let EndTime = now();
AppServiceConsoleLogs_CL
| where TimeGenerated between (StartTime .. EndTime)
| where AppName_s =~ "<app-name>"
يتم تسجيل سجلات التطبيق لكافة التطبيقات المستضافة في كتلة Kubernetes إلى مساحة عمل تحليلات السجل في جدول السجل المخصص المسمى AppServiceConsoleLogs_CL
.
Log_s يحتوي على سجلات تطبيق لخدمة تطبيقات معينة وAppName_s يحتوي على اسم تطبيق خدمة التطبيق. بالإضافة إلى السجلات التي تكتبها عبر التعليمات البرمجية للتطبيق الخاص بك، يحتوي العمود Log_s أيضًا على سجلات في بدء تشغيل الحاوية، وإيقاف التشغيل، وتطبيقات الدالة.
يمكنك معرفة المزيد حول استعلامات السجل في البدء باستخدام Kusto.
(اختياري) نشر حاوية مخصصة
لإنشاء تطبيق مخصص في حاويات، قم بتشغيل az webapp create باستخدام --deployment-container-image-name
. لأجل مستودع خاص، أضف --docker-registry-server-user
و--docker-registry-server-password
.
على سبيل المثال، جرِّب:
az webapp create \
--resource-group myResourceGroup \
--name <app-name> \
--custom-location $customLocationId \
--deployment-container-image-name mcr.microsoft.com/appsvc/staticsite:latest
لتحديث الصورة بعد إنشاء التطبيق، راجع تغيير صورة Docker لحاوية مخصصة