Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как просматривать, обновлять и удалять опубликованное приложение виртуальной машины в коллекции вычислений #REF!. Затем он рассказывает о том, как просматривать и контролировать, обновлять и удалять ресурсы приложений, развернутые на виртуальных машинах в #REF! или в группах масштабирования виртуальных машин.
Приложение в управляющей виртуальной машине, опубликованное в галерее вычислений #REF!
В этом разделе объясняется, как просматривать, обновлять и удалять опубликованные приложения виртуальных машин в коллекции вычислений #REF!.
Просмотр опубликованных приложений виртуальных машин
- Портал
- Отдых
- CLI
- PowerShell
Чтобы просмотреть свойства опубликованного приложения виртуальной машины на портале #REF!:
- Войдите на портал #REF!.
- Найдите Каталог вычислительных ресурсов #REF!.
- Выберите коллекцию, содержащую приложение виртуальной машины.
- Щелкните имя приложения виртуальной машины , которое вы хотите просмотреть.
- В колонке "Обзор/свойства" отображаются сведения о приложении виртуальной машины.
- В колонке "Обзор/версии" отображаются все опубликованные версии и основные свойства, такие как целевые регионы, состояние подготовки и состояние репликации.
- Выберите определенную версию, чтобы просмотреть все её сведения.
<c1><c0><sb0>Скриншот со свойствами приложения виртуальной машины и всеми версиями на портале #REF!.</sb0></c0></c1>
Просмотр опубликованных приложений виртуальных машин с помощью Azure Resource Graph
#REF! запрос графа ресурсов можно использовать для просмотра всех опубликованных приложений виртуальных машин и их свойств во всех галареях вычислительных ресурсов. Он предоставляет программный способ просмотра инвентаризации приложений и их свойств в большом масштабе. Используйте этот метод для интеграции с панелями мониторинга и пользовательскими отчетами.
Просмотрите список всех галерей вычислений
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
Просмотр списка всех опубликованных приложений виртуальных машин во всех коллекциях
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
Просмотр списка всех опубликованных версий приложений виртуальной машины во всех приложениях и коллекциях
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
Обновление опубликованного приложения виртуальной машины
Замечание
Не все свойства опубликованного приложения виртуальной машины или версии приложения виртуальной машины можно обновить. Полный список обновляемых свойств см. в схеме ресурсов приложения виртуальной машины и версии приложения виртуальной машины.
- REST
- CLI
- PowerShell
Обновление ресурса приложения виртуальной машины:
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"
}
}
Обновление ресурса версии приложения виртуальной машины:
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
}
}
}
Удаление опубликованного приложения виртуальной машины из коллекции вычислений #REF!
Чтобы удалить ресурс приложения виртуальной машины, сначала необходимо удалить все его версии. Удаление версии приложения приводит к удалению ресурса версии приложения из коллекции вычислений #REF! и всех ее реплик. Блоб приложения в учетной записи хранения, используемый для создания версии приложения, не пострадал.
Предупреждение
Удаление версии приложения приводит к сбою последующих операций PUT на виртуальных машинах с использованием этой версии. Чтобы предотвратить этот сбой, используйте ключевое слово в качестве версии вместо жёстко заданного номера версии.
Удаление приложения виртуальной машины, развернутого на любой виртуальной машине или масштабируемых наборах виртуальных машин, приводит к сбою последующих операций PUT-запросов на этих ресурсах (например, обновление, масштабирование или переустановка). Перед удалением убедитесь, что все экземпляры виртуальных машин или наборов виртуальных машин (Масштабируемые наборы виртуальных машин) перестают использовать приложение, удалив его из applicationProfile.
Чтобы предотвратить случайное удаление, задайте для параметра
safetyProfile/allowDeletionOfReplicatedLocationsзначениеfalseпри публикации версии и примените блокировку Azure Resource Manager (CanNotDelete или ReadOnly) к ресурсу приложения виртуальной машины.
- Портал
- REST
- CLI
- PowerShell
- Войдите на портал #REF!.
- Найдите #REF! Compute Gallery и откройте целевую галерею.
- Выберите приложение виртуальной машины, которое нужно удалить.
- Выберите одну или несколько версий, которые необходимо удалить.
- Чтобы удалить приложение виртуальной машины, сначала удалите все версии. Затем щелкните удалить (в верхней части панели).
- Отслеживайте уведомления о завершении. Если удаление заблокировано, удалите все блокировки и убедитесь, что ни одна виртуальная машина или наборы масштабирования виртуальных машин не ссылаются на приложение.
Управление развернутыми приложениями виртуальных машин на виртуальной машине #REF! и наборах масштабируемых виртуальных машин.
В этом разделе объясняется, как просматривать сведения о развернутых приложениях и отслеживать развернутые приложения в инфраструктуре. Он также рассказывает о том, как обновить и удалить развернутые приложения виртуальных машин на виртуальных машинах #REF! и наборах виртуальных машин.
Просмотр развернутых приложений виртуальных машин и их состояния
#REF! использует VMAppExtension для развертывания, мониторинга и управления приложениями виртуальных машин на виртуальной машине. Таким образом, состояние подготовки развернутого приложения виртуальной машины описывается в состоянии VMAppExtension.
- Портал
- REST
- CLI
- PowerShell
Чтобы отобразить состояние приложения виртуальной машины, перейдите на вкладку "Расширения и приложения " в разделе параметров и проверьте состояние VMAppExtension:
Снимок экрана: состояние приложения виртуальной машины.
Чтобы отобразить состояние приложения виртуальной машины для Масштабируемые наборы виртуальных машин, перейдите на страницу Масштабируемые наборы виртуальных машин портала #REF!. В разделе "Экземпляры" выберите один из экземпляров. Затем перейдите на вкладку "Расширения и приложения " в разделе параметров и проверьте состояние VMAppExtension:
Просмотр журналов установки приложения с помощью команды Run
Когда приложения #REF! VM загружают и устанавливают приложение на #REF! VM или Масштабируемые наборы виртуальных машин, они перенаправляют все результаты stdout в файл stdout в репозитории приложения. Пользователи могут включить подробное логирование для установки приложения и писать собственные журналы с помощью этой функции. Затем клиенты могут вручную проверить и файл или использовать Runcommand, чтобы получить содержимое файла.
Используйте следующий скрипт PowerShell в команде управляемого запуска. Обновите переменные [первой] и [второй] для вашего приложения
- #REF!
- Линукс
$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
Выполните команду выполнения с помощью скриптов и получите журналы установки приложения.
- Портал
- CLI
- PowerShell
- Откройте портал #REF! и перейдите к виртуальной машине.
- В разделе "Операции" выберите команду "Выполнить".
- Выберите RunPowerShellScript из списка.
- Введите скрипт PowerShell в редакторе.
- Нажмите кнопку "Выполнить" , чтобы выполнить скрипт.
- Просмотрите выходные данные в разделе "Выходные данные ". Если скрипт завершается ошибкой, проверьте раздел "Ошибка " для получения сведений.
Дополнительные сведения см. в разделе Выполнение скриптов PowerShell в виртуальной машине #REF! с помощью команды Run.
Просмотр всех развернутых приложений виртуальных машин с помощью Azure Resource Graph
#REF! resource graph query можно использовать для просмотра всех развернутых приложений для виртуальных машин и их свойств во всех виртуальных машинах и Масштабируемые наборы виртуальных машин. Он предоставляет программный способ просмотра инвентаризации приложений, состояния и развернутых версий в большом масштабе. Используйте этот метод для интеграции с панелями мониторинга и пользовательскими отчетами.
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
Аудит требуемого приложения виртуальной машины с помощью Политика Azure
Политика Azure помогает обеспечить управление, проверяя, развертываются ли необходимые приложения виртуальных машин на виртуальных машинах и наборах масштабирования виртуальных машин. Вы можете создать и назначить пользовательские политики для проверки соответствия требованиям и убедиться, что определенные приложения присутствуют в вашей инфраструктуре.
Пошаговые инструкции по аудиту развертывания приложений виртуальных машин с помощью Политика Azure см. в статье Audit обязательных приложений виртуальных машин с помощью Политика Azure.
Обновление развернутого приложения виртуальной машины
Чтобы обновить развернутое приложение виртуальной машины, измените ссылку на более новую версию или измените параметры развертывания, например или .
- REST
- CLI
- PowerShell
Обновите версию или параметры приложения виртуальной машины на одной виртуальной машине:
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
}
]
}
}
}
Обновление приложения виртуальной машины в наборах масштабируемости виртуальных машин (модель):
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
}
]
}
}
}
}
Примените изменение к существующим экземплярам наборов масштабирования виртуальных машин (требуется, если параметр обновления Policy.mode установлен на "Ручной"):
POST
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/updateInstances?api-version=2024-03-03
Body
{
"instanceIds": ["*"]
}
Подсказка
Используйте в качестве идентификатора версии для автоматического развертывания последней опубликованной версии без ручного обновления развертываний.
Удалите VM-приложение из виртуальной машины #REF! или из масштабируемых наборов виртуальных машин.
- Портал
- REST
- CLI
- PowerShell
- Откройте портал #REF! и перейдите к целевой виртуальной машине (VM) или набору масштабируемых виртуальных машин.
- В разделе "Параметры" выберите "Расширения и приложения", а затем перейдите на вкладку "Приложения виртуальных машин ".
- Нажмите кнопку удаления в приложении виртуальной машины и сохраните его.
- Отслеживайте ход выполнения в уведомлениях или проверьте представление экземпляра для состояния VMAppExtension.
Снимок экрана, показывающий, как удалить приложение виртуальной машины из виртуальной машины.
Дальнейшие шаги
- Дополнительные сведения о #REF! приложениях виртуальных машин.
- Узнайте, как создать приложения #REF! виртуальных машин.