VM-toepassing is een resourcetype in de Azure Compute Gallery waarmee het beheer, het delen en de wereldwijde distributie van toepassingen voor uw virtuele machines wordt vereenvoudigd.
Meer informatie over VM-toepassing
Zorg ervoor dat het opslagaccount openbare toegang heeft of gebruik een SAS-URI met leesbevoegdheden, omdat andere beperkingsniveaus mislukken bij implementaties. U kunt Storage Explorer gebruiken om snel een SAS-URI te maken als u er nog geen hebt.
Als u PowerShell gebruikt, moet u versie 3.11.0 van de Az.Storage-module gebruiken.
- Ga naar Azure Portal en zoek en selecteer Azure Compute Gallery.
- Selecteer de galerie die u wilt gebruiken in de lijst.
- Selecteer Op de pagina voor uw galerie de optie Toevoegen boven aan de pagina en selecteer vervolgens de definitie van de VM-toepassing in de vervolgkeuzelijst. De pagina Een vm-toepassingsdefinitie maken wordt geopend.
- Voer op het tabblad Basisbeginselen een naam in voor uw toepassing en kies of de toepassing is voor virtuele machines waarop Linux of Windows wordt uitgevoerd.
- Selecteer het tabblad Publicatieopties als u een van de volgende optionele instellingen voor uw VM-toepassingsdefinitie wilt opgeven:
- Een beschrijving van de definitie van de VM-toepassing.
- Datum einde levensduur
- Koppeling naar een gebruiksrechtovereenkomst (EULA)
- URI van een privacyverklaring
- URI voor releaseopmerkingen
- Selecteer als u klaar bent de optie Beoordelen en maken.
- Wanneer de validatie is voltooid, selecteert u Maken om de definitie te laten implementeren.
- Zodra de implementatie is voltooid, selecteert u Ga naar de resource.
- Selecteer op de pagina voor de toepassing de optie Een vm-toepassingsversie maken. De pagina Een VM-toepassingsversie maken wordt geopend.
- Voer een versienummer in, zoals 1.0.0.
- Selecteer de regio waar uw toepassingspakketten worden geüpload.
- Selecteer Bladeren onder Brontoepassingspakket. Selecteer het opslagaccount en vervolgens de container waarin het pakket zich bevindt. Selecteer het pakket in de lijst en selecteer vervolgens Selecteren wanneer u klaar bent. U kunt ook de SAS-URI in dit veld plakken, indien gewenst.
- Geef het installatiescript op. U kunt ook het verwijderingsscript en het updatescript opgeven. Zie het overzicht voor informatie over het maken van de scripts.
- Als u een standaardconfiguratiebestand hebt geüpload naar een opslagaccount, kunt u dit selecteren in de standaardconfiguratie.
- Selecteer Uitsluiten als u niet wilt dat deze versie wordt weergegeven als de nieuwste versie wanneer u een virtuele machine maakt.
- Kies voor de einddatum van de levensduur een datum in de toekomst om bij te houden wanneer deze versie buiten gebruik moet worden gesteld. Het wordt niet automatisch verwijderd of verwijderd, alleen voor uw eigen tracering.
- Als u deze versie naar andere regio's wilt repliceren, selecteert u het tabblad Replicatie , voegt u meer regio's toe en wijzigt u het aantal replica's per regio. De oorspronkelijke regio waarin uw versie is gemaakt, moet zich in de lijst bevinden en kan niet worden verwijderd.
- Wanneer u klaar bent met het aanbrengen van wijzigingen, selecteert u Controleren en maken onderaan de pagina.
- Wanneer de validatie wordt weergegeven als geslaagd, selecteert u Maken om de versie van uw VM-toepassing te implementeren.
Maak de definitie van de VM-toepassing met behulp van New-AzGalleryApplication
. In dit voorbeeld maken we een Linux-app met de naam myApp in de myGallery Azure Compute Gallery en in de resourcegroep myGallery . Vervang indien nodig de waarden voor variabelen.
$galleryName = "myGallery"
$rgName = "myResourceGroup"
$applicationName = "myApp"
$description = "Backend Linux application for finance."
New-AzGalleryApplication `
-ResourceGroupName $rgName `
-GalleryName $galleryName `
-Location "East US" `
-Name $applicationName `
-SupportedOSType Linux `
-Description $description
Maak een versie van uw VM-toepassing met behulp van New-AzGalleryApplicationVersion
. Toegestane tekens voor versie zijn getallen en punten. Cijfers moeten binnen het bereik van een 32-bits geheel getal zijn. Indeling: MajorVersion.MinorVersion.Patch.
In dit voorbeeld maken we versienummer 1.0.0. Vervang indien nodig de waarden van de variabelen.
$galleryName = "myGallery"
$rgName = "myResourceGroup"
$applicationName = "myApp"
$version = "1.0.0"
New-AzGalleryApplicationVersion `
-ResourceGroupName $rgName `
-GalleryName $galleryName `
-GalleryApplicationName $applicationName `
-Name $version `
-PackageFileLink "https://<storage account name>.blob.core.windows.net/<container name>/<filename>" `
-DefaultConfigFileLink "https://<storage account name>.blob.core.windows.net/<container name>/<filename>" `
-Location "East US" `
-Install "mv myApp .\myApp\myApp" `
-Remove "rm .\myApp\myApp" `
VOOR VM-toepassingen is Azure CLI versie 2.30.0 of hoger vereist.
Maak de definitie van de VM-toepassing met behulp van az sig gallery-application create. In dit voorbeeld maken we een VM-toepassingsdefinitie met de naam myApp voor op Linux gebaseerde VM's.
az sig gallery-application create \
--application-name myApp \
--gallery-name myGallery \
--resource-group myResourceGroup \
--os-type Linux \
--location "East US"
Maak een VM-toepassingsversie door az sig gallery-application version create te gebruiken. Toegestane tekens voor versie zijn getallen en punten. Cijfers moeten binnen het bereik van een 32-bits geheel getal zijn. Indeling: MajorVersion.MinorVersion.Patch.
Vervang de waarden van de parameters door uw eigen waarden.
az sig gallery-application version create \
--version-name 1.0.0 \
--application-name myApp \
--gallery-name myGallery \
--location "East US" \
--resource-group myResourceGroup \
--package-file-link "https://<storage account name>.blob.core.windows.net/<container name>/<filename>" \
--install-command "mv myApp .\myApp\myApp" \
--remove-command "rm .\myApp\myApp" \
--update-command "mv myApp .\myApp\myApp" \
--default-configuration-file-link "https://<storage account name>.blob.core.windows.net/<container name>/<filename>"\
De definitie van de VM-toepassing maken met behulp van de API voor het maken van galerietoepassingen
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{applicationName}?api-version=2024-03-03
{
"location": "West US",
"name": "myApp",
"properties": {
"supportedOSType": "Windows | Linux",
"endOfLifeDate": "2020-01-01",
"description": "Description of the App",
"eula": "Link to End-User License Agreement (EULA)",
"privacyStatementUri": "Link to privacy statement for the application",
"releaseNoteUri": "Link to release notes for the application"
}
}
Veldnaam |
Beschrijving |
Beperkingen |
naam |
Een unieke naam voor de VM-toepassing in de galerie. |
Maximale lengte van 117 tekens. Toegestane tekens zijn hoofdletters of kleine letters, cijfers, afbreekstreepjes(-), punt (.), onderstrepingsteken (_). Namen mogen niet eindigen met punt(.). |
ondersteund OSType |
Definieer het ondersteunde type besturingssysteem. |
"Windows" of "Linux" |
eindeLevensduurDatum |
Een toekomstige einddatum van de levensduur voor de toepassing. De datum is alleen ter referentie en wordt niet afgedwongen. |
Geldige datum in de toekomst |
beschrijving |
Optioneel. Beschrijving van de toepassing. |
|
Overeenkomst |
Optioneel. Verwijzing naar End-User gebruiksrechtovereenkomst (EULA). |
|
privacyVerklaringUri |
Optioneel. Verwijzing naar de privacyverklaring voor de toepassing. |
|
releaseNoteUri |
Optioneel. Verwijzing naar releaseopmerkingen voor de toepassing. |
|
Maak een VM-toepassingsversie met behulp van de 'create gallery application version API'.
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{applicationName}/versions/{versionName}?api-version=2024-03-03
{
"location": "$location",
"properties": {
"publishingProfile": {
"source": {
"mediaLink": "$mediaLink",
"defaultConfigurationLink": "$configLink"
},
"manageActions": {
"install": "echo installed",
"remove": "echo removed",
"update": "echo update"
},
"targetRegions": [
{
"name": "West US",
"regionalReplicaCount": 1
},
{
"name": "East US"
}
]
"endofLifeDate": "datetime",
"replicaCount": 1,
"excludeFromLatest": false,
"storageAccountType": "PremiumV2_LRS | Premium_LRS | Standard_LRS | Standard_ZRS"
"safetyProfile": {
"allowDeletionOfReplicatedLocations": false
}
"settings": {
"scriptBehaviorAfterReboot": "None | Rerun",
"configFileName": "$appConfigFileName",
"packageFileName": "$appPackageFileName"
}
}
}
Veldnaam |
Beschrijving |
Beperkingen |
locatie |
Bronlocatie voor de versie van de VM-toepassing. |
Geldige Azure-regio |
mediaLink |
De URL met het toepassingsversiepakket. |
Geldige en bestaande opslag-URL |
standaardConfiguratieLink |
Optioneel. De URL met de standaardconfiguratie, die tijdens de implementatie kan worden overschreven. |
Geldige en bestaande opslag-URL |
Installeren |
De opdracht om de toepassing te installeren. |
Geldige opdracht voor het opgegeven besturingssysteem |
Verwijderen |
De opdracht om de toepassing te verwijderen. |
Geldige opdracht voor het opgegeven besturingssysteem |
Bijwerken |
Optioneel. De opdracht om de toepassing bij te werken. Als dit niet is opgegeven en er een update is vereist, wordt de oude versie verwijderd en wordt de nieuwe versie geïnstalleerd. |
Geldige opdracht voor het opgegeven besturingssysteem |
doelregio's/naam |
De naam van een regio waarnaar moet worden gerepliceerd. |
Azure-regio valideren |
doelregio's/regionale aantal replicaties |
Optioneel. Het aantal replica's in de regio dat moet worden gemaakt. Standaardwaarde is 1. |
Geheel getal tussen 1 en 3 inclusief |
aantal replicaties |
Optioneel. Hiermee definieert u het aantal replica's in elke regio. Wordt van kracht als regionalReplicaCount niet is gedefinieerd. |
Geheel getal tussen 1 en 3 inclusief |
eindeLevensduurDatum |
Een toekomstige einddatum voor de toepassingsversie. Deze eigenschap is alleen bedoeld voor klantreferenties en wordt niet afgedwongen. |
Geldige datum in de toekomst |
opslagAccountType |
Optioneel. Type opslagaccount dat in elke regio moet worden gebruikt voor het opslaan van een toepassingspakket. Standaard ingesteld op Standard_LRS. |
Deze eigenschap kan niet worden bijgewerkt. |
toestaanVerwijderingVanGerepliceerdeLocaties |
Optioneel. Hiermee wordt aangegeven of het verwijderen van deze installatiekopieënversie van de galerie uit gerepliceerde regio's is toegestaan. |
|
instellingen/scriptgedragNaHerstart |
Optioneel. De actie die moet worden uitgevoerd voor het installeren, bijwerken of verwijderen van galerietoepassingen nadat de VIRTUELE machine opnieuw is opgestart. |
|
instellingen/configBestandsnaam |
Optioneel. De naam voor het toewijzen van het gedownloade pakketbestand op de virtuele machine. Als dit niet is opgegeven, krijgt het pakketbestand dezelfde naam als de naam van de galerietoepassing. |
Dit is beperkt tot 4096 tekens. |
instellingen/packageFileName |
Optioneel. De naam voor het toewijzen van het gedownloade configuratiebestand op de virtuele machine. Als dit niet is opgegeven, krijgt het configuratiebestand de naam van de galerietoepassing die is toegevoegd aan '_config'. |
Dit is beperkt tot 4096 tekens. |
U kunt nu een VIRTUELE machine maken en de VM-toepassing hierop implementeren met behulp van de portal. Maak gewoon de VIRTUELE machine zoals gebruikelijk en kies op het tabblad Geavanceerd een VM-toepassing selecteren die u wilt installeren.
Selecteer de VM-toepassing in de lijst en selecteer opslaan onderaan de pagina.
Als u meerdere VM-toepassingen wilt installeren, kunt u de installatievolgorde instellen voor elke VM-toepassing op het tabblad Geavanceerd.
U kunt de VM-toepassing ook implementeren op vm's die momenteel worden uitgevoerd. Selecteer de optie Extensies en toepassingen onder Instellingen in het linkermenu bij het weergeven van de VM-details in de portal.
Kies VM-toepassingen en selecteer vervolgens Toepassing toevoegen om uw VM-toepassing toe te voegen.
Selecteer de VM-toepassing in de lijst en selecteer opslaan onderaan de pagina.
Stel een VM-toepassing in op een bestaande VM met behulp van az vm application set en vervang de waarden van de parameters door uw eigen waarden.
az vm application set \
--resource-group myResourceGroup \
--name myVM \
--app-version-ids /subscriptions/{subID}/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 \
--treat-deployment-as-failure true
Voor het instellen van meerdere toepassingen op een VIRTUELE machine:
az vm application set \
--resource-group myResourceGroup \
--name myVM \
--app-version-ids /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp2/versions/1.0.1 \
--treat-deployment-as-failure true true
Als u een toepassing wilt toevoegen aan een virtuele-machineschaalset, gebruikt u az vmss application set:
az vmss application set \
--resource-group myResourceGroup \
--name myVmss \
--app-version-ids /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 \
--treat-deployment-as-failure true
Meerdere toepassingen toevoegen aan een virtuele-machineschaalset:
az vmss application set \
--resource-group myResourceGroup \
--name myVmss
--app-version-ids /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp/versions/1.0.0 /subscriptions/{subId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGallery/applications/myApp2/versions/1.0.0 \
--treat-deployment-as-failure true
Als u de toepassing wilt toevoegen aan een bestaande VM, haalt u de toepassingsversie op en gebruikt u deze om de versie-id van de VM-toepassing op te halen. Gebruik de id om de toepassing toe te voegen aan de VM-configuratie.
$galleryName = "myGallery"
$rgName = "myResourceGroup"
$applicationName = "myApp"
$version = "1.0.0"
$vmName = "myVM"
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmName
$appVersion = Get-AzGalleryApplicationVersion `
-GalleryApplicationName $applicationName `
-GalleryName $galleryName `
-Name $version `
-ResourceGroupName $rgName
$packageId = $appVersion.Id
$app = New-AzVmGalleryApplication -PackageReferenceId $packageId
Add-AzVmGalleryApplication -VM $vm -GalleryApplication $app -TreatFailureAsDeploymentFailure true
Update-AzVM -ResourceGroupName $rgName -VM $vm
Om de toepassing toe te voegen aan een virtuele machineschaalset:
$vmss = Get-AzVmss -ResourceGroupName $rgname -Name $vmssName
$appVersion = Get-AzGalleryApplicationVersion `
-GalleryApplicationName $applicationName `
-GalleryName $galleryName `
-Name $version `
-ResourceGroupName $rgName
$packageId = $appVersion.Id
$app = New-AzVmssGalleryApplication -PackageReferenceId $packageId
Add-AzVmssGalleryApplication -VirtualMachineScaleSetVM $vmss.VirtualMachineProfile -GalleryApplication $app
Update-AzVmss -ResourceGroupName $rgName -VirtualMachineScaleSet $vmss -VMScaleSetName $vmssName
Als u een versie van een VM-toepassing wilt toevoegen aan een virtuele machine, voert u een PUT uit op de VIRTUELE machine.
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VMName}?api-version=2024-03-03
{
"properties": {
"applicationProfile": {
"galleryApplications": [
{
"order": 1,
"packageReferenceId": "/subscriptions/{subscriptionId}/resourceGroups/<resource group>/providers/Microsoft.Compute/galleries/{gallery name}/applications/{application name}/versions/{version | latest}",
"configurationReference": "{path to configuration storage blob}",
"treatFailureAsDeploymentFailure": false
}
]
}
},
"name": "{vm name}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Compute/virtualMachines/{vm name}",
"location": "{vm location}"
}
De VM-toepassing toepassen op een uniforme schaalset:
PUT
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMSSName}?api-version=2024-03-03
{
"properties": {
"virtualMachineProfile": {
"applicationProfile": {
"galleryApplications": [
{
"order": 1,
"packageReferenceId": "/subscriptions/{subscriptionId}/resourceGroups/<resource group>/providers/Microsoft.Compute/galleries/{gallery name}/applications/{application name}/versions/{version | latest}",
"configurationReference": "{path to configuration storage blob}",
"treatFailureAsDeploymentFailure": false
}
]
}
}
},
"name": "{vm name}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resource group}/providers/Microsoft.Compute/virtualMachines/{vm name}",
"location": "{vm location}"
}
Veldnaam |
Beschrijving |
Beperkingen |
bestelling |
Optioneel. De volgorde waarin de toepassingen moeten worden geïmplementeerd. |
Geheel getal valideren |
pakketReferentieId |
Een verwijzing naar de versie van de galerietoepassing. Gebruik het trefwoord 'nieuwste' voor de versie om automatisch de meest recente beschikbare versie te installeren. |
Geldige referentie voor toepassingsversie |
configuratiereferentie |
Optioneel. De volledige URL van een opslagblob die de configuratie voor deze implementatie bevat. Hiermee wordt elke waarde die eerder is opgegeven voor defaultConfiguration overschreven. |
Geldige naslaginformatie voor opslagblob |
behandelFalenAlsInzetFalen |
Optioneel. Wanneer deze optie is ingeschakeld, zorgt een app-implementatiefout ervoor dat de inrichtingsstatus van de VM een mislukte status rapporteert. |
True of False |
Het orderveld kan worden gebruikt om afhankelijkheden tussen toepassingen op te geven. De regels voor volgorde zijn als volgt:
Zaak |
Betekenis van installatie |
Fout betekenis |
Er is geen order opgegeven |
Niet-geordende toepassingen worden geïnstalleerd na geordende toepassingen. Er is geen garantie voor de installatievolgorde van de niet-geordende toepassingen. |
Installatiefouten van andere toepassingen, of het nu geordende of ongeordend is, heeft geen invloed op de installatie van niet-geordende toepassingen. |
Dubbele volgordewaarden |
De toepassing wordt in elke volgorde geïnstalleerd in vergelijking met andere toepassingen met dezelfde volgorde. Alle toepassingen van dezelfde order worden geïnstalleerd na de toepassingen met lagere orders en vóór de toepassingen met hogere orders. |
Als een eerdere toepassing met een lagere volgorde niet kan worden geïnstalleerd, worden er geen toepassingen met deze bestelling geïnstalleerd. Als een toepassing met deze bestelling niet kan worden geïnstalleerd, worden er geen toepassingen met een hogere volgorde geïnstalleerd. |
Toenemende orders |
De toepassing wordt geïnstalleerd na de toepassingen met een lagere volgorde en vóór de toepassingen met een hogere volgorde. |
Als een vorige toepassing met een lagere volgorde niet kan worden geïnstalleerd, wordt deze toepassing niet geïnstalleerd. Als deze toepassing niet kan worden geïnstalleerd, wordt er geen toepassing met een hogere volgorde geïnstalleerd. |
Het antwoord bevat het volledige VM-model. Hier volgen de relevante onderdelen.
{
"name": "{vm name}",
"id": "{vm id}",
"type": "Microsoft.Compute/virtualMachines",
"location": "{vm location}",
"properties": {
"applicationProfile": {
"galleryApplications": ""
},
"provisioningState": "Updating"
},
"resources": [
{
"name": "VMAppExtension",
"id": "{extension id}",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "centraluseuap",
"properties": "@{autoUpgradeMinorVersion=True; forceUpdateTag=7c4223fc-f4ea-4179-ada8-c8a85a1399f5; provisioningState=Creating; publisher=Microsoft.CPlat.Core; type=VMApplicationManagerLinux; typeHandlerVersion=1.0; settings=}"
}
]
}
Als u de status van de VM-toepassing wilt weergeven, gaat u naar het tabblad Extensies en toepassingen en controleert u de status van de VMAppExtension:
Als u de status van de VM-toepassing voor een schaalset wilt weergeven, gaat u naar de Virtuele-Machine-Schaalsets-pagina van de Azure portal. Ga vervolgens naar de sectie 'Instanties', selecteer een van de vermelde schaalsets en ga naar VMAppExtension:
Gebruik az vm get-instance-view om de implementatiestatus van de toepassing op een virtuele machine te controleren:
az vm get-instance-view -g myResourceGroup -n myVM --query "instanceView.extensions[?name == 'VMAppExtension']"
Gebruik az vmss get-instance-view om de implementatiestatus van de toepassing op virtuele-machineschaalset te controleren:
az vmss get-instance-view --ids (az vmss list-instances -g myResourceGroup -n myVmss --query "[*].id" -o tsv) --query "[*].extensions[?name == 'VMAppExtension']"
Notitie
De vorige opdracht voor de implementatiestatus van virtuele-machineschaalsets vermeldt de exemplaar-id niet in het resultaat. Als u de exemplaar-id wilt weergeven met de status van de extensie in elk exemplaar, is er meer scripting vereist. Raadpleeg het volgende CLI-voorbeeld met de PowerShell-syntaxis:
$ids = az vmss list-instances -g myResourceGroup -n myVmss --query "[*].{id: id, instanceId: instanceId}" | ConvertFrom-Json
$ids | Foreach-Object {
$iid = $_.instanceId
Write-Output "instanceId: $iid"
az vmss get-instance-view --ids $_.id --query "extensions[?name == 'VMAppExtension']"
}
Controleer of de toepassing is geslaagd:
$rgName = "myResourceGroup"
$vmName = "myVM"
$result = Get-AzVM -ResourceGroupName $rgName -VMName $vmName -Status
$result.Extensions | Where-Object {$_.Name -eq "VMAppExtension"} | ConvertTo-Json
Volg deze stappen om te verifiëren in uw virtuele-machineschaalset:
$rgName = "myResourceGroup"
$vmssName = "myVMss"
$result = Get-AzVmssVM -ResourceGroupName $rgName -VMScaleSetName $vmssName -InstanceView
$resultSummary = New-Object System.Collections.ArrayList
$result | ForEach-Object {
$res = @{ instanceId = $_.InstanceId; vmappStatus = $_.InstanceView.Extensions | Where-Object {$_.Name -eq "VMAppExtension"}}
$resultSummary.Add($res) | Out-Null
}
$resultSummary | ConvertTo-Json -Depth 5
Als de VM-toepassing niet op de VIRTUELE machine is geïnstalleerd, is de waarde leeg.
Het resultaat van de vm-exemplaarweergave ophalen:
GET
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VMName}/instanceView?api-version=2024-03-03
Het resultaat ziet er als volgt uit:
{
...
"extensions" [
...
{
"name": "VMAppExtension",
"type": "Microsoft.CPlat.Core.VMApplicationManagerLinux",
"typeHandlerVersion": "1.0.9",
"statuses": [
{
"code": "ProvisioningState/succeeded",
"level": "Info",
"displayStatus": "Provisioning succeeded",
"message": "Enable succeeded: {\n \"CurrentState\": [\n {\n \"applicationName\": \"doNothingLinux\",\n \"version\": \"1.0.0\",\n \"result\": \"Install SUCCESS\"\n },\n {
\n \"applicationName\": \"badapplinux\",\n \"version\": \"1.0.0\",\n \"result\": \"Install FAILED Error executing command \u0027exit 1\u0027: command terminated with exit status=1\"\n }\n ],\n \"ActionsPerformed\": []\n}
"
}
]
}
...
]
}
De status van de VM-app staat in het statusbericht van het resultaat van de VM-app-extensie in de instantieweergave.
Om de status van de applicatie op de Virtual Machine Scale Set op te halen:
GET
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/ virtualMachineScaleSets/{VMSSName}/virtualMachines/{instanceId}/instanceView?api-version=2019-03-01
De uitvoer is vergelijkbaar met het VM-voorbeeld eerder.
Als u de VM-toepassingsresource wilt verwijderen, moet u eerst alle versies ervan verwijderen. Als u de toepassingsversie verwijdert, worden de toepassingsversieresources uit de Azure Compute Gallery en alle bijbehorende replica's verwijderd. De blob van de applicatie in het opslagaccount die wordt gebruikt om de applicatieversie aan te maken, blijft onaangetast. Nadat u de toepassingsversie hebt verwijderd, zal de installatiekopiebewerking mislukken op die VM's als een virtuele machine die versie gebruikt. Gebruik het meest recente trefwoord als het versienummer in de 'applicationProfile' in plaats van het versienummer hard te coderen om deze fout te verhelpen.
Als de toepassing echter wordt verwijderd, mislukt de VM tijdens de herinstallatiekopiebewerking omdat er geen versies beschikbaar zijn voor de installatie van Azure. Het VM-profiel moet worden bijgewerkt om de VM-toepassing niet te kunnen gebruiken.
Verwijder de versie van de VM-toepassing:
Remove-AzGalleryApplicationVersion -ResourceGroupName $rgNmae -GalleryName $galleryName -GalleryApplicationName $galleryApplicationName -Name $name
Verwijder de VM-toepassing nadat alle versies zijn verwijderd:
Remove-AzGalleryApplication -ResourceGroupName $rgNmae -GalleryName $galleryName -Name $name
Verwijder de versie van de VM-toepassing:
az sig gallery-application version delete --resource-group $rg-name --gallery-name $gallery-name --application-name $app-name --version-name $version-name
Verwijder de VM-toepassing nadat alle versies zijn verwijderd:
az sig gallery-application delete --resource-group $rg-name --gallery-name $gallery-name --application-name $app-name
Verwijder de versie van de VM-toepassing:
DELETE
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}?api-version=2024-03-03
Verwijder de VM-toepassing nadat alle versies zijn verwijderd:
DELETE
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}?api-version=2024-03-03
Volgende stappen
Meer informatie over Azure VM-toepassingen.