Az Azure VM Image Builder hibaelhárítása
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Ez a cikk az Azure VM Image Builder használatakor felmerülő gyakori problémák elhárítására és megoldására használható.
Előfeltételek
Build létrehozásakor tegye a következőket:
- A VM Image Builder szolgáltatás WinRM vagy Secure Shell (SSH) használatával kommunikál a buildelési virtuális géppel. Ne* tiltsa le ezeket a beállításokat a build részeként.
- A VM Image Builder erőforrásokat hoz létre az előkészítési erőforráscsoportban a buildek részeként. Az erőforrások pontos listája a képsablonban megadott hálózati konfigurációtól függ. Győződjön meg arról, hogy az Azure Policy nem akadályozza meg a VM Image Buildert a szükséges erőforrások létrehozásában vagy használatában.
- Hozzon létre egy IT_ erőforráscsoportot.
- Hozzon létre egy tárfiókot tűzfal nélkül.
- Azure Container Instances üzembe helyezése.
- Azure-beli virtuális hálózati erőforrások (és azok alhálózatai) üzembe helyezése.
- Azure Private Endpoint-erőforrások üzembe helyezése.
- Az Azure Files üzembe helyezése.
- Ellenőrizze, hogy az Azure Policy nem telepít-e nem kívánt szolgáltatásokat a buildelési virtuális gépre, például az Azure Extensionsre.
- Győződjön meg arról, hogy a VM Image Builder rendelkezik a megfelelő engedélyekkel a képek olvasásához/írásához és a tárfiókhoz való csatlakozáshoz. További információkért tekintse át az Azure CLI vagy az Azure PowerShell engedélydokumentációját.
- A VM Image Builder akkor hiúsul meg a buildben, ha a szkriptek vagy a beágyazott parancsok hibákkal (nem aero kilépési kódokkal) hiúsulnak meg. Győződjön meg arról, hogy tesztelte az egyéni szkripteket, és ellenőrizte, hogy hiba nélkül futnak-e (kilépési kód: 0), vagy felhasználói bevitelt igényelnek. További információ: Azure Virtual Desktop-rendszerkép létrehozása a VM Image Builder és a PowerShell használatával.
- Győződjön meg arról, hogy az előfizetés rendelkezik az Azure Container Instances megfelelő kvótával .
- Minden rendszerkép-összeállítás legfeljebb egy ideiglenes Azure Container Instance-erőforrást (négy standard magból) helyezhet üzembe az átmeneti erőforráscsoportban. Ezek az erőforrások az izolált rendszerkép-buildekhez szükségesek.
A VM Image Builder hibái két területen fordulhatnak elő:
- Képsablon beküldése során
- Képkészítés közben
Feljegyzés
A CIS által felügyelt CIS által edzett rendszerképek (Linux vagy Windows) az Azure Marketplace-en a konfigurációjuk miatt buildelési hibákat okozhatnak az Azure Image Builder szolgáltatásban. Ilyenek például a következők:
- A CIS által megkeményített Windows-rendszerképek megzavarhatják a WinRM-kapcsolatot, ami az AIB-build előfeltétele.
- A CIS Linux rendszerképei engedélyproblémák
chmod +x
miatt meghiúsulhatnak.
Képsablonok beküldési hibáinak elhárítása
A képsablonok beküldési hibái csak beküldéskor jelennek meg. Nincs hibanapló a képsablonok beküldési hibáihoz. Ha a beküldés során hiba történik, a hibát a sablon állapotának ellenőrzésével, különösen a felülvizsgálattal ProvisioningState
és ProvisioningErrorMessage
/provisioningError
a .
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object ProvisioningState, ProvisioningErrorMessage
Feljegyzés
A PowerShellhez telepítenie kell a VM Image Builder PowerShell-moduljait.
Fontos
Az API 2021-10-01-es verziója megváltoztatja a hibasémát, amely minden jövőbeli API-kiadás része lesz. Ha rendelkezik Azure VM Image Builder-automatizálással, vegye figyelembe az új hibakimenetet , amikor az API 2021-10-01-es vagy újabb verziójára vált. Azt javasoljuk, hogy miután a legújabb API-verzióra váltott, ne térjen vissza egy korábbi verzióra, mert a korábbi hibaséma létrehozásához újra módosítania kell az automatizálást. Nem számítunk arra, hogy a hibaséma a jövőbeni kiadásokban is megváltozik.
Hibakimenet a 2020-02-14-es és korábbi verzióhoz
{
"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."
}
Hibakimenet a 2021-10-01-es és újabb verzióhoz
{
"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."
}
}
A következő szakaszok a gyakori képsablonok beküldési hibáival kapcsolatos problémamegoldási útmutatót ismertetik.
A képsablonok frissítése vagy frissítése jelenleg nem támogatott
Hiba
'Conflict'. Details: Update/Upgrade of image templates is currently not supported
Ok
A sablon már létezik.
Megoldás
Ha elküld egy képkonfigurációs sablont, és a beküldés sikertelen, a sablon összetevője továbbra is létezik. Törölje a sikertelen sablont.
MSI újbóli hozzárendelése képsablonokon
Hiba
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.
Ok
Vannak olyan esetek, amikor a rendszerképsablonhoz rendelt felügyeltszolgáltatás-identitások (MSI) nem használhatók:
- Az Image Builder-sablon egy ügyfél által biztosított átmeneti erőforráscsoportot használ, és az MSI törlődik a rendszerképsablon törlése előtt (átmeneti erőforráscsoport-forgatókönyv )
- A rendszerképsablonhoz hozzárendelt felügyeltszolgáltatás-identitások (MSI) nem használhatók
Megoldás
Az Azure CLI használatával állítsa alaphelyzetbe az identitást a képsablonon. Győződjön meg arról, hogy az Azure CLI-t a 2.45.0-s vagy újabb verzióra frissíti .
A felügyelt identitás eltávolítása a célrendszerkép-készítő sablonból
az image builder identity remove -g <template resource group> -n <template name> --user-assigned <identity resource id>
Identitás újbóli hozzárendelése a célrendszerkép-készítő sablonhoz
az image builder identity assign -g <template rg> -n <template name> --user-assigned <identity resource id>
Az erőforrás-művelet "Sikertelen" terminálkiépítési állapottal fejeződött be
Hiba
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."
Ok
A legtöbb esetben az erőforrás üzembe helyezési hibája a hiányzó engedélyek miatt fordul elő. Ezt a hibát az átmeneti erőforráscsoporttal való ütközés is okozhatja.
Megoldás
A forgatókönyvtől függően előfordulhat, hogy a virtuálisgép-rendszerkép-készítőnek engedélyre van szüksége a következőkhöz:
- A forráskép vagy az Azure Compute Gallery (korábbi nevén Megosztott képgyűjtemény) erőforráscsoportja.
- A terjesztési rendszerkép vagy az Azure Compute Gallery-erőforrás.
- Az a tárfiók, tároló vagy blob, amelyhez a
File
testreszabó hozzáfér.
Emellett győződjön meg arról, hogy az átmeneti erőforráscsoport neve egyedileg van megadva az egyes képsablonokhoz.
Az engedélyek konfigurálásával kapcsolatos további információkért lásd : Virtuálisgép-rendszerkép-készítői engedélyek konfigurálása az Azure CLI-vel vagy a VM Image Builder-engedélyek konfigurálása a PowerShell használatával.
Hiba a felügyelt rendszerkép lekérésekor
Hiba
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
Ok
Hiányzó engedélyek.
Megoldás
A forgatókönyvtől függően előfordulhat, hogy a virtuálisgép-rendszerkép-készítőnek engedélyre van szüksége a következőkhöz:
- A forráskép vagy az Azure Compute Gallery erőforráscsoportja.
- A terjesztési rendszerkép vagy az Azure Compute Gallery-erőforrás.
- Az a tárfiók, tároló vagy blob, amelyhez a
File
testreszabó hozzáfér.
Az engedélyek konfigurálásával kapcsolatos további információkért lásd : Virtuálisgép-rendszerkép-készítői engedélyek konfigurálása az Azure CLI-vel vagy a VM Image Builder-engedélyek konfigurálása a PowerShell használatával.
A buildelési lépés nem sikerült a rendszerkép verziójához
Hiba
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."
Ok
A VM Image Builder nem találja a forrásképet.
Megoldás
Győződjön meg arról, hogy a forrásrendszerkép helyes, és a virtuálisgép-képszerkesztő helyén található.
Külső fájl letöltése helyi fájlba
Hiba
Downloading external file (<myFile>) to local file (xxxxx.0.customizer.fp) [attempt 1 of 10] failed: Error downloading '<myFile>' to 'xxxxx.0.customizer.fp'..
Ok
A fájlnév vagy a hely helytelen, vagy a hely nem érhető el.
Megoldás
Győződjön meg arról, hogy a fájl elérhető. Ellenőrizze, hogy a név és a hely helyes-e.
Engedélyezési hiba lemez létrehozásakor
Az Azure Image Builder buildje az alábbihoz hasonló engedélyezési hibával meghiúsul:
Hiba
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.'
Ok
Ez a hiba akkor jelenik meg, ha egy már meglévő erőforráscsoportot és virtuális hálózatot próbál meg megadni az Azure Image Builder szolgáltatásnak Windows-forráslemezképpel.
Megoldás
A közreműködői szerepkört az Azure Image Builder első félalkalmazásának megfelelő szolgáltatásnév erőforráscsoporthoz kell hozzárendelnie az alábbi CLI-paranccsal vagy portálutasításokkal.
Először ellenőrizze, hogy a szolgáltatásnév az Azure Image Builder első féltől származó alkalmazásához van-e társítva a következő CLI-paranccsal:
az ad sp show --id {servicePrincipalName, or objectId}
A megoldás parancssori felülettel való implementálásához használja a következő parancsot:
az role assignment create -g {ResourceGroupName} --assignee {AibrpSpOid} --role Contributor
A megoldás portálon való implementálásához kövesse a jelen dokumentáció utasításait: Azure-szerepkörök hozzárendelése az Azure Portalon – Azure RBAC.
1. lépés: A szükséges hatókör azonosítása: A szükséges hatókör az erőforráscsoport.
3. lépés: Válassza ki a megfelelő szerepkört: A szerepkör közreműködő.
4. lépés: Válassza ki, hogy kinek van hozzáférése: Válassza ki az "Azure Virtual Machine Image Builder" tagot
Ezután folytassa a 6. lépésben: Szerepkör hozzárendelése a szerepkör hozzárendeléséhez.
Buildelési hibák elhárítása
Kép buildelési hibái esetén kérje le a hibát a lastrunstatus
fájlból, majd tekintse át a customization.log fájl részleteit.
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object LastRunStatus, LastRunStatusMessage
Testreszabási napló
Élő naplók elérése képkészítés közben
A rendszerkép-létrehozás folyamatának hatékony figyeléséhez hozzáférhet az Azure Image Builder (AIB) által az Azure Container Instancesben (ACI) létrehozott élő naplókhoz. Ezek a naplók valós idejű betekintést nyújtanak a buildelési folyamatba, így azonosíthatja a problémákat, vagy meggyőződhet arról, hogy a build a várt módon halad. Az élő naplók megkereséséhez és megtekintéséhez kövesse az alábbi lépéseket.
- Indítsa el a rendszerkép-összeállítást: Indítsa el a képkészítési folyamatot.
- Lépjen az erőforráscsoportokra: Nyissa meg az Azure Portalt, és válassza az "Erőforráscsoportok" lehetőséget. Szűrjön az előfizetés alapján, ahol a rendszerkép-buildet kezdeményezték.
- Válassza ki az erőforráscsoportot: Keresse meg és válassza ki a rendszerkép-összeállításhoz társított átmeneti erőforráscsoportot. Ez az az erőforráscsoport, amely az AIB-szolgáltatás buildelési erőforrásait tartalmazza. Az átmeneti erőforráscsoportról további információt a Tulajdonságok: stagingResourceGroup című témakörben talál.
- Keresse meg a buildtárolót: Ebben az erőforráscsoportban keresse meg a "vmimagebuilder-build-container-**********" nevű erőforrást. Ha nem látható, várjon néhány percet, és frissítse a lapot.
- Tárolóbeállítások elérése: A bal oldali panel "Beállítások" területén válassza a "Tárolók" lehetőséget.
- Naplók megtekintése: A "Naplók" lapra lépve megtekintheti az élő naplókat a képkészítési folyamat során.
Ha nem lát naplókat, néhány perc múlva próbálja frissíteni a tárolót.
A testreszabási és/vagy érvényesítési napló letöltése a rendszerkép létrehozása után
A rendszerkép-létrehozás befejezése után a testreszabási és érvényesítési naplók a VM Image Builder szolgáltatás által létrehozott átmeneti erőforráscsoport tárfiókjában tárolóban lesznek tárolva. Az átmeneti erőforráscsoportról további információt a Tulajdonságok: stagingResourceGroup című témakörben talál.
Feljegyzés
Amikor hozzáfér a fájlhoz vagy validation.log
a customization.log
fájlhoz, fontos megjegyezni, hogy ha a rendszerkép-összeállítást többször futtatták, több mappa is lesz a packerlogs
tárolóban. Ezek a mappák sorrendben vannak elrendezve a legrégebbi buildtől a legújabbig.
A fájl megkereséséhez és letöltéséhez kövesse az customization.log
validation.log
alábbi lépéseket:
- Tárfiók kiválasztása: Az Azure Portalon keresse meg a megfelelő tárfiókot a VM Image Builder szolgáltatás által létrehozott átmeneti erőforráscsoportban lévő tárfiókok szűrésével. Az átmeneti erőforráscsoportról további információt a Tulajdonságok: stagingResourceGroup című témakörben talál.
- Hozzáférés az Adattárolóhoz: A tárfiók alatt nyissa meg a Data Storage-ot.
- Tároló megnyitása: Válassza a Tároló lehetőséget, majd válassza ki a tárolót
packerlogs
. - Válassza ki a megfelelő mappát: A
packerlogs
tárolóban több mappa jelenik meg, ha a rendszerkép-összeállítás többször is lefutott. Ezek a mappák a legrégebbi buildtől a legújabbig vannak elrendezve. Válassza ki a kívánt buildnek megfelelő mappát. - Töltse le a naplófájlt: A kijelölt mappában jelölje ki a fájlt és/vagy
validation.log
a fájlt, majd kattintson acustomization.log
Letöltés gombra a fájl tartalmának letöltéséhez.
A testreszabási napló ismertetése
A napló részletes. Ismerteti a rendszerképek összeállítását, beleértve a képterjesztéssel kapcsolatos problémákat, például az Azure Compute Gallery replikációt. Ezek a hibák a képsablon állapotának hibaüzenetében jelennek meg.
A customization.log
fájl a következő szakaszokat tartalmazza:
Telepítse a buildelési virtuális gépet és a függőségeket ARM-sablonokkal az IT_ átmeneti erőforráscsoport szakaszában. Ez a szakasz több POST-t tartalmaz a VM Image Builder erőforrás-szolgáltatóhoz:
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 ... ..
Az üzembe helyezési fázis állapota. Ez a szakasz tartalmazza az egyes erőforrások üzembe helyezésének állapotát:
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=""
Csatlakozzon a virtuális gép buildelési szakaszához.
Windows rendszerben a VM Image Builder a WinRM használatával csatlakozik:
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.
Linuxon a VM Image Builder az SSH használatával csatlakozik:
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!
Testreszabási szakasz futtatása. A testreszabások futtatásakor a customization.log fájl áttekintésével azonosíthatja őket. Keressen rá (telemetria).
(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
Deprovision szakasz. A VM Image Builder egy rejtett testreszabót ad hozzá. Ez a leépítési lépés felelős a virtuális gép leépítésre való előkészítéséért. Windows rendszeren fut
Sysprep
(a c:\DeprovisioningScript.ps1 használatával). Linuxon futwaagent-deprovision
(a /tmp/DeprovisioningScript.sh használatával).Példa:
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."}
Tisztítási szakasz. A build befejezése után a VM Image Builder-erőforrások törlődnek.
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 ...
Tippek a szkript vagy a beágyazott testreszabás hibaelhárításához
- Tesztelje a kódot, mielőtt a VM Image Buildernek adja meg.
- Győződjön meg arról, hogy az Azure Policy és a Tűzfal engedélyezi a távoli erőforrásokhoz való kapcsolódást.
- Megjegyzések megjelenítése a konzolon a következő használatával vagy
echo
használatávalWrite-Host
: . Így kereshet a customization.log fájlban.
Gyakori buildelési hibák elhárítása
A sablon üzembe helyezése szabályzatsértés miatt meghiúsult
Hiba
{
"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>"
}
Ok
A fenti szabályzatsértési hiba egy nyilvános hozzáféréssel rendelkező Azure Key Vault használatának eredménye. Az Azure Image Builder jelenleg nem támogatja ezt a konfigurációt.
Megoldás
Az Azure Key Vaultot nyilvános hozzáféréssel kell létrehozni.
A Packer buildelési parancsának hibája
Hiba
"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."
Ok
Testreszabási hiba.
Megoldás
Tekintse át a naplót a testreszabási hibák megkereséséhez. Keressen rá (telemetria).
Példa:
(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
Túllépte az időtúllépést
Hiba
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'
Ok
A build túllépte a build időtúllépését. Ez a hiba a "lastrunstatus" fájlban jelenik meg.
Megoldás
Tekintse át a customization.log fájlt. Azonosítsa az utolsó futtatandó testreszabót. Keressen rá (telemetriára) a napló aljától kezdve.
Ellenőrizze a szkript testreszabását. Előfordulhat, hogy a testreszabások nem tiltják le a parancsok, például
quiet
a beállítások felhasználói beavatkozását. Ez például azt eredményezi,apt-get install -y
hogy a szkript végrehajtása a felhasználói beavatkozásra vár.Ha 20 MB-nál nagyobb összetevők letöltésére használja a
File
testre szabót, tekintse meg a kerülő megoldásokat.Tekintse át azokat a hibákat és függőségeket a szkriptben, amelyek a szkript várakozását okozhatják.
Ha arra számít, hogy a testreszabásokhoz több időre van szükség, növelje a buildTimeoutInMinutes értékét. Az alapértelmezett érték 4 óra.
Ha erőforrás-igényes műveletekkel rendelkezik, például gigabájt (GB) fájlokat tölt le, vegye figyelembe az alapul szolgáló build virtuális gép méretét. A szolgáltatás egy Standard_D1_v2 virtuális gépet használ. A virtuális gép 1 virtuális processzorral és 3,5 GB memóriával rendelkezik. Ha 50 GB-ot tölt le, valószínűleg kimeríti a virtuálisgép-erőforrásokat, és kommunikációs hibákat okoz a VM Image Builder és a buildelési virtuális gép között. A VM_size beállításával próbálkozzon újra a buildeléssel egy nagyobb memóriájú virtuális géppel.
Hosszú fájlletöltési idő
Hiba
[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
Ok
File
A customizer egy nagy fájlt tölt le.
Megoldás
File
A customizer csak kis méretű (20 MB-nál kisebb) fájlletöltésekhez alkalmas. Nagyobb fájlletöltésekhez használjon szkriptet vagy beágyazott parancsot. Linuxon például használhatja vagy curl
használhatja wget
a . A Windowsban használhatja Invoke-WebRequest
a .
A szerkesztő folyamatosan nem futtatja a Windows újraindítást az 1190 hibakóddal
Hiba
[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.
Ok
A Windows Update lépés idő előtt deklarál a Windows Server 2016-on alapuló képeken.
Megoldás
15 percről 30 percre nő restartTimeout
.
Hiba az Azure Compute Galleryben való várakozáskor
Hiba
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}
Ok
A VM Image Builder időtúllépéssel várta, hogy a rendszerképet hozzáadja és replikálja az Azure Compute Gallerybe. Ha a rendszerképet beszúrja a katalógusba, feltételezheti, hogy a kép buildelése sikeres volt. A teljes folyamat azonban nem sikerült, mert a VM Image Builder az Azure Compute Galleryben várta a replikáció befejezését. Annak ellenére, hogy a build sikertelen volt, a replikáció folytatódik. A képverzió tulajdonságait a terjesztési runOutput ellenőrzésével szerezheti be.
$runOutputName=<distributionRunOutput>
az resource show \
--ids "/subscriptions/$subscriptionID/resourcegroups/$imageResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/$imageTemplateName/runOutputs/$runOutputName" \
--api-version=2020-02-14
Megoldás
Növelje a következő értékét buildTimeoutInMinutes
: .
Alacsony Windows-erőforrásinformációs események
Hiba
[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
Ok
Erőforrás-kimerültség. Ez a probléma általában akkor fordul elő, ha a Windows Update az alapértelmezett buildelési virtuálisgép-mérettel D1_V2 fut.
Megoldás
Növelje a build virtuális gép méretét.
A build befejeződött, de nem hoztak létre összetevőket
Figyelmeztetés
[<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.
Megoldás
A fenti figyelmeztetés biztonságosan figyelmen kívül hagyható.
Képlétrehozás kihagyása
Figyelmeztetés
[<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
Megoldás
A fenti figyelmeztetés biztonságosan figyelmen kívül hagyható.
Az erőforrás nem található
Hiba
"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.\""
},
Ok
Hiányzó engedélyek.
Megoldás
Ellenőrizze újra, hogy a VM Image Builder rendelkezik-e a szükséges engedélyekkel.
Az engedélyek konfigurálásával kapcsolatos további információkért lásd : Virtuálisgép-rendszerkép-készítői engedélyek konfigurálása az Azure CLI-vel vagy a VM Image Builder-engedélyek konfigurálása a PowerShell használatával.
Sysprep
időzítés
Hiba
[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 ...
Ok
Ennek oka az D1_V2 virtuális gép méretének időzítési hibája lehet. Ha a testreszabások korlátozottak, és három másodpercnél rövidebb idő alatt futnak, Sysprep
a VM Image Builder parancsait futtatja a leépítéshez. Ha a VM Image Builder leépül, a Sysprep
parancs ellenőrzi a WindowsAzureGuestAgentet, amely lehet, hogy nincs teljesen telepítve, és okozhatja az időzítési problémát.
Megoldás
Az időzítési probléma elkerülése érdekében növelheti a virtuális gép méretét, vagy hozzáadhat egy 60 másodperces PowerShell-alvó üzemmód testreszabását.
Nem regisztrált Azure Container Instances-szolgáltató
Hiba
Azure Container Instances provider not registered for your subscription.
Ok
A sablon-előfizetésben nincs regisztrálva az Azure Container Instances szolgáltató.
Megoldás
Regisztrálja az Azure Container Instances-szolgáltatót a sablon-előfizetéshez, és adja hozzá az Azure CLI- vagy PowerShell-parancsokat:
- Azure CLI:
az provider register -n Microsoft.ContainerInstance
- PowerShell:
Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance
Túllépte az Azure Container Instances kvótát
Hiba
Azure Container Instances quota exceeded"
Ok
Az előfizetése nem rendelkezik elegendő Azure Container Instances (ACI) kvótával ahhoz, hogy az Azure Image Builder sikeresen elkészítse a rendszerképet.
Megoldás
Az alábbiak szerint teheti elérhetővé az ACI-kvótát az Azure Image Builderhez:
- Keresse meg az Azure Container Instances egyéb használatát az előfizetésében, és távolítsa el a szükségtelen példányokat, hogy elérhetővé tegye a kvótát az Azure Image Builder számára.
- Az Azure Image Builder csak ideiglenesen telepíti az ACI-t egy buildelés közben. Ezek a példányok a build befejeződése után törlődnek. Ha túl sok egyidejű rendszerkép-összeállítás történik az előfizetésben, érdemes lehet késleltetni a rendszerkép-buildek egy részét. Ez csökkenti az ACI egyidejű használatát az előfizetésben. Ha a rendszerképsablonok automatikus rendszerkép-buildekhez vannak beállítva eseményindítók használatával, akkor az Azure Image Builder automatikusan újrapróbálkozza az ilyen sikertelen buildeket.
- Ha az előfizetés jelenlegi ACI-korlátozásai túl alacsonyak a képkészítési forgatókönyvek támogatásához, akkor kérheti az ACI-kvóta növelését.
Feljegyzés
Az izolált rendszerkép-buildekhez ACI-erőforrásokra van szükség.
Túl sok üzembe helyezett Azure Container Instances egy adott időszakon belül
Hiba
"Túl sok Azure Container Instances üzembe helyezve egy adott időn belül"
Ok
Az előfizetés nem rendelkezik elegendő Azure Container Instances (ACI) kvótával az Azure Image Builder számára a rendszerképek egyidejű sikeres létrehozásához.
Megoldás
A következőket teheti:
- Próbálkozzon újra a sikertelen buildekkel kevésbé egyidejű módon.
- Ha az előfizetés jelenlegi ACI-korlátozásai túl alacsonyak a képkészítési forgatókönyvek támogatásához, akkor kérheti az ACI-kvóta növelését.
Izolált rendszerkép buildelési hibája
Hiba
Az Azure Image Builder-buildek az izolált rendszerkép-build miatt meghiúsulnak.
Ok
Az Azure Image Builder-buildek a dokumentumban máshol felsorolt okok miatt meghiúsulhatnak. Előfordulhat azonban, hogy egy build meghiúsul az izolált rendszerkép-buildek miatt a forgatókönyvtől, az előfizetési kvótáktól vagy valamilyen előre nem látható szolgáltatási hibától függően. További információ: Izolált rendszerkép-buildek.
Megoldás
Ha azt állapítja meg, hogy egy build az izolált rendszerkép-buildek miatt meghiúsul, a következőket teheti:
- Győződjön meg arról, hogy az Előfeltételek szakaszban említett erőforrások, különösen az Azure Container Instances üzembe helyezését nem blokkolja az Azure Policy.
- Győződjön meg arról, hogy előfizetése rendelkezik az Azure Container Instances megfelelő kvótával az egyidejű rendszerkép-buildek támogatásához. További információ: Az Azure Container Instances kvótája túllépte a kvótát.
Az Azure Image Builder jelenleg az izolált rendszerkép-buildek üzembe helyezésén dolgozik. Az egyes képsablonok nincsenek izolált rendszerkép-buildekhez kötve, és ugyanez a képsablon az izolált rendszerkép-buildeket használhatja vagy nem használhatja a különböző buildek során. Az alábbiakat elvégezve ideiglenesen futtathatja a buildet izolált rendszerkép-buildek nélkül.
- Próbálkozzon újra a buildel. Mivel a rendszerképsablonok nem kapcsolódnak az Izolált kép buildek funkcióhoz, az újrapróbálkozások nagy valószínűséggel újrafutnak izolált rendszerkép-buildek nélkül.
Ha egyik megoldás sem enyhíti a rendszerképek sikertelen buildjeinek elhárítását, kapcsolatba léphet Azure-támogatás, hogy ideiglenesen kizárja előfizetését az izolált rendszerkép-buildek közül. További információ: Azure-támogatáskérés létrehozása.
Feljegyzés
Az izolált rendszerkép-buildek végül minden régióban és sablonban engedélyezve lesznek. Ezért a fenti kockázatcsökkentéseket ideiglenesnek kell tekinteni, és meg kell oldani a buildelési hibák kiváltó okát.
A build a környezet lemondási környezetének lemondása után lesz megszakítva
Hiba
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
Ok
A VM Image Builder a 22-s (Linux) vagy az 5986-os (Windows) portot használja a buildelési virtuális géphez való csatlakozáshoz. Ez akkor fordul elő, ha a szolgáltatás le van választva a buildelési virtuális gépről egy rendszerkép összeállítása során. A leválasztás okai eltérőek lehetnek, de a tűzfal engedélyezése vagy konfigurálása a szkriptben blokkolhatja a korábban említett portokat.
Megoldás
Tekintse át a tűzfal módosításait vagy engedélyezését, illetve az SSH vagy a WinRM módosításait, és győződjön meg arról, hogy a módosítások lehetővé teszik a szolgáltatás és a buildelési virtuális gép közötti állandó kapcsolatot a korábban említett portokon. További információ: VM Image Builder hálózatkezelési lehetőségek.
JWT-hibák a naplóban a build korai szakaszában
Hiba
A buildelés korai szakaszában a buildelés meghiúsul, és a napló JSON Web Token (JWT) hibát jelez:
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:
Ok
A buildTimeoutInMinutes
sablon értéke 1 és 5 perc között van beállítva.
Megoldás
A VM Image Builder-sablon létrehozása című cikkben leírtak szerint az időtúllépést 0 értékre kell állítani az alapértelmezett beállítás használatához, vagy 5 percnél hosszabb értékre kell állítani az alapértelmezett érték felülbírálásához. Módosítsa a sablon időtúllépését 0-ra az alapértelmezett vagy legalább 6 perc használatára.
Erőforrás-törlési hibák
Hiba
A köztes erőforrások a build vége felé törlődnek, és a testreszabási napló számos erőforrás-törlési hibát jelezhet:
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"...
Ok
Ezek a hibaüzenetek többnyire ártalmatlanok, mivel az erőforrás-törléseket többször is újrapróbálják, és általában végül sikeresek lesznek. Ezt a törlési naplók követésével ellenőrizheti, amíg meg nem figyel egy sikeres üzenetet. Másik lehetőségként megvizsgálhatja az átmeneti erőforráscsoportot annak ellenőrzéséhez, hogy törölték-e az erőforrást.
Ezeknek a megfigyeléseknek a elvégzése különösen fontos a buildelési hibák esetében, ahol ezek a hibaüzenetek arra a következtetésre vezethetnek, hogy ezek a hibák oka, még akkor is, ha a tényleges hibák máshol lehetnek.
Hiba
Ha a rendszerképek elakadtak a sablon törlésében, a testreszabási naplóban az alábbi hiba jelenhet meg:
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=[]
Ok
A hiba azért fordul elő, mert a hálózati adapter jelenleg privát végponttal van használatban.
Megoldás
A probléma megoldásához törölje egyenként az alábbi erőforrásokat az adott sorrendben:
- Privát végpontkapcsolat. Ezt a privát kapcsolat szolgáltatás erőforrásában a privát kapcsolat szolgáltatás erőforráslapjának "privát végpontkapcsolatok" lapján találja.
- Privát kapcsolat szolgáltatás.
- Hálózati adapter és terheléselosztó.
- Erőforráscsoport.
- Képsablon.
További segítségért forduljon Azure-támogatás a elakadt törlési hiba megoldásához.
Az elosztott cél nem található a frissítési kérelemben
Hiba
Validation failed: Distribute target with Runoutput name <runoutputname> not found in the update request. Deleting a distribution target is not allowed.
Ok
Ez a hiba akkor fordul elő, ha egy meglévő elosztott cél nem található a Patch-kérelem törzsében.
Megoldás
A terjesztési tömbnek tartalmaznia kell az összes terjesztési célt, azaz az új célokat (ha vannak), a meglévő, módosítás nélküli célokat és a frissített célokat. Ha el szeretne távolítani egy meglévő terjesztési célt, törölje és hozza létre újra a képsablont, mivel a terjesztési cél törlése jelenleg nem támogatott a Patch API-val.
Hiányzó kötelező mezők
Hiba
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.
Ok
Ez a hiba akkor fordul elő, ha egy szükséges mező hiányzik egy elosztott célból.
Megoldás
Kérés létrehozásakor adja meg az elosztott cél minden kötelező mezőjét, még akkor is, ha nincs változás.
DevOps-feladatok
A feladat hibaelhárítása
A feladat csak akkor meghiúsul, ha a testreszabás során hiba történik. Ha ez történik, a feladat jelenti a hibát, és a naplókkal együtt elhagyja az átmeneti erőforráscsoportot, hogy azonosítani tudja a problémát.
A napló megkereséséhez ismernie kell a sablon nevét. Nyissa meg a folyamat>sikertelen buildelését, majd részletezse a VM Image Builder DevOps-feladatát.
Ekkor megjelenik a napló és a sablon neve:
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
- Nyissa meg az Azure Portalt, keresse meg a sablon nevét az erőforráscsoportban, majd keresse meg az erőforráscsoportot a IT_* beírásával.
- Válassza ki a blobtárolók>>naplóinak tárfióknevét.>
Sikeres buildek hibaelhárítása
Előfordulhat, hogy időnként ki kell vizsgálnia a sikeres buildeket, és át kell tekintenie a naplóikat. Ahogy korábban említettük, ha a rendszerkép létrehozása sikeres, a naplókat tartalmazó átmeneti erőforráscsoport a törlés részeként törlődik. Az automatikus törlés megakadályozása érdekében azonban bevezethet egy sleep
beágyazott parancsot, majd megtekintheti a naplókat, mivel a build fel van függesztve. Ehhez tegye a következőket:
- Frissítse a beágyazott parancsot a Write-Host /Echo "Sleep" hozzáadásával. Ez időt ad a naplóban való keresésre.
sleep
Adjon hozzá legalább 10 perces értéket egy Start-Sleep vagySleep
Linux parancs használatával.- Ezzel a módszerrel azonosíthatja a napló helyét, majd töltse le vagy ellenőrizze a naplót, amíg el nem éri
sleep
.
A művelet megszakítva
Hiba
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
Ok
Ha a buildet nem egy felhasználó mondta le, az Azure DevOps felhasználói ügynöke megszakította. Valószínűleg az 1 órás időtúllépés az Azure DevOps képességei miatt történt. Ha privát projektet és ügynököt használ, 60 perc létrehozási időt kap. Ha a build túllépi az időtúllépést, a DevOps megszakítja a futó feladatot.
Az Azure DevOps képességeivel és korlátaival kapcsolatos további információkért lásd a Microsoft által üzemeltetett ügynököket.
Megoldás
Saját DevOps-ügynököket üzemeltethet, vagy csökkentheti a buildelési időt. Ha például az Azure Compute Galleryben terjeszti őket, replikálhatja őket egy régióba, vagy aszinkron módon replikálhatja őket.
Lassú Windows-bejelentkezés
Hiba
Ez a hiba akkor fordulhat elő, ha Windows 10-rendszerképet hoz létre a VM Image Builder használatával, létrehoz egy virtuális gépet a rendszerképből, majd távoli asztali protokollt (RDP) használ. Az első bejelentkezési képernyőn néhány percet vár, majd egy kék képernyő a következő üzenetet jeleníti meg:
Please wait for the Windows Modules Installer
Megoldás
A kép buildjében ellenőrizze, hogy:
- Az utolsó testreszabáshoz windowsos újraindítási testreszabó hozzáadása nem szükséges.
- Minden szoftvertelepítés befejeződött.
Adja hozzá a /mode:vm beállítást a VM Image Builder által használt alapértelmezett
Sysprep
beállításhoz. További információt a "Parancsok felülbírálása" szakasz "A VM Image Builder rendszerképekből létrehozott virtuális gépek létrehozása nem sikerült" című szakaszában talál.
A VM Image Builder-rendszerképekből létrehozott virtuális gépek létrehozása nem sikerült
A VM Image Builder alapértelmezés szerint az egyes kép testreszabási fázisainak végén futtatja a deprovision kódot a rendszerkép általánosításához. A rendszerkép általánosításához állítsa be újra több virtuális gép létrehozásához. A folyamat részeként átadhatja a virtuálisgép-beállításokat, például a gazdagép nevét, a felhasználónevet stb. Windows rendszerben a VM Image Builder fut Sysprep
, Linuxon pedig a VM Image Builder fut waagent -deprovision
.
Windows rendszerben a VM Image Builder egy általános Sysprep
parancsot használ. Előfordulhat azonban, hogy ez a parancs nem felel meg minden sikeres Windows-általánosításnak. A VM Image Builderrel testre szabhatja a Sysprep
parancsot. Vegye figyelembe, hogy a VM Image Builder egy képautomatizálási eszköz, amely a parancs sikeres futtatásáért Sysprep
felelős. Előfordulhat azonban, hogy a rendszerkép újrafelhasználhatóvá tétele érdekében különböző Sysprep
parancsok szükségesek. Linuxon a VM Image Builder egy általános waagent -deprovision+user
parancsot használ. További információkért tekintse meg a Microsoft Azure Linux Agent dokumentációját.
Ha egy meglévő testreszabást migrál, és különböző vagy waagent
parancsokat Sysprep
használ, kipróbálhatja a VM Image Builder általános parancsokat. Ha a virtuális gép létrehozása sikertelen, használja az előző Sysprep
vagy waagent
a parancsokat.
Tegyük fel, hogy sikeresen használta a VM Image Buildert egy windowsos egyéni rendszerkép létrehozásához, de nem sikerült sikeresen létrehoznia egy virtuális gépet a rendszerképből. A virtuális gép létrehozása például nem fejeződik be, vagy túllépi az időkorlátot. Ebben az esetben tegye a következők valamelyikét:
- Tekintse át a Windows Server Sysprep dokumentációját.
- Támogatási kérés kérése a Windows Server Sysprep ügyfélszolgálati csapatával. Segítenek elhárítani a problémát, és tanácsot adnak a megfelelő
Sysprep
parancshoz.
Parancshelyek és fájlnevek
Windows rendszerben:
c:\DeprovisioningScript.ps1
Linuxon:
/tmp/DeprovisioningScript.sh
A Sysprep
parancs: 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 ...'
A -deprovision
parancs: Linux
sudo /usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync
A parancsok felülbírálása
A parancsok felülbírálásához a PowerShell- vagy a shell-szkriptkiépítési eszközökkel hozza létre a parancsfájlokat a pontos fájlnévvel, és helyezze őket a korábban felsorolt könyvtárakba. A VM Image Builder felolvassa ezeket a parancsokat, és kimenetet ír a customization.log fájlba.
Támogatás kérése
Ha már hivatkozott az útmutatásra, és továbbra is problémákat tapasztal, támogatási esetet nyithat meg. Mindenképpen válassza ki a megfelelő termék- és támogatási témakört. Ezzel biztosíthatja, hogy csatlakozik az Azure VM Image Builder támogatási csapatához.
Az eset termékének kiválasztása:
Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: Azure Features
Support Subtopic: Azure Image Builder
Következő lépések
További információ: VM Image Builder – áttekintés.