إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تتحدث هذه المقالة عن كيفية عرض وتحديث وحذف تطبيقات VM المنشورة في معرض Azure Compute Gallery. ثم يتحدث عن كيفية عرض ومراقبة وتحديث، وحذف موارد تطبيقات VM المنشورة على Azure Virtual Machine (VM) أو Virtual Machine Scale Sets.
تطبيق VM المدار منشور في معرض Azure Compute Gallery
يشرح هذا القسم كيفية عرض وتحديث وحذف منشورة VMApplications في معرض الحوسبة Azure.
عرض تطبيقات الآلات الافتراضية المنشورة
- بوابة
- استراح
- المبادره القطريه
- بوويرشيل
لعرض خصائص تطبيق VM منشور في بوابة Azure:
- سجل الدخول إلى بوابة Azure.
- ابحث عن Azure معرض الحوسبة.
- حدد المعرض الذي يحتوي على تطبيق الجهاز الظاهري الخاص بك.
- انقر فوق اسم تطبيق الجهاز الظاهري الذي تريد عرضه.
- تعرض شفرة نظرة عامة/الخصائص معلومات حول تطبيق الجهاز الظاهري.
- تعرض شفرة نظرة عامة/إصدارات جميع الإصدارات المنشورة وخصائصها الأساسية مثل المناطق المستهدفة وحالة التوفير وحالة النسخ المتماثل.
- حدد إصدارا معينا لعرض جميع تفاصيله.
عرض تطبيقات الآلات الافتراضية المنشورة باستخدام Azure Resource Graph
يمكن استخدام Azure استعلام رسم بياني الموارد لعرض جميع تطبيقات الوسائط الافتراضية المنشورة وخصائصها عبر جميع معارض الحوسبة. يوفر طريقة برمجية لعرض مخزون التطبيقات وخصائصه على نطاق واسع. استخدم هذه الطريقة للتكامل مع لوحات المعلومات والتقارير المخصصة.
عرض قائمة جميع معارض الحوسبة
resources
| where type == "microsoft.compute/galleries"
| where subscriptionId == "85236c53-92ad-4e66-97a4-8253a5246b99"
| extend provisioningState = properties["provisioningState"]
| extend permissions = properties["sharingProfile"]["permissions"]
| extend communityGalleryInfo = properties["sharingProfile"]["communityGalleryInfo"]
| project subscriptionId, resourceGroup, location, name, provisioningState, permissions, communityGalleryInfo
عرض قائمة جميع تطبيقات VM المنشورة عبر جميع المعارض
resources
| where subscriptionId == "85236c53-92ad-4e66-97a4-8253a5246b99"
| where type == "microsoft.compute/galleries/applications"
| extend OSType = properties["supportedOSType"]
| extend description = properties["description"]
| extend endOfLifeDate = properties["endOfLifeDate"]
| parse id with "/subscriptions/" SubId "/resourceGroups/" rgName "/providers/Microsoft.Compute/galleries/" gallaryName "/applications/" appName
| project subscriptionId, resourceGroup, location, gallaryName, name, OSType, description
عرض قائمة جميع إصدارات تطبيقات VM المنشورة عبر جميع التطبيقات والمعارض
resources
| where type == "microsoft.compute/galleries/applications/versions"
| project subscriptionId, resourceGroup, id, location, properties
| parse id with "/subscriptions/" SubId "/resourceGroups/" rgName "/providers/Microsoft.Compute/galleries/" gallaryName "/applications/" appName "/versions/" versionNumber
| extend provisioningState = properties["provisioningState"]
| extend publishingProfile = properties["publishingProfile"]
| extend storageAccountType = publishingProfile["storageAccountType"]
| extend scriptBehaviorAfterReboot = publishingProfile["settings"]["scriptBehaviorAfterReboot"]
| extend packageFileName = publishingProfile["settings"]["packageFileName"]
| extend configFileName = publishingProfile["settings"]["configFileName"]
| extend mediaLink = publishingProfile["source"]["mediaLink"]
| extend defaultConfigurationLink = publishingProfile["source"]["defaultConfigurationLink"]
| extend excludeFromLatest = publishingProfile["excludeFromLatest"]
| extend targetRegions = publishingProfile["targetRegions"]
| extend replicaCount = publishingProfile["replicaCount"]
| extend publishedDate = publishingProfile["publishedDate"]
| extend installScript = publishingProfile["manageActions"]["install"]
| extend removeScript = publishingProfile["manageActions"]["remove"]
| extend safetyProfile = properties["safetyProfile"]
| extend allowDeletionOfReplicatedLocations = safetyProfile["allowDeletionOfReplicatedLocations"]
| project-away safetyProfile, publishingProfile, SubId, rgName, id, properties
تحديث تطبيق VM المنشور
Note
ليس كل خصائص تطبيق VM المنشور أو إصدار تطبيق VM يمكن تحديثها. للحصول على قائمة كاملة بالخصائص القابلة للتحديث، راجع مورد تطبيق VM ومخطط موارد إصدار تطبيق VM.
- استراح
- المبادره القطريه
- بوويرشيل
تحديث مورد تطبيق VM:
PATCH
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}?api-version=2024-03-03
Body
{
"properties": {
"description": "Updated description",
"endOfLifeDate": "2026-12-31T00:00:00Z",
"eula": "Updated EULA text",
"privacyStatementUri": "https://contoso.com/privacy",
"releaseNoteUri": "https://contoso.com/release-notes"
}
}
تحديث مورد إصدار تطبيق VM:
PATCH
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}?api-version=2024-03-03
Body
{
"properties": {
"publishingProfile": {
"targetRegions": [
{
"name": "eastus",
"regionalReplicaCount": 2,
"storageAccountType": "Standard_LRS"
},
{
"name": "westus",
"regionalReplicaCount": 1,
"storageAccountType": "Standard_LRS"
}
],
"excludeFromLatest": false
}
}
}
حذف تطبيق VM منشور من معرض Azure Compute Gallery
لحذف مورد تطبيق الجهاز الظاهري، تحتاج أولا إلى حذف جميع إصداراته. حذف نسخة التطبيق يؤدي إلى حذف مورد إصدار التطبيق من معرض Azure Compute Gallery وجميع نسخه. لا يتأثر التطبيق الثنائي كبير الحجم في حساب التخزين المستخدم لإنشاء إصدار التطبيق.
تحذير
يؤدي حذف إصدار التطبيق إلى فشل عمليات PUT اللاحقة على الأجهزة الظاهرية التي تستخدم هذا الإصدار. لمنع هذا الفشل، استخدم الكلمة المفتاحية كرقم الإصدار بدلا من ترميز رقم الإصدار بشكل ثابت .
حذف تطبيق الآلة الافتراضية المنشور على أي جهاز افتراضي أو Virtual Machine Scale Sets يؤدي إلى فشل عمليات PUT اللاحقة على هذه الموارد (مثل التحديث، التكبير، أو إعادة الصور). قبل الحذف، تأكد من توقف جميع الأجهزة الافتراضية/Virtual Machine Scale Sets عن استخدام التطبيق عن طريق إزالته من ملف التطبيق الخاص بها.
لمنع الحذف العرضي، قم بتعيين
safetyProfile/allowDeletionOfReplicatedLocationsعلىfalseأثناء نشر الإصدار وطبق قفل Azure Resource Manager (CanNotDelete أو ReadOnly) على مورد تطبيق VM.
- بوابة
- استراح
- المبادره القطريه
- بوويرشيل
- سجل الدخول إلى بوابة Azure.
- ابحث عن معرض Azure Compute وافتح المعرض المستهدف.
- حدد تطبيق الجهاز الظاهري الذي تريد إزالته.
- حدد إصدارا واحدا أو أكثر تريد حذفه.
- لحذف تطبيق الجهاز الظاهري، احذف أولا جميع الإصدارات. ثم انقر فوق حذف (أعلى الشفرة).
- مراقبة الإشعارات لإكمالها. إذا تم حظر الحذف، قم بإزالة أي أقفال وتأكد من عدم وجود أي جهاز افتراضي أو Virtual Machine Scale Sets يشير إلى التطبيق.
إدارة تطبيق الآلة الافتراضية المنشورة على Azure VM و Virtual Machine Scale Sets
يشرح هذا القسم كيفية عرض تفاصيل التطبيقات المنتشرة ومراقبة التطبيقات المنتشرة عبر البنية التحتية. كما يتحدث عن كيفية تحديث وحذف deploy VM Applications على Azure الأجهزة الافتراضية و Virtual Machine Scale Sets.
عرض تطبيقات الآلات الافتراضية المنشورة وحالتها
يستخدم Azure VMAppExtension لنشر ومراقبة وإدارة تطبيقات الأجهزة الافتراضية على الجهاز الافتراضي. لذلك، يتم وصف حالة التوفير لتطبيق VM المنشور في حالة VMAppExtension.
- بوابة
- استراح
- المبادره القطريه
- بوويرشيل
لعرض حالة تطبيق الآلة الافتراضية، اذهب إلى تبويب Extensions + applications تحت الإعدادات وتحقق من حالة VMAppExtension:
لقطة شاشة توضح حالة تطبيق الجهاز الظاهري.
لعرض حالة تطبيق الآلة الافتراضية لجهاز Virtual Machine Scale Sets، توجه إلى صفحة Virtual Machine Scale Sets في بوابة Azure. في قسم الحالات، اختر أحد الحالات. ثم اذهب إلى تبويب Extensions + Applications تحت الإعدادات وتحقق من حالة VMAppExtension:
عرض سجلات تثبيت التطبيق باستخدام أمر التشغيل
عندما يقوم Azure VM Applications بتنزيل التطبيق وتثبيته على Azure VM أو Virtual Machine Scale Sets، فإنه ينقل جميع نتائج stdout إلى ملف stdout داخل مستودع التطبيق. يمكن للعملاء تمكين تسجيل مطول لتثبيت التطبيق وكتابة سجلات مخصصة باستخدام . يمكن للعملاء بعد ذلك التحقق يدويا من ملف و أو استخدام Runcommand للحصول على محتوى الملف.
استخدم سكريبت PowerShell التالي في أمر التشغيل المدار. قم بتحديث متغيرات و لتطبيقك
- Windows
- ينكس
$appName = "vm-application-name" # VM Application definition name
$appVersion = "1.0.0" # VM Application version name
$VMAppManagerVersion = "1.0.16" # Version of the VMApplicationManagerWindows extension on the VM
$StdoutFilePath = "C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\$VMAppManagerVersion\Downloads\$appName\$appVersion\stdout"
$StderrFilePath = "C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\$VMAppManagerVersion\Downloads\$appName\$appVersion\stderr"
Write-Host "`n=== Contents of stdout ==="
Get-Content -Path $StdoutFilePath
Write-Host "`n=== Contents of stderr ==="
Get-Content -Path $StderrFilePath
نفذ أمر التشغيل باستخدام السكريبتات واحصل على سجلات تثبيت التطبيق.
- بوابة
- المبادره القطريه
- بوويرشيل
- افتح بوابة Azure وانتقل إلى جهازك الافتراضي.
- تحت العمليات، اختر أمر الجري.
- اختر RunPowerShellScript من القائمة.
- أدخل سكريبت PowerShell الخاص بك في المحرر.
- اختر تشغيل النص لتنفيذ السكريبت.
- عرض الإخراج في قسم الإخراج . إذا فشل السكريبت، تحقق من قسم الخطأ للحصول على التفاصيل.
لمزيد من المعلومات، راجع تشغيل سكريبتات PowerShell في جهازك الافتراضي Windows باستخدام Run Command.
عرض جميع تطبيقات الآلات الافتراضية المنشورة باستخدام Azure Resource Graph
يمكن استخدام Azure استعلام رسم بياني الموارد لعرض جميع تطبيقات الوسائط الافتراضية المنشورة وخصائصها عبر جميع الأجهزة الافتراضية و Virtual Machine Scale Sets. يوفر طريقة برمجية لعرض جرد التطبيقات، وحالتها، وإصدارات النشر على نطاق واسع. استخدم هذه الطريقة للتكامل مع لوحات المعلومات والتقارير المخصصة.
resources
| where type == "microsoft.compute/virtualmachines" or type == "microsoft.compute/virtualmachinescalesets"
| where properties has "applicationProfile"
| extend resourceType = iff(type == "microsoft.compute/virtualmachines", "VM", "VMSS")
| extend applications = iff(resourceType == "VM", parse_json(properties["applicationProfile"]["galleryApplications"]), parse_json(properties["virtualMachineProfile"]["applicationProfile"]["galleryApplications"]))
| mv-expand applications
| extend enableAutomaticUpgrade = applications["enableAutomaticUpgrade"]
| extend packageReferenceId = applications["packageReferenceId"]
| extend treatFailureAsDeploymentFailure = applications["treatFailureAsDeploymentFailure"]
| parse packageReferenceId with "/subscriptions/" publisherSubcriptionId "/resourceGroups/" publisherResourceGroup "/providers/Microsoft.Compute/galleries/" galleryName "/applications/" appName "/versions/" version
| project tenantId, subscriptionId, resourceGroup, resourceName = name, type, location, appName, version, enableAutomaticUpgrade, treatFailureAsDeploymentFailure, galleryName, publisherSubcriptionId, publisherResourceGroup, properties
تطبيق VM مطلوب Audit باستخدام نهج Azure
يساعد نهج Azure في فرض الحوكمة من خلال تدقيق ما إذا كانت التطبيقات المطلوبة للآلات الافتراضية منتشرة عبر الآلات الافتراضية ومجموعات Virtual Machine Scale Sets. يمكنك إنشاء وتعيين سياسات مخصصة للتحقق من الامتثال والتأكد من وجود تطبيقات محددة على بنيتك التحتية.
للحصول على تعليمات خطوة بخطوة حول كيفية تدقيق نشر تطبيقات الآلات الافتراضية باستخدام نهج Azure، انظر Audit لتطبيقات الآلات الافتراضية المطلوبة باستخدام نهج Azure.
قم بتحديث تطبيق الآلة الافتراضية المنشورة
لتحديث تطبيق VM منشور، قم بتعديل ال ليشير إلى إصدار أحدث أو غير إعدادات النشر مثل أو .
- استراح
- المبادره القطريه
- بوويرشيل
قم بتحديث إصدار تطبيق VM أو الإعدادات على جهاز افتراضي واحد:
PATCH
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?api-version=2024-03-03
Body
{
"properties": {
"applicationProfile": {
"galleryApplications": [
{
"packageReferenceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{applicationName}/versions/{newVersion}",
"treatFailureAsDeploymentFailure": true,
"enableAutomaticUpgrade": true
}
]
}
}
}
تحديث تطبيق الآلة الافتراضية على Virtual Machine Scale Sets (نموذج):
PATCH
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}?api-version=2024-03-03
Body
{
"properties": {
"virtualMachineProfile": {
"applicationProfile": {
"galleryApplications": [
{
"packageReferenceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{applicationName}/versions/{newVersion | latest}",
"treatFailureAsDeploymentFailure": true,
"order": 2
}
]
}
}
}
}
تطبيق التغيير على مثيلات Virtual Machine Scale Sets الحالية (مطلوب عندما يكون upgradePolicy.mode يدويا):
POST
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/updateInstances?api-version=2024-03-03
Body
{
"instanceIds": ["*"]
}
نصيحة
استخدم كمعرف إصدار لنشر أحدث إصدار منشور تلقائيا دون تحديث النشر يدويا.
إزالة تطبيق VM من Azure VM أو Virtual Machine Scale Sets
- بوابة
- استراح
- المبادره القطريه
- بوويرشيل
- افتح بوابة Azure واذهب إلى الآلة الافتراضية المستهدفة (VM) أو Virtual Machine Scale Sets.
- في الإعدادات، حدد الملحقات + التطبيقات، ثم حدد علامة التبويب تطبيقات الجهاز الظاهري .
- انقر فوق الزر إلغاء التثبيت في تطبيق الجهاز الظاهري وحفظ.
- تعقب التقدم في الإشعارات أو تحقق من طريقة عرض المثيل لحالة VMAppExtension.
لقطة شاشة توضح كيفية إلغاء تثبيت تطبيق الجهاز الظاهري من جهاز ظاهري.
الخطوات التالية
- تعرف أكثر على Azure VM Applications.
- تعلم إنشاء تطبيقات Azure VM.