Delen via


Problemen met Azure VM Image Builder oplossen

Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️

Gebruik dit artikel om veelvoorkomende problemen op te lossen die kunnen optreden wanneer u Azure VM Image Builder gebruikt.

Vereisten

Wanneer u een build maakt, gaat u als volgt te werk:

  • De VM Image Builder-service communiceert met de build-VM met behulp van WinRM of Secure Shell (SSH). Schakel deze instellingen niet uit als onderdeel van de build.
  • VM Image Builder maakt resources in de stageresourcegroep aan als onderdeel van de buildprocessen. De exacte lijst met resources is afhankelijk van de netwerkconfiguratie die is opgegeven in het afbeeldingssjabloon. Zorg ervoor dat u controleert of Azure Policy niet verhindert dat VM Image Builder de benodigde resources maakt of gebruikt.
  • Zorg ervoor dat Azure Policy geen onbedoelde functies installeert op de build-VM of andere faseringsbronnen, zoals Azure-extensies of tagwijzigingen.
  • Zorg ervoor dat VM Image Builder de juiste machtigingen heeft om afbeeldingen te lezen/schrijven en om verbinding te maken met het opslagaccount. Raadpleeg de documentatie over machtigingen voor de Azure CLI of Azure PowerShell voor meer informatie.
  • VM Image Builder mislukt de build als de scripts of inline opdrachten mislukken met fouten (niet-nul-exitcodes). Zorg ervoor dat u de aangepaste scripts hebt getest en controleer of ze zonder fouten worden uitgevoerd (afsluitcode 0) of dat gebruikersinvoer is vereist. Zie Een Azure Virtual Desktop-installatiekopieën maken met behulp van VM Image Builder en PowerShell voor meer informatie.
  • Zorg ervoor dat uw abonnement voldoende quotum voor Azure Container Instances heeft.
    • Elke afbeelding build kan maximaal één tijdelijke Azure Container Instance-resource (van vier standaardkernen) in de stageresourcegroep implementeren. Deze resources zijn vereist voor geïsoleerde image-builds.

VM Image Builder-fouten kunnen op twee gebieden optreden:

  • Tijdens het indienen van een afbeeldingssjabloon
  • Tijdens het bouwen van afbeeldingen

Notitie

CIS-geharde installatiekopieën (Linux of Windows) op Azure Marketplace, beheerd door CIS, kunnen door hun configuraties buildfouten veroorzaken bij de Azure Image Builder-service. Bijvoorbeeld:

  • CIS-geharde Windows-afbeeldingen kunnen WinRM-connectiviteit verstoren, een vereiste voor de AIB-opbouw.
  • CIS Linux-installatiekopieën kunnen mislukken vanwege chmod +x machtigingsproblemen.

Fouten bij het indienen van afbeeldingssjablonen oplossen

Fouten bij het indienen van een afbeeldingssjabloon worden alleen geretourneerd bij verzending. Er is geen foutenlogboek voor fouten bij het indienen van een afbeeldingssjabloon. Als er een fout optreedt tijdens het verzenden, kunt u de fout bekijken door de status van de sjabloon te controleren, met name door ProvisioningState en ProvisioningErrorMessage/provisioningError te bekijken.

az image builder show --name $imageTemplateName  --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName  <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object ProvisioningState, ProvisioningErrorMessage

Notitie

Voor PowerShell moet u de PowerShell-modules van de VM Image Builder installeren.

Belangrijk

API-versie 2021-10-01 introduceert een wijziging in het foutschema dat deel uitmaakt van elke toekomstige API-release. Als u azure VM Image Builder-automatiseringen hebt, moet u rekening houden met de nieuwe foutuitvoer wanneer u overschakelt naar API-versie 2021-10-01 of hoger. We raden u aan om, nadat u bent overgeschakeld naar de nieuwste API-versie, niet terug te keren naar een eerdere versie, omdat u uw automatisering opnieuw moet wijzigen om het eerdere foutschema te produceren. We verwachten niet dat we het foutschema in toekomstige releases opnieuw zullen wijzigen.

Foutuitvoer voor versie 2020-02-14 en eerder

{
  "code": "ValidationFailed",
  "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template."
}

Foutuitvoer voor versie 2021-10-01 en hoger

{
  "error": {
    "code": "ValidationFailed",
    "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template."
  }
}

De volgende secties bevatten oplossingsrichtlijnen voor veelvoorkomende fouten bij het indienen van afbeeldingssjablonen.

Het bijwerken of upgraden van afbeeldingssjablonen wordt momenteel niet ondersteund

Fout

'Conflict'. Details: Update/Upgrade of image templates is currently not supported

Oorzaak

De sjabloon bestaat al.

Oplossing

Als u een afbeeldingsconfiguratiesjabloon verzendt en de verzending mislukt, blijft er nog steeds een mislukt sjabloonartefact bestaan. Verwijder de mislukte sjabloon.

MSI opnieuw toewijzen aan afbeeldingssjablonen

Fout

The assigned managed identity cannot be used. Please remove the existing one and re-assign a new identity. For more troubleshooting steps go to https://aka.ms/azvmimagebuilderts.

Oorzaak

Er zijn gevallen waarin Managed Service Identities (MSI) die zijn toegewezen aan de afbeeldingssjabloon, niet kunnen worden gebruikt:

  • Het Image Builder-sjabloon maakt gebruik van een door de klant aangeleverde faseringsresourcegroep en de MSI wordt verwijderd voordat de installatiekopieënsjabloon wordt verwijderd (faseringsresourcegroep-scenario)
  • De gemaakte Managed Service Identities (MSI) die zijn toegewezen aan de afbeeldingssjabloon, kunnen niet worden gebruikt.

Oplossing

Gebruik Azure CLI om de identiteit van de afbeeldingssjabloon opnieuw in te stellen. Zorg ervoor dat u Azure CLI bijwerkt naar de versie 2.45.0 of hoger.

Bevestig de beheerde identiteit van de doelafbeelding sjabloon voor de image-builder.

az image builder identity show -g <template resource group> -n <template name> 

De beheerde identiteit verwijderen uit de sjabloon voor het bouwen van doelimages

az image builder identity remove -g <template resource group> -n <template name> --user-assigned <identity resource id>

Wijs een nieuwe identiteit toe aan de doelafbeelding bouwer-sjabloon.

az image builder identity assign -g <template rg> -n <template name> --user-assigned <identity resource id>

Zie Vm Image Builder-machtigingen configureren met behulp van de Azure CLI of vm Image Builder-machtigingen configureren met behulp van PowerShell voor meer informatie over het configureren van machtigingen.

Niet gemachtigd om toegang te krijgen tot bron

Fout

Not authorized to access the resource: <resource-not-able-to-access>. Please check the user assigned identity has the correct permissions. For more details, go to https://aka.ms/azvmimagebuilderts.

Oorzaak

De gemaakte Managed Service Identities (MSI) die zijn toegewezen aan de afbeeldingensjabloon, hebben niet alle machtigingen voor toegang tot de resource die in het foutbericht wordt vermeld.

Oplossing

Bevestig de beheerde identiteit van de doelafbeeldingsbouwer-sjabloon

az image builder identity show -g <template resource group> -n <template name> 

Controleer de roltoewijzingen voor de identiteit:

az role assignment list --assignee <identity_client_id_or_principal_id>

Wijs de vereiste rol toe of maak indien nodig uw rol met de vereiste machtigingen.

Zie Vm Image Builder-machtigingen configureren met behulp van de Azure CLI of vm Image Builder-machtigingen configureren met behulp van PowerShell voor meer informatie over het configureren van machtigingen.

De resourcebewerking is voltooid met een terminale inrichtingsstatus van "Mislukt".

Fout

Microsoft.VirtualMachineImages/imageTemplates 'helloImageTemplateforSIG01' failed with message '{
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "InternalOperationError",
        "message": "Internal error occurred."

Oorzaak

In de meeste gevallen treedt de fout bij de resource-implementatie op vanwege ontbrekende machtigingen. Deze fout kan ook worden veroorzaakt door een conflict met de faseringsresourcegroep.

Oplossing

Afhankelijk van uw scenario heeft VM Image Builder mogelijk machtigingen nodig voor:

  • De resourcegroep van de bronafbeelding of Azure Compute Gallery (voorheen Shared Image Gallery).
  • De distributie-image of Azure Compute Gallery-resource.
  • Het opslagaccount, de container of de blob waartoe de File customizer toegang heeft.

Zorg er ook voor dat de naam van de faseringsresourcegroep uniek is opgegeven voor elke afbeeldingssjabloon.

Zie Vm Image Builder-machtigingen configureren met behulp van de Azure CLI of vm Image Builder-machtigingen configureren met behulp van PowerShell voor meer informatie over het configureren van machtigingen.

Fout bij het ophalen van een beheerde afbeelding

Fout

Build (Managed Image) step failed: Error getting Managed Image '/subscriptions/.../providers/Microsoft.Compute/images/mymanagedmg1': Error getting managed image (...): compute.
ImagesClient#Get: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error.
Status=403 Code="AuthorizationFailed" Message="The client '......' with object id '......' doesn't have authorization to perform action 'Microsoft.Compute/images/read' over scope

Oorzaak

Ontbrekende rechten.

Oplossing

Afhankelijk van uw scenario heeft VM Image Builder mogelijk machtigingen nodig voor:

  • De bronafbeelding of Azure Compute Gallery-resourcegroep.
  • De distributie-image of Azure Compute Gallery-resource.
  • Het opslagaccount, de container of de blob waartoe de File customizer toegang heeft.

Zie Vm Image Builder-machtigingen configureren met behulp van de Azure CLI of vm Image Builder-machtigingen configureren met behulp van PowerShell voor meer informatie over het configureren van machtigingen.

De build-stap is mislukt voor de image-versie

Fout

Build (Shared Image Version) step failed for Image Version '/subscriptions/.../providers/Microsoft.Compute/galleries/.../images/... /versions/0.23768.4001': Error getting Image Version '/subscriptions/.../resourceGroups/<rgName>/providers/Microsoft.Compute/galleries/.../images/.../versions/0.23768.4001': Error getting image version '... :0.23768.4001': compute.GalleryImageVersionsClient#Get: Failure responding to request: StatusCode=404 -- Original Error: autorest/azure: Service returned an error.
Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Compute/galleries/.../images/.../versions/0.23768.4001' under resource group '<rgName>' was not found."

Oorzaak

VM Image Builder kan de bronafbeelding niet vinden.

Oplossing

Zorg ervoor dat de bronafbeelding correct is en bestaat op de locatie van VM Image Builder.

Een extern bestand downloaden naar een lokaal bestand

Fout

Downloading external file (<myFile>) to local file (xxxxx.0.customizer.fp) [attempt 1 of 10] failed: Error downloading '<myFile>' to 'xxxxx.0.customizer.fp'..

Oorzaak

De bestandsnaam of locatie is onjuist of de locatie is niet bereikbaar.

Oplossing

Zorg ervoor dat het bestand bereikbaar is. Controleer of de naam en locatie juist zijn.

Autorisatiefout bij het maken van schijf

De Build van Azure Image Builder mislukt met een autorisatiefout die er als volgt uitziet:

Fout

Attempting to deploy created Image template in Azure fails with an 'The client '6df325020-fe22-4e39-bd69-10873965ac04' with object id '6df325020-fe22-4e39-bd69-10873965ac04' does not have authorization to perform action 'Microsoft.Compute/disks/write' over scope '/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/disks/proxyVmDiskWin_<timestamp>' or the scope is invalid. If access was recently granted, please refresh your credentials.'

Oorzaak

Deze fout treedt op wanneer geprobeerd wordt een bestaande resourcegroep en VNet op te geven aan de Azure Image Builder-service met een Windows-bronafbeelding.

Oplossing

U moet de rol van bijdrager toewijzen aan de resourcegroep voor de service principal die overeenkomt met de eigen app van Azure Image Builder door de CLI-opdracht of portalinstructies hieronder te gebruiken.

Controleer eerst of de service-principal is gekoppeld aan de first party-app van Azure Image Builder met behulp van de volgende CLI-opdracht:

az ad sp show --id {servicePrincipalName, or objectId}

Gebruik vervolgens de volgende opdracht om deze oplossing te implementeren met behulp van CLI:

az role assignment create -g {ResourceGroupName} --assignee {AibrpSpOid} --role Contributor

Als u deze oplossing in de portal wilt implementeren, volgt u de instructies in deze documentatie: Azure-rollen toewijzen met behulp van Azure Portal - Azure RBAC.

Voor stap 1: Het benodigde bereik identificeren: het benodigde bereik is uw resourcegroep.

Voor stap 3: Selecteer de juiste rol: De rol is Inzender.

Voor stap 4: selecteren wie toegang nodig heeft: lid 'Azure Virtual Machine Image Builder' selecteren

Ga vervolgens verder met stap 6: Rol toewijzen om de rol toe te wijzen.

Buildfouten oplossen

Voor fouten bij het bouwen van images, haal de fout op van de lastrunstatus en bekijk vervolgens de details in het customization.log-bestand.

az image builder show --name $imageTemplateName  --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName  <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object LastRunStatus, LastRunStatusMessage

Aanpassingslogboek

Livelogs openen tijdens het bouwen van afbeeldingen

Wanneer je de voortgangsbewaking van je image bouwproces effectief wilt uitvoeren, heb je toegang tot de live-logboeken die zijn gegenereerd door Azure Image Builder (AIB) in Azure-containerinstanties (ACI). Deze logboeken bieden realtime inzicht in het buildproces, zodat u eventuele problemen kunt identificeren of kunt bevestigen dat de build naar verwachting verloopt. Volg de onderstaande stappen om deze livelogboeken te zoeken en weer te geven.

  1. Start het bouwen van de installatiekopieën: initiateer het bouwproces van de installatiekopieën.
  2. Navigeer naar resourcegroepen: ga naar de Azure-portal en selecteer "Resourcegroepen." Filter op de abonnementen waarin de build van de installatiekopieën is gestart.
  3. Selecteer de resourcegroep: zoek en selecteer de testomgeving resourcegroep die is gekoppeld aan de image build. Dit is de resourcegroep die de buildresources van de AIB-service bevat. Zie Properties: stagingResourceGroup voor meer informatie over de faseringsresourcegroep.
  4. Zoek de buildcontainer: zoek in deze resourcegroep naar de resource met de naam 'vmimagebuilder-build-container-**********'. Als deze niet zichtbaar is, wacht u enkele minuten en vernieuwt u de pagina.
  5. Toegang tot containerinstellingen: selecteer in het linkerdeelvenster onder 'Instellingen' de optie 'Containers'.
  6. Logboeken weergeven: ga naar het tabblad Logboeken om de livelogboeken weer te geven tijdens het buildproces van de installatiekopieën.

Mocht u geen logboeken zien, probeer dan de container na een paar minuten te verversen.

Het aanpassings- en/of validatielogboek downloaden na het bouwen van de afbeelding.

Zodra de opbouw van het image is voltooid, worden de aanpassings- en validatielogboeken opgeslagen in een container binnen het opslagaccount in de staging-groep die is gemaakt door de VM Image Builder-service. Zie Properties: stagingResourceGroup voor meer informatie over de faseringsresourcegroep.

Notitie

Wanneer u toegang krijgt tot het customization.log of validation.log bestand, is het belangrijk om te weten dat als de afbeeldingsbuild meerdere keren is uitgevoerd, er meerdere mappen binnen de packerlogs container zijn. Deze mappen zijn gerangschikt op volgorde van de oudste build naar de meest recente.

Volg de onderstaande stappen om het customization.log- of validation.log-bestand te zoeken en te downloaden:

  1. Selecteer Opslagaccount: Navigeer in Azure Portal naar het relevante opslagaccount door te filteren op opslagaccounts in de faseringsresourcegroep die is gemaakt door de VM Image Builder-service. Zie Properties: stagingResourceGroup voor meer informatie over de faseringsresourcegroep.
  2. Toegang tot gegevensopslag: ga onder het opslagaccount naar Data Storage.
  3. Open Container: selecteer de optie Container en kies vervolgens de packerlogs container.
  4. Kies de juiste map: binnen de packerlogs container ziet u meerdere mappen als de build van de installatiekopieën meerdere keren is uitgevoerd. Deze mappen zijn gerangschikt van de oudste build naar de meest recente. Selecteer de map die overeenkomt met de build waarin u geïnteresseerd bent.
  5. Download het logboekbestand: selecteer in de geselecteerde map het customization.log en/of validation.log bestand en klik vervolgens op Downloaden om de inhoud ervan te downloaden.

Inzicht in het aanpassingslogboek

Het logboek is gedetailleerd. Het behandelt de build van de installatiekopieën, inclusief eventuele problemen met de distributie van installatiekopieën, zoals replicatie van de Azure Compute Gallery. Deze fouten worden weergegeven in de foutmelding van de afbeeldingssjabloonstatus.

Het customization.log bestand bevat de volgende fasen:

  1. Implementeer de build-VM en afhankelijkheden met behulp van ARM-sjablonen in de IT_ fase van de resourcegroep voor tussenopslag. Deze fase bevat meerdere POST's voor de resourceprovider VM Image Builder:

    Azure request method="POST" request="https://management.azure.com/subscriptions/<subID>/resourceGroups/IT_aibImageRG200_window2019VnetTemplate01_dec33089-1cc3-cccc-cccc-ccccccc/providers/Microsoft.Storage/storageAccounts
    ..
    PACKER OUT ==> azure-arm: Deploying deployment template ...
    ..
    
  2. Status van de implementatiefase . Deze fase bevat de status van elke resource-implementatie:

    PACKER ERR 2020/04/30 23:28:50 packer: 2020/04/30 23:28:50 Azure request method="GET" request="https://management.azure.com/subscriptions/<subID>/resourcegroups/IT_aibImageRG200_window2019VnetTemplate01_dec33089-1cc3-4505-ae28-6661e43fac48/providers/Microsoft.Resources/deployments/pkrdp51lc0339jg/operationStatuses/08586133176207523519?[REDACTED]" body=""
    
  3. Maak verbinding met de fase van de build-VM .

    In Windows maakt VM Image Builder verbinding met behulp van WinRM:

    PACKER ERR 2020/04/30 23:30:50 packer: 2020/04/30 23:30:50 Waiting for WinRM, up to timeout: 10m0s
    ..
    PACKER OUT     azure-arm: WinRM connected.
    

    In Linux maakt VM Image Builder verbinding met behulp van SSH:

    PACKER OUT ==> azure-arm: Waiting for SSH to become available...
    PACKER ERR 2019/12/10 17:20:51 packer: 2020/04/10 17:20:51 [INFO] Waiting for SSH, up to timeout: 20m0s
    PACKER OUT ==> azure-arm: Connected to SSH!
    
  4. Voer de fase Aanpassingen uit . Wanneer aanpassingen worden uitgevoerd, kunt u deze identificeren door het customization.log bestand te bekijken. Zoeken naar telemetrie.

    (telemetry) Starting provisioner windows-update
    (telemetry) ending windows-update
    (telemetry) Starting provisioner powershell
    (telemetry) ending powershell
    (telemetry) Starting provisioner file
    (telemetry) ending file
    (telemetry) Starting provisioner windows-restart
    (telemetry) ending windows-restart
    
    (telemetry) Finalizing. - This means the build hasfinished
    
  5. Deprovisioneren-fase. VM Image Builder voegt een verborgen aanpasser toe. Deze deprovision-stap is verantwoordelijk voor het voorbereiden van de VM op deprovisioning. In Windows wordt het uitgevoerd Sysprep (met behulp van c:\DeprovisioningScript.ps1). In Linux wordt het uitgevoerd waagent-deprovision (met behulp van /tmp/DeprovisioningScript.sh).

    Voorbeeld:

    PACKER ERR 2020/03/04 23:05:04 [INFO] (telemetry) Starting provisioner powershell
    PACKER ERR 2020/03/04 23:05:04 packer: 2020/03/04 23:05:04 Found command: if( TEST-PATH c:\DeprovisioningScript.ps1 ){cat c:\DeprovisioningScript.ps1} else {echo "Deprovisioning script [c:\DeprovisioningScript.ps1] could not be found. Image build may fail or the VM created from the Image may not boot. Please make sure the deprovisioning script is not accidentally deleted by a Customizer in the Template."}
    
  6. Opschoningsfase . Nadat de build is voltooid, worden de VM Image Builder-resources verwijderd.

    PACKER ERR ==> azure-arm: Deleting individual resources ...
    ...
    PACKER ERR 2020/02/04 02:04:23 packer: 2020/02/04 02:04:23 Azure request method="DELETE" request="https://management.azure.com/subscriptions/<subId>/resourceGroups/IT_aibDevOpsImg_t_vvvvvvv_yyyyyy-de5f-4f7c-92f2-xxxxxxxx/providers/Microsoft.Network/networkInterfaces/pkrnijamvpo08eo?[REDACTED]" body=""
    ...
    PACKER ERR ==> azure-arm: The resource group was not created by Packer, not deleting ...
    

Tips voor het oplossen van problemen met scripts of inline-aanpassing

  • Test de code voordat u deze opgeeft aan VM Image Builder.
  • Zorg ervoor dat Azure Policy en Firewall connectiviteit met externe resources toestaan.
  • Uitvoeropmerkingen naar de console met behulp van Write-Host of echo. Hiermee kunt u in het customization.log bestand zoeken.

Veelvoorkomende buildfouten oplossen

De sjabloonimplementatie is mislukt vanwege een schending van het beleid

Fout

{
  "statusCode": "BadRequest",
  "serviceRequestId": null,
  "statusMessage": "{\"error\":{\"code\":\"InvalidTemplateDeployment\",\"message\":\"The template deployment failed because of policy violation. Please see details for more information.\",\"details\":[{\"code\":\"RequestDisallowedByPolicy\",\"target\":\"<target_name>\",\"message\":\"Resource '<resource_name>' was disallowed by policy. Policy identifiers: '[{\\\"policyAssignment\\\":{\\\"name\\\":\\\"[Initiative] KeyVault (Microsoft.KeyVault)\\\",\\\"id\\\":\\\"/providers/Microsoft.Management/managementGroups/<managementGroup_name>/providers/Microsoft.Authorization/policyAssignments/Microsoft.KeyVault\\\"},\\\"policyDefinition\\\":{\\\"name\\\":\\\"Azure Key Vault should disable public network access\\\",\\\"id\\\":\\\"/providers/Microsoft.Management/managementGroups/<managementGroup_name>/providers/Microsoft.Authorization/policyDefinitions/KeyVault.disablePublicNetworkAccess_deny_deny\\\"},\\\"policySetDefinition\\\":{\\\"name\\\":\\\"[Initiative] KeyVault (Microsoft.KeyVault)\\\",\\\"id\\\":\\\"/providers/Microsoft.Management/managementGroups/<managementGroup_name>/providers/Microsoft.Authorization/policySetDefinitions/Microsoft.KeyVault\\\"}}]'.\",\"additionalInfo\":[{\"type\":\"PolicyViolation\"}]}]}}",
  "eventCategory": "Administrative",
  "entity": "/subscriptions/<subscription_ID>/<resourcegroups>/<resourcegroupname>/providers/Microsoft.Resources/deployments/<deployment_name>",
  "message": "Microsoft.Resources/deployments/validate/action",
  "hierarchy": "<subscription_ID>/<resourcegroupname>/<policy_name>/<managementGroup_name>/<deployment_ID>"
}

Oorzaak

De bovenstaande beleidsschendingsfout is het gevolg van het gebruik van een Azure Key Vault met openbare toegang uitgeschakeld. Op dit moment biedt Azure Image Builder geen ondersteuning voor deze configuratie.

Oplossing

De Azure Key Vault moet worden gemaakt met openbare toegang ingeschakeld.

Fout in Packer-buildopdracht

Fout

  "provisioningState": "Succeeded",
  "lastRunStatus": {
   "startTime": "2020-04-30T23:24:06.756985789Z",
   "endTime": "2020-04-30T23:39:14.268729811Z",
   "runState": "Failed",
   "message": "Failed while waiting for packerizer: Microservice has failed: Failed while processing request: Error when executing packerizer: Packer build command has failed: exit status 1. During the image build, a failure has occurred, please review the build log to identify which build/customization step failed. For more troubleshooting steps go to https://aka.ms/azvmimagebuilderts. Image Build log location: https://xxxxxxxxxx.blob.core.windows.net/packerlogs/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/customization.log. OperationId: xxxxxx-5a8c-4379-xxxx-8d85493bc791. Use this operationId to search packer logs."

Oorzaak

Aanpassingsfout.

Oplossing

Bekijk het logboek om aanpasserfouten te vinden. Zoek naar (telemetrie).

Voorbeeld:

(telemetry) Starting provisioner windows-update
(telemetry) ending windows-update
(telemetry) Starting provisioner powershell
(telemetry) ending powershell
(telemetry) Starting provisioner file
(telemetry) ending file
(telemetry) Starting provisioner windows-restart
(telemetry) ending windows-restart

(telemetry) Finalizing. - This means the build has finished

Time-out overschreden

Fout

Deployment failed. Correlation ID: xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx. Failed in building/customizing image: Failed while waiting for packerizer: Timeout waiting for microservice to complete: 'context deadline exceeded'

Oorzaak

De build heeft de time-out van de build overschreden. Deze fout wordt weergegeven in de lastrunstatus.

Oplossing

  1. Controleer het bestand customization.log . Identificeer de laatste aanpasser die moet worden uitgevoerd. Zoek (telemetrie), beginnend onderaan in het logboek.

  2. Controleer de scriptaanpassingen. De aanpassingen onderdrukken mogelijk geen gebruikersinteractie voor opdrachten, zoals quiet opties. Bijvoorbeeld, apt-get install -y resulteert in de uitvoering van het script dat wacht op interactie van de gebruiker.

  3. Als u de aanpasser gebruikt om artefacten van meer dan 20 MB te downloaden, raadpleegt u de File sectie Tijdelijke oplossingen.

  4. Controleer fouten en afhankelijkheden in het script waardoor het script kan wachten.

  5. Als u verwacht dat de aanpassingen meer tijd nodig hebben, verhoogt u de waarde van buildTimeoutInMinutes. De standaardwaarde is 4 uur.

  6. Als u resource-intensieve acties hebt, zoals het downloaden van gigabytes (GB) aan bestanden, kunt u de onderliggende grootte van de build-VM overwegen. De service maakt gebruik van een Standard_D1_v2 VM. De VM heeft 1 vCPU en 3,5 GB geheugen. Als u 50 GB downloadt, zult u waarschijnlijk de VM-resources uitputten en communicatiefouten veroorzaken tussen VM Image Builder en de build-VM. Voer de build opnieuw uit met een VM met een groter geheugen door de VM_size in te stellen.

Lange downloadtijd voor bestanden

Fout

[086cf9c4-0457-4e8f-bfd4-908cfe3fe43c] PACKER OUT
myBigFile.zip 826 B / 826000 B  1.00%
[086cf9c4-0457-4e8f-bfd4-908cfe3fe43c] PACKER OUT
myBigFile.zip 1652 B / 826000 B  2.00%
[086cf9c4-0457-4e8f-bfd4-908cfe3fe43c] PACKER OUT
..
hours later...
..
myBigFile.zip 826000 B / 826000 B  100.00%
[086cf9c4-0457-4e8f-bfd4-908cfe3fe43c] PACKER OUT

Oorzaak

File customizer downloadt een groot bestand.

Oplossing

File customizer is alleen geschikt voor kleine (minder dan 20 MB) bestandsdownloads. Voor grotere bestandsdownloads gebruikt u een script of inline-opdracht. In Linux kunt u bijvoorbeeld gebruiken wget of curl. In Windows kunt u Invoke-WebRequest gebruiken.

De opbouwer kan Windows niet voortdurend opnieuw opstarten met foutcode 1190.

Fout

[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] (telemetry) Starting provisioner windows-restart
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-plugin-azure plugin: 2023/06/13 08:28:58 [INFO] starting remote command: shutdown /r /f /t 10
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-plugin-azure plugin: 2023/06/13 08:28:58 [INFO] command 'shutdown /r /f /t 10' exited with code: 0
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER OUT ==> azure-arm: A system shutdown has already been scheduled.(1190)
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-plugin-azure plugin: 2023/06/13 08:28:58 [INFO] RPC endpoint: Communicator ended with: 0
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] 0 bytes written for 'stdout'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] 0 bytes written for 'stderr'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] RPC client: Communicator ended with: 0
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] RPC endpoint: Communicator ended with: 0
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: [INFO] 0 bytes written for 'stdout'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: [INFO] 0 bytes written for 'stderr'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: [INFO] RPC client: Communicator ended with: 0
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: Check if machine is rebooting...
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-plugin-azure plugin: 2023/06/13 08:28:58 [INFO] starting remote command: shutdown /r /f /t 60 /c "packer restart test"
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-plugin-azure plugin: 2023/06/13 08:28:58 [INFO] command 'shutdown /r /f /t 60 /c "packer restart test"' exited with code: 1190
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-plugin-azure plugin: 2023/06/13 08:28:58 [INFO] RPC endpoint: Communicator ended with: 1190
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] 52 bytes written for 'stderr'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] 0 bytes written for 'stdout'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] RPC client: Communicator ended with: 1190
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 [INFO] RPC endpoint: Communicator ended with: 1190
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: [INFO] 52 bytes written for 'stderr'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: [INFO] 0 bytes written for 'stdout'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: [INFO] RPC client: Communicator ended with: 1190
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:28:58 packer-provisioner-windows-restart plugin: Reboot already in progress, waiting...
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:29:08 packer-provisioner-windows-restart plugin: Check if machine is rebooting...
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:29:09 [INFO] 0 bytes written for 'stderr'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:29:09 packer-provisioner-windows-restart plugin: [INFO] 0 bytes written for 'stderr'
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:29:09 packer-provisioner-windows-restart plugin: Waiting for machine to reboot with timeout: 15m0s
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:29:09 packer-provisioner-windows-restart plugin: Waiting for machine to become available...
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER OUT ==> Some builds didn't complete successfully and had errors:
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:46:26 machine readable: azure-arm,error []string{"Timeout waiting for machine to restart."}
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER OUT --> azure-arm: Timeout waiting for machine to restart.
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR ==> Builds finished but no artifacts were created.
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER OUT
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER ERR 2023/06/13 08:46:26 [INFO] (telemetry) Finalizing.
[864c0337-b300-48ab-8e8e-7894bc695b7c] PACKER OUT ==> Builds finished but no artifacts were created.

Oorzaak

De Windows Update-stap wordt voortijdig afgerond in installatiekopieën gebaseerd op Windows Server 2016.

Oplossing

Verhoog restartTimeout van 15 minuten naar 30 minuten.

Fout

Deployment failed. Correlation ID: XXXXXX-XXXX-XXXXXX-XXXX-XXXXXX. Failed in distributing 1 images out of total 1: {[Error 0] [Distribute 0] Error publishing MDI to Azure Compute Gallery:/subscriptions/<subId>/resourceGroups/xxxxxx/providers/Microsoft.Compute/galleries/xxxxx/images/xxxxxx, Location:eastus. Error: Error returned from SIG client while publishing MDI to Azure Compute Gallery for dstImageLocation: eastus, dstSubscription: <subId>, dstResourceGroupName: XXXXXX, dstGalleryName: XXXXXX, dstGalleryImageName: XXXXXX. Error: Error waiting on Azure Compute Gallery future for resource group: XXXXXX, gallery name: XXXXXX, gallery image name: XXXXXX.Error: Future#WaitForCompletion: context has been cancelled: StatusCode=200 -- Original Error: context deadline exceeded}

Oorzaak

De VM Image Builder is in time-out geraakt terwijl hij wachtte tot de installatiekopieën waren toegevoegd en gerepliceerd naar de Azure Compute Gallery. Als de afbeelding in de galerie wordt geïnjecteerd, kunt u ervan uitgaan dat de build van de afbeelding is geslaagd. Het algehele proces is echter mislukt omdat VM Image Builder wachtte op azure Compute Gallery om de replicatie te voltooien. Hoewel de build is mislukt, wordt de replicatie voortgezet. U kunt de eigenschappen van de afbeeldingsversie ophalen door de distributie van runOutput te controleren.

$runOutputName=<distributionRunOutput>
az resource show \
    --ids "/subscriptions/$subscriptionID/resourcegroups/$imageResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/$imageTemplateName/runOutputs/$runOutputName"  \
    --api-version=2020-02-14

Oplossing

Verhoog de waarde van buildTimeoutInMinutes.

Gebeurtenissen met weinig Windows-resourcegegevens

Fout

[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT     azure-arm: Waiting for operation to complete (system performance: 1% cpu; 37% memory)...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT     azure-arm: Waiting for operation to complete (system performance: 51% cpu; 35% memory)...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT     azure-arm: Waiting for operation to complete (system performance: 21% cpu; 37% memory)...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT     azure-arm: Waiting for operation to complete (system performance: 21% cpu; 36% memory)...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT     azure-arm: Waiting for operation to complete (system performance: 90% cpu; 32% memory)...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT     azure-arm: Waiting for the Windows Modules Installer to exit...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer: 2020/04/30 23:38:58 [INFO] command 'PowerShell -ExecutionPolicy Bypass -OutputFormat Text -File C:/Windows/Temp/packer-windows-update-elevated.ps1' exited with code: 101
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT ==> azure-arm: Restarting the machine...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer: 2020/04/30 23:38:58 [INFO] RPC endpoint: Communicator ended with: 101
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] 1672 bytes written for 'stdout'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] 0 bytes written for 'stderr'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] RPC client: Communicator ended with: 101
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] RPC endpoint: Communicator ended with: 101
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT ==> azure-arm: Waiting for machine to become available...
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer-provisioner-windows-update: 2020/04/30 23:38:58 [INFO] 1672 bytes written for 'stdout'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer-provisioner-windows-update: 2020/04/30 23:38:58 [INFO] 0 bytes written for 'stderr'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer-provisioner-windows-update: 2020/04/30 23:38:58 [INFO] RPC client: Communicator ended with: 101
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer: 2020/04/30 23:38:58 [INFO] starting remote command: shutdown.exe -f -r -t 0 -c "packer restart"
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer: 2020/04/30 23:38:58 [INFO] command 'shutdown.exe -f -r -t 0 -c "packer restart"' exited with code: 0
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer: 2020/04/30 23:38:58 [INFO] RPC endpoint: Communicator ended with: 0
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] 0 bytes written for 'stderr'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] 0 bytes written for 'stdout'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT ==> azure-arm: A system shutdown is in progress.(1115)
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] RPC client: Communicator ended with: 0
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 [INFO] RPC endpoint: Communicator ended with: 0
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer-provisioner-windows-update: 2020/04/30 23:38:58 [INFO] 0 bytes written for 'stdout'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer-provisioner-windows-update: 2020/04/30 23:38:58 [INFO] 0 bytes written for 'stderr'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:58 packer-provisioner-windows-update: 2020/04/30 23:38:58 [INFO] RPC client: Communicator ended with: 0
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer: 2020/04/30 23:38:59 [INFO] starting remote command: shutdown.exe -f -r -t 60 -c "packer restart test"
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer: 2020/04/30 23:38:59 [INFO] command 'shutdown.exe -f -r -t 60 -c "packer restart test"' exited with code: 1115
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer: 2020/04/30 23:38:59 [INFO] RPC endpoint: Communicator ended with: 1115
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 [INFO] 0 bytes written for 'stdout'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 [INFO] 40 bytes written for 'stderr'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 [INFO] RPC client: Communicator ended with: 1115
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 [INFO] RPC endpoint: Communicator ended with: 1115
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer-provisioner-windows-update: 2020/04/30 23:38:59 [INFO] 40 bytes written for 'stderr'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer-provisioner-windows-update: 2020/04/30 23:38:59 [INFO] 0 bytes written for 'stdout'
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer-provisioner-windows-update: 2020/04/30 23:38:59 [INFO] RPC client: Communicator ended with: 1115
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER ERR 2020/04/30 23:38:59 packer-provisioner-windows-update: 2020/04/30 23:38:59 Retryable error: Machine not yet available (exit status 1115)
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT Build 'azure-arm' errored: unexpected EOF
[45f485cf-5a8c-4379-9937-8d85493bc791] PACKER OUT

Oorzaak

Uitputting van middelen. Dit probleem wordt vaak gezien wanneer Windows Update wordt uitgevoerd met de standaardgrootte van de build-VM D1_V2.

Oplossing

Verhoog de grootte van de build-VM.

De build is voltooid, maar er zijn geen artefacten gemaakt

Waarschuwing

[<log_id>] PACKER 2023/09/14 19:01:18 ui: Build 'azure-arm' finished after 3 minutes 13 seconds.
[<log_id>] PACKER 2023/09/14 19:01:18 ui:
[<log_id>] PACKER ==> Wait completed after 3 minutes 13 seconds
[<log_id>] PACKER 2023/09/14 19:01:18 ui:
[<log_id>] PACKER ==> Builds finished but no artifacts were created.
[<log_id>] PACKER 2023/09/14 19:01:18 [INFO] (telemetry) Finalizing.
[<log_id>] PACKER 2023/09/14 19:01:19 waiting for all plugin processes to complete...
[<log_id>] PACKER 2023/09/14 19:01:19 /aib/packerInput/packer-plugin-azure: plugin process exited
[<log_id>] PACKER 2023/09/14 19:01:19 /aib/packerInput/packer: plugin process exited
[<log_id>] PACKER 2023/09/14 19:01:19 /aib/packerInput/packer: plugin process exited
[<log_id>] PACKER 2023/09/14 19:01:19 /aib/packerInput/packer: plugin process exited
[<log_id>] PACKER Done exporting Packer logs to Azure Storage.

Oplossing

De bovenstaande waarschuwing kan veilig worden genegeerd.

Het overslaan van het maken van een image

Waarschuwing

[<log_id>] PACKER 2023/09/14 19:00:18 ui: ==> azure-arm:  -> Snapshot ID : '/subscriptions/<subscription_id>/resourceGroups/<resourcegroup_name>/providers/Microsoft.Compute/snapshots/<snapshot_name>'
[<log_id>] PACKER 2023/09/14 19:00:18 ui: ==> azure-arm: Skipping image creation...
[<log_id>] PACKER 2023/09/14 19:00:18 ui: ==> azure-arm:
[<log_id>] PACKER ==> azure-arm: Deleting individual resources ...
[<log_id>] PACKER 2023/09/14 19:00:18 packer-plugin-azure plugin: 202

Oplossing

De bovenstaande waarschuwing kan veilig worden genegeerd.

Bron niet gevonden

Fout

  "provisioningState": "Succeeded",
  "lastRunStatus": {
   "startTime": "2020-05-01T00:13:52.599326198Z",
   "endTime": "2020-05-01T00:15:13.62366898Z",
   "runState": "Failed",
   "message": "network.InterfacesClient#UpdateTags: Failure responding to request: StatusCode=404 -- Original Error: autorest/azure: Service returned an error. Status=404 Code=\"ResourceNotFound\" Message=\"The Resource 'Microsoft.Network/networkInterfaces/aibpls7lz2e.nic.4609d697-be0a-4cb0-86af-49b6fe877fe1' under resource group 'IT_aibImageRG200_window2019VnetTemplate01_9988723b-af56-413a-9006-84130af0e9df' was not found.\""
  },

Oorzaak

Ontbrekende toestemmingen.

Oplossing

Controleer het opnieuw om ervoor te zorgen dat VM Image Builder alle machtigingen heeft die nodig zijn.

Zie Vm Image Builder-machtigingen configureren met behulp van de Azure CLI of vm Image Builder-machtigingen configureren met behulp van PowerShell voor meer informatie over het configureren van machtigingen.

Sysprep timing

Fout

[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: Write-Output '>>> Waiting for GA Service (RdAgent) to start ...'
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: while ((Get-Service RdAgent) -and ((Get-Service RdAgent).Status -ne 'Running')) { Start-Sleep -s 5 }
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: Write-Output '>>> Waiting for GA Service (WindowsAzureTelemetryService) to start ...'
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: while ((Get-Service WindowsAzureTelemetryService) -and ((Get-Service WindowsAzureTelemetryService).Status -ne 'Running')) { Start-Sleep -s 5 }
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: Write-Output '>>> Waiting for GA Service (WindowsAzureGuestAgent) to start ...'
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: while ((Get-Service WindowsAzureGuestAgent) -and ((Get-Service WindowsAzureGuestAgent).Status -ne 'Running')) { Start-Sleep -s 5 }
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: Write-Output '>>> Sysprepping VM ...'
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: if( Test-Path $Env:SystemRoot\system32\Sysprep\unattend.xml ) {
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm:   Remove-Item $Env:SystemRoot\system32\Sysprep\unattend.xml -Force
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: }
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: & $Env:SystemRoot\System32\Sysprep\Sysprep.exe /oobe /generalize /quiet /quit
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: while($true) {
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm:   $imageState = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State).ImageState
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm:   Write-Output $imageState
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm:   if ($imageState -eq 'IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE') { break }
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm:   Start-Sleep -s 5
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: }
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: Write-Output '>>> Sysprep complete ...'
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: >>> Waiting for GA Service (RdAgent) to start ...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: >>> Waiting for GA Service (WindowsAzureTelemetryService) to start ...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: >>> Waiting for GA Service (WindowsAzureGuestAgent) to start ...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: >>> Sysprepping VM ...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_COMPLETE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm: Get-Service : Cannot find any service with service name 'WindowsAzureGuestAgent'.
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm: At C:\DeprovisioningScript.ps1:6 char:9
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm: + while ((Get-Service WindowsAzureGuestAgent) -and ((Get-Service Window ...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm: +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm:     + CategoryInfo          : ObjectNotFound: (WindowsAzureGuestAgent:String) [Get-Service], ServiceCommandException
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm:     + FullyQualifiedErrorId : NoServiceFoundForGivenName,Microsoft.PowerShell.Commands.GetServiceCommand
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm:
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT     azure-arm: IMAGE_STATE_UNDEPLOYABLE
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER ERR 2020/05/05 22:26:17 Cancelling builder after context cancellation context canceled
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT Cancelling build after receiving terminated
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER ERR 2020/05/05 22:26:17 packer: 2020/05/05 22:26:17 Cancelling provisioning due to context cancellation: context canceled
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm:
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER ERR 2020/05/05 22:26:17 packer: 2020/05/05 22:26:17 Cancelling hook after context cancellation context canceled
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER OUT ==> azure-arm: The resource group was not created by Packer, deleting individual resources ...
[922bdf36-b53c-4e78-9cd8-6b70b9674685] PACKER ERR ==> azure-arm: The resource group was not created by Packer, deleting individual resources ...

Oorzaak

De oorzaak kan een timingprobleem zijn vanwege de D1_V2 VM-grootte. Als aanpassingen beperkt zijn en in minder dan drie seconden worden uitgevoerd, worden opdrachten door VM Image Builder uitgevoerd om deprovisioning uit te voeren. Wanneer deprovisioning door VM Image Builder plaatsvindt, controleert de Sysprep-opdracht op de WindowsAzureGuestAgent, die mogelijk niet volledig is geïnstalleerd en het timingprobleem kan veroorzaken.

Oplossing

Om het timingprobleem te voorkomen, kunt u de VM-grootte vergroten of een aanpassing van de PowerShell-slaapstand van 60 seconden toevoegen.

Niet-geregistreerde Azure Container Instances-provider

Fout

Azure Container Instances provider not registered for your subscription.

Oorzaak

Voor uw sjabloonabonnement is de Azure Container Instances-provider niet geregistreerd.

Oplossing

Registreer de Azure Container Instances-provider voor uw sjabloonabonnement en voeg de Azure CLI- of PowerShell-opdrachten toe:

  • Azure CLI: az provider register -n Microsoft.ContainerInstance
  • PowerShell: Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance

Quotum voor Azure Container Instances is overschreden

Fout

Azure Container Instances quota exceeded"

Oorzaak

Uw abonnement heeft onvoldoende Azure Container Instances (ACI)-quotum waardoor Azure Image Builder geen installatiekopie kan bouwen.

Oplossing

U kunt het volgende doen om ACI-quota beschikbaar te maken voor Azure Image Builder:

  • Zoek naar ander gebruik van Azure Container Instances in uw abonnement en verwijder overbodige exemplaren om quota beschikbaar te maken voor Azure Image Builder.
  • Azure Image Builder implementeert ACI slechts tijdelijk terwijl er een build plaatsvindt. Deze exemplaren worden verwijderd zodra de build is afgerond. Als er te veel gelijktijdige image-builds worden uitgevoerd in uw abonnement, kunt u overwegen een aantal ervan uit te stellen. Dit vermindert het gelijktijdige gebruik van ACI in uw abonnement. Als uw afbeeldingssjablonen zijn ingesteld voor automatische image builds met behulp van triggers, worden dergelijke mislukte builds automatisch opnieuw geprobeerd door Azure Image Builder.
  • Als de huidige ACI-limieten voor uw abonnement te laag zijn om uw scenario's voor het bouwen van afbeeldingen te ondersteunen, kunt u een verhoging van uw ACI-quotum aanvragen.

Notitie

ACI-resources zijn vereist voor geïsoleerde installatiekopieën.

Te veel Azure Container Instances die binnen een bepaalde periode zijn geïmplementeerd

Fout

'Te veel Azure Container Instances geïmplementeerd binnen een bepaalde periode'

Oorzaak

Uw abonnement heeft onvoldoende Azure Container Instances-quotum (ACI) voor Azure Image Builder om gelijktijdig installatiekopieën te bouwen.

Oplossing

U kunt het volgende doen:

  • Voer de mislukte builds op een minder gelijktijdige manier opnieuw uit.
  • Als de huidige ACI-limieten voor uw abonnement te laag zijn om uw scenario's voor het bouwen van afbeeldingen te ondersteunen, kunt u een verhoging van uw ACI-quotum aanvragen.

Buildfout bij geïsoleerde afbeelding

Fout

Azure Image Builder-builds mislukken door geïsoleerde Image Build.

Oorzaak

Builds van Azure Image Builder kunnen mislukken om redenen die elders in dit document worden vermeld. Er is echter een kleine kans dat een build mislukt vanwege geïsoleerde builds van installatiekopieën, afhankelijk van uw scenario, abonnementsquota of een onverwachte servicefout. Zie Isolated Image Builds voor meer informatie.

Oplossing

Als u vaststelt dat een build mislukt vanwege geïsoleerde builds van software-installatiekopieën, kunt u het volgende doen:

  • Zorg ervoor dat er geen Azure Policy is die de implementatie van de in de Vereisten-sectie vermelde middelen blokkeert, met name Azure Container Instances.
  • Zorg ervoor dat uw abonnement voldoende quotum van Azure Container Instances heeft om al uw gelijktijdige afbeelding-bouwprocessen te ondersteunen. Zie voor meer informatie het quotum voor Azure Container Instances overschreden.

Azure Image Builder is momenteel bezig met het implementeren van geïsoleerde image builds. Specifieke imagesjablonen zijn niet verbonden aan geïsoleerde image builds en dezelfde imagesjabloon kan al dan niet gebruikmaken van geïsoleerde image builds tijdens verschillende builds. U kunt het volgende doen om uw build tijdelijk uit te voeren zonder geïsoleerde image builds.

  • Probeer de build opnieuw uit te voeren. Omdat afbeeldingssjablonen niet zijn gekoppeld aan de functie Geïsoleerde installatiekopiebuilds, is de kans groot dat het herstarten van een build plaatsvindt zonder gebruik van Geïsoleerde installatiekopiebuilds.

Als geen van deze oplossingen mislukte installatiekopieën beperkt, kunt u contact opnemen met Azure-ondersteuning om uw abonnement tijdelijk uit te schrijven voor geïsoleerde installatiekopieën. Voor meer informatie, zie Maak een Azure-ondersteuningsverzoek aan.

Notitie

Geïsoleerde image builds worden op termijn ingeschakeld in alle regio's en sjablonen. De bovenstaande maatregelen moeten dus worden beschouwd als tijdelijk en de onderliggende oorzaak van de buildfouten moet worden opgelost.

De build wordt geannuleerd nadat de annuleringscontext is geannuleerd.

Fout

PACKER ERR 2020/03/26 22:11:23 Cancelling builder after context cancellation context canceled
PACKER OUT Cancelling build after receiving terminated
PACKER ERR 2020/03/26 22:11:23 packer-builder-azure-arm plugin: Cancelling hook after context cancellation context canceled
..
PACKER ERR 2020/03/26 22:11:23 packer-builder-azure-arm plugin: Cancelling provisioning due to context cancellation: context canceled
PACKER ERR 2020/03/26 22:11:25 packer-builder-azure-arm plugin: [ERROR] Remote command exited without exit status or exit signal.
PACKER ERR 2020/03/26 22:11:25 packer-builder-azure-arm plugin: [INFO] RPC endpoint: Communicator ended with: 2300218
PACKER ERR 2020/03/26 22:11:25 [INFO] 148974 bytes written for 'stdout'
PACKER ERR 2020/03/26 22:11:25 [INFO] 0 bytes written for 'stderr'
PACKER ERR 2020/03/26 22:11:25 [INFO] RPC client: Communicator ended with: 2300218
PACKER ERR 2020/03/26 22:11:25 [INFO] RPC endpoint: Communicator ended with: 2300218

Oorzaak

VM Image Builder maakt gebruik van poort 22 (Linux) of 5986 (Windows) om verbinding te maken met de build-VM. Dit gebeurt wanneer de service tijdens een afbeeldingsopbouw wordt losgekoppeld van de build-VM. De redenen voor de verbroken verbinding kunnen variëren, maar het inschakelen of configureren van een firewall in het script kan de eerder genoemde poorten blokkeren.

Oplossing

Controleer uw scripts voor firewallwijzigingen of inschakeling, of wijzigingen in SSH of WinRM, en zorg ervoor dat eventuele wijzigingen een constante connectiviteit tussen de service en de build-VM op de eerder genoemde poorten mogelijk maken. Zie netwerkopties voor VM Image Builder voor meer informatie.

JWT-fouten in logboek vroeg in de build

Fout

Vroeg in het buildproces mislukt de build en het logboek geeft een JSON Web Token-fout (JWT) aan:

PACKER OUT Error: Failed to prepare build: "azure-arm"
PACKER ERR
PACKER OUT
PACKER ERR * client_jwt will expire within 5 minutes, please use a JWT that is valid for at least 5 minutes
PACKER OUT 1 error(s) occurred:

Oorzaak

De buildTimeoutInMinutes waarde in de sjabloon is ingesteld op van 1 tot 5 minuten.

Oplossing

Zoals beschreven in een sjabloon voor het maken van een VM Image Builder, moet de time-out zijn ingesteld op 0 om de standaardwaarde te gebruiken of op meer dan 5 minuten om de standaardwaarde te overschrijven. Wijzig de time-out in uw sjabloon in 0 om de standaardwaarde of minimaal zes minuten te gebruiken.

Fouten bij het verwijderen van resources

Fout

Tussenliggende resources worden opgeschoond aan het einde van de build en in het aanpassingslogboek kunnen verschillende fouten bij het verwijderen van resources worden weergegeven:

PACKER OUT ==> azure-arm: Error deleting resource. Will retry.
...
PACKER OUT ==> azure-arm: Error: network.PublicIPAddressesClient#Delete: Failure sending request: StatusCode=0 -- Original Error: Code="PublicIPAddressCannotBeDeleted" Message=...
...
PACKER ERR 2022/03/07 18:43:06 packer-plugin-azure plugin: 2022/03/07 18:43:06 Retryable error: network.SecurityGroupsClient#Delete: Failure sending request: StatusCode=0 -- Original Error: Code="InUseNetworkSecurityGroupCannotBeDeleted"...

Oorzaak

Deze foutberichten zijn meestal ongevaarlijk, omdat resourceverwijderingen meerdere keren opnieuw worden geprobeerd en meestal slagen ze uiteindelijk. U kunt dit controleren door de verwijderingslogboeken te volgen totdat u een bericht ziet dat het is gelukt. U kunt ook de testomgevingsresourcegroep inspecteren om te bevestigen of de resource is verwijderd.

Het maken van deze waarnemingen is vooral belangrijk bij buildfouten, waarbij deze foutberichten u kunnen leiden tot de conclusie dat ze de reden zijn voor de fouten, zelfs wanneer de werkelijke fouten zich elders kunnen bevinden.

Fout

Wanneer afbeeldingen vastzitten in het verwijderen van sjablonen, kan in het aanpassingslogboek de onderstaande fout worden weergegeven:

error deleting resource id /subscriptions/<subscriptionID>/resourceGroups/<rgName>/providers/Microsoft.Network/networkInterfaces/<networkInterfacName>: resources.Client#DeleteByID: Failure sending request: StatusCode=400 --
Original Error: Code="NicInUseWithPrivateEndpoint"
Message="Network interface /subscriptions/<subscriptionID>/resourceGroups/<rgName>/providers/Microsoft.Network/networkInterfaces/<networkInterfacName> cannot be deleted because it is currently in use with an private endpoint (/subscriptions/<subscriptionID>/resourceGroups/<rgName>/providers/Microsoft.Network/privateEndpoints/<pIname>)." Details=[]

Oorzaak

De fout treedt op omdat de netwerkinterface momenteel wordt gebruikt met een privé-eindpunt.

Oplossing

Als u het probleem wilt oplossen, verwijdert u de onderstaande resources één voor één in de specifieke volgorde:

  1. Privé-eindpuntverbinding. U vindt dit in de private link-serviceresource door naar het tabblad Privé-eindpuntverbindingen te gaan op de resourcepagina van de Private Link-service.
  2. Privatelinkservice.
  3. Netwerkinterface en belastingverdeler.
  4. Resourcegroep.
  5. Afbeeldingssjabloon.

Voor meer hulp kunt u contact opnemen met ondersteuning voor Azure om de vastgelopen verwijderingsfout op te lossen.

Doel distribueren is niet gevonden in de updateaanvraag

Fout

Validation failed: Distribute target with Runoutput name <runoutputname> not found in the update request. Deleting a distribution target is not allowed.

Oorzaak

Deze fout treedt op wanneer een bestaand distributiedoel niet wordt gevonden in de hoofdtekst van de patchaanvraag.

Oplossing

De distributiematrix moet alle distributiedoelen bevatten: nieuwe doelen (indien aanwezig), bestaande doelen zonder wijziging en bijgewerkte doelen. Als u een bestaand distributiedoel wilt verwijderen, verwijdert en maakt u de afbeeldingssjabloon opnieuw omdat het verwijderen van een distributiedoel momenteel niet wordt ondersteund via de Patch-API.

Vereiste velden ontbreken

Fout

Validation failed: 'ImageTemplate.properties.distribute[<index>]': Missing field <fieldname>. Please review http://aka.ms/azvmimagebuildertmplref for details on fields required in the Image Builder Template.

Oorzaak

Deze fout treedt op wanneer een vereist veld ontbreekt in een distributiedoel.

Oplossing

Geef bij het maken van een aanvraag elk vereist veld in een distributiedoel op, zelfs als er geen wijziging is.

DevOps-taken

Problemen met de taak oplossen

De taak mislukt alleen als er een fout optreedt tijdens het aanpassen. Wanneer dit gebeurt, rapporteert de taak de fout en verlaat de faseringsresourcegroep, met de logboeken, zodat u het probleem kunt identificeren.

Als u het logboek wilt vinden, moet u de naam van de sjabloon weten. Ga naar pijplijn>mislukte build en zoom vervolgens in op de DevOps-taak VM Image Builder.

U ziet het logboek en de naam van een sjabloon:

start reading task parameters...
found build at:  /home/vsts/work/r1/a/_ImageBuilding/webapp
end reading parameters
getting storage account details for aibstordot1556933914
created archive /home/vsts/work/_temp/temp_web_package_21475337782320203.zip
Source for image:  { type: 'SharedImageVersion',
  imageVersionId: '/subscriptions/<subscriptionID>/resourceGroups/<rgName>/providers/Microsoft.Compute/galleries/<galleryName>/images/<imageDefName>/versions/<imgVersionNumber>' }
template name:  t_1556938436xxx
  1. Ga naar de Azure-portal, zoek de sjabloonnaam in de resourcegroep en zoek vervolgens naar de resourcegroep door IT_* te typen.
  2. Selecteer de opslagaccountnaam >blobs>containers>logboeken.

Problemen met geslaagde builds oplossen

Mogelijk moet u af en toe succesvolle builds onderzoeken en hun logboeken controleren. Zoals eerder vermeld, wordt, als het maken van het installatiekopiebestand succesvol is, de staging resourcegroep die de logboeken bevat, verwijderd als onderdeel van het opruimen. Als u echter een automatische opschoning wilt voorkomen, kunt u een sleep na de inline-opdracht introduceren en vervolgens de logboeken weergeven terwijl de build is onderbroken. U kunt dit als volgt doen:

  1. Werk de inline-opdracht bij door Write-Host/Echo "Sleep" toe te voegen. Dit geeft u de tijd om in het logboek te zoeken.
  2. Voeg een sleep waarde van ten minste 10 minuten toe met behulp van een Start-Sleep - of Sleep Linux-opdracht.
  3. Gebruik deze methode om de locatie van het logboek te identificeren en blijf het logboek downloaden of controleren totdat het logboek sleep bereikt.

Bewerking is geannuleerd

Fout

2020-05-05T18:28:24.9280196Z ##[section]Starting: Azure VM Image Builder Task
2020-05-05T18:28:24.9609966Z ==============================================================================
2020-05-05T18:28:24.9610739Z Task         : Azure VM Image Builder Test
2020-05-05T18:28:24.9611277Z Description  : Build images using Azure Image Builder resource provider.
2020-05-05T18:28:24.9611608Z Version      : 1.0.18
2020-05-05T18:28:24.9612003Z Author       : Microsoft Corporation
2020-05-05T18:28:24.9612718Z Help         : For documentation, and end to end example, please visit: http://aka.ms/azvmimagebuilderdevops
2020-05-05T18:28:24.9613390Z ==============================================================================
2020-05-05T18:28:26.0651512Z start reading task parameters...
2020-05-05T18:28:26.0673377Z found build at:  d:\a\r1\a\_AppsAndImageBuilder\webApp
2020-05-05T18:28:26.0708785Z end reading parameters
2020-05-05T18:28:26.0745447Z getting storage account details for aibstagstor1565047758
2020-05-05T18:28:29.8812270Z created archive d:\a\_temp\temp_web_package_09737279437949953.zip
2020-05-05T18:28:33.1568013Z Source for image:  { type: 'PlatformImage',
2020-05-05T18:28:33.1584131Z   publisher: 'MicrosoftWindowsServer',
2020-05-05T18:28:33.1585965Z   offer: 'WindowsServer',
2020-05-05T18:28:33.1592768Z   sku: '2016-Datacenter',
2020-05-05T18:28:33.1594191Z   version: '14393.3630.2004101604' }
2020-05-05T18:28:33.1595387Z template name:  t_1588703313152
2020-05-05T18:28:33.1597453Z starting put template...
2020-05-05T18:28:52.9278603Z put template:  Succeeded
2020-05-05T18:28:52.9281282Z starting run template...
2020-05-05T19:33:14.3923479Z ##[error]The operation was canceled.
2020-05-05T19:33:14.3939721Z ##[section]Finishing: Azure VM Image Builder Task

Oorzaak

Als de build niet is geannuleerd door een gebruiker, is deze geannuleerd door de Azure DevOps-gebruikersagent. Waarschijnlijk is er een time-out van 1 uur opgetreden door de mogelijkheden van Azure DevOps. Als u een privéproject en agent gebruikt, krijgt u 60 minuten aan buildtijd. Als de build de time-out overschrijdt, annuleert DevOps de actieve taak.

Zie door Microsoft gehoste agents voor meer informatie over de mogelijkheden en beperkingen van Azure DevOps.

Oplossing

U kunt uw eigen DevOps-agents hosten of de tijd van uw build verminderen. Als u bijvoorbeeld distribueert naar azure Compute Gallery, kunt u ze repliceren naar één regio of ze asynchroon repliceren.

Trage Windows-aanmelding

Fout

Deze fout kan optreden wanneer u een Windows 10-installatiekopieën maakt met behulp van VM Image Builder, een VIRTUELE machine maakt op basis van de installatiekopieën en vervolgens RdP (Remote Desktop Protocol) gebruikt. U wacht enkele minuten op het eerste aanmeldingsscherm en vervolgens wordt het volgende bericht weergegeven op een blauw scherm:

Please wait for the Windows Modules Installer

Oplossing

  1. Controleer in de build van de installatiekopieën of:

    • Er zijn geen openstaande herstarts vereist door een Windows Restart-aanpassing toe te voegen als laatste aanpassing.
    • Alle software-installatie is voltooid.
  2. Voeg de optie /mode:vm toe aan de standaardwaarde Sysprep die vm Image Builder gebruikt. Ga voor meer informatie naar de sectie "De opdrachten overschrijven" onder "VM's die zijn gemaakt op basis van VM Image Builder-installatiekopieën worden niet succesvol gemaakt."

VMs die zijn gemaakt met VM Image Builder-installatiekopieën worden niet succesvol aangemaakt.

Vm Image Builder voert standaard deprovisioneringscode uit aan het einde van elke aanpassingsfase van de installatiekopie om de installatiekopie te generaliseren. Om een afbeelding te generaliseren, moet deze zo worden ingesteld dat deze opnieuw kan worden gebruikt om meerdere VM's te maken. Als onderdeel van het proces kunt u VM-instellingen, zoals hostnaam, gebruikersnaam, enzovoort, doorgeven. In Windows wordt VM Image Builder uitgevoerd Sysprepen in Linux wordt VM Image Builder uitgevoerd waagent -deprovision.

In Windows gebruikt VM Image Builder een algemene Sysprep opdracht. Deze opdracht is echter mogelijk niet geschikt voor elke geslaagde Windows-generalisatie. Met VM Image Builder kunt u de Sysprep opdracht aanpassen. Houd er rekening mee dat de VM Image Builder een hulpprogramma voor het automatiseren van installatiekopieën is, dat verantwoordelijk is voor het succesvol uitvoeren van de Sysprep opdracht. Maar mogelijk hebt u verschillende Sysprep opdrachten nodig om uw afbeelding herbruikbaar te maken. In Linux gebruikt VM Image Builder een algemene waagent -deprovision+user opdracht. Zie de documentatie voor Microsoft Azure Linux Agent voor meer informatie.

Als u een bestaande aanpassing migreert en u verschillende Sysprep of waagent opdrachten gebruikt, kunt u de algemene opdrachten van vm Image Builder proberen. Als het maken van de virtuele machine mislukt, gebruik uw vorige Sysprep-opdrachten of waagent-opdrachten.

Stel dat u VM Image Builder succesvol hebt gebruikt om een aangepaste Windows-installatiekopie te maken, maar dat het niet is gelukt een virtuele machine te maken op basis van de installatiekopie. Het maken van de virtuele machine kan bijvoorbeeld niet worden voltooid of er treedt een time-out op. Voer in dit geval een van de volgende handelingen uit:

  • Raadpleeg de Documentatie voor Windows Server Sysprep.
  • Dien een ondersteuningsaanvraag in bij het klantenondersteuningsteam van Windows Server Sysprep. Ze kunnen u helpen uw probleem op te lossen en u te adviseren over de juiste Sysprep opdracht.

Opdrachtlocaties en bestandsnamen

In Windows:

c:\DeprovisioningScript.ps1

In Linux:

/tmp/DeprovisioningScript.sh

De Sysprep opdracht: Windows

Write-Output '>>> Waiting for GA Service (RdAgent) to start ...'
while ((Get-Service RdAgent).Status -ne 'Running') { Start-Sleep -s 5 }
Write-Output '>>> Waiting for GA Service (WindowsAzureTelemetryService) to start ...'
while ((Get-Service WindowsAzureTelemetryService) -and ((Get-Service WindowsAzureTelemetryService).Status -ne 'Running')) { Start-Sleep -s 5 }
Write-Output '>>> Waiting for GA Service (WindowsAzureGuestAgent) to start ...'
while ((Get-Service WindowsAzureGuestAgent).Status -ne 'Running') { Start-Sleep -s 5 }
Write-Output '>>> Sysprepping VM ...'
if( Test-Path $Env:SystemRoot\system32\Sysprep\unattend.xml ) {
  Remove-Item $Env:SystemRoot\system32\Sysprep\unattend.xml -Force
}
& $Env:SystemRoot\System32\Sysprep\Sysprep.exe /oobe /generalize /quiet /quit
while($true) {
  $imageState = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State).ImageState
  Write-Output $imageState
  if ($imageState -eq 'IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE') { break }
  Start-Sleep -s 5
}
Write-Output '>>> Sysprep complete ...'

De -deprovision opdracht: Linux

sudo /usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync

Opdrachten overschrijven

Als u de opdrachten wilt overschrijven, gebruikt u de PowerShell- of shellscriptinrichtingen om de opdrachtbestanden met de exacte bestandsnaam te maken en deze in de eerder vermelde mappen te plaatsen. VM Image Builder leest deze opdrachten en schrijft uitvoer naar het customization.log-bestand .

Ondersteuning krijgen

Als u naar de richtlijnen hebt verwezen en nog steeds problemen ondervindt, kunt u een ondersteuningsaanvraag openen. Zorg ervoor dat u het juiste product- en ondersteuningsonderwerp selecteert. Dit zorgt ervoor dat u bent verbonden met het ondersteuningsteam van Azure VM Image Builder.

Het caseproduct selecteren:

Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: Azure Features
Support Subtopic: Azure Image Builder

Volgende stappen

Zie overzicht van VM Image Builder voor meer informatie.