Řešení potíží s nástrojem Azure VM Image Builder
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Tento článek slouží k řešení běžných problémů, se kterými se můžete setkat při používání Nástroje image virtuálního počítače Azure.
Požadavky
Při vytváření sestavení postupujte takto:
- Služba VM Image Builder komunikuje s virtuálním počítačem sestavení pomocí WinRM nebo Secure Shellu (SSH). Nezakažte tato nastavení jako součást sestavení.
- VM Image Builder vytváří prostředky v přípravné skupině prostředků jako součást sestavení. Přesný seznam prostředků závisí na konfiguraci sítě zadané v šabloně image. Nezapomeňte ověřit, že Azure Policy nebrání VM Image Builderu vytvářet nebo používat potřebné prostředky.
- Vytvořte skupinu prostředků IT_.
- Vytvořte účet úložiště bez brány firewall.
- Nasazení služby Azure Container Instances
- Nasaďte prostředky virtuální sítě Azure (a podsítě v ní).
- Nasaďte prostředky privátního koncového bodu Azure.
- Nasazení služby Azure Files
- Ověřte, že služba Azure Policy nenainstaluje na virtuální počítač buildu nezamýšlené funkce, jako jsou rozšíření Azure.
- Ujistěte se, že má Image Builder virtuálního počítače správná oprávnění ke čtení a zápisu imagí a aby se připojil k účtu úložiště. Další informace najdete v dokumentaci k oprávněním pro Azure CLI nebo Azure PowerShell.
- VM Image Builderu selže sestavení, pokud skripty nebo vložené příkazy selžou s chybami (nenulové ukončovací kódy). Ujistěte se, že jste otestovali vlastní skripty a ověřili, že se spouštějí bez chyby (ukončovací kód 0) nebo že vyžaduje uživatelský vstup. Další informace najdete v tématu Vytvoření image Služby Azure Virtual Desktop pomocí Nástroje image virtuálního počítače a PowerShellu.
- Ujistěte se, že vaše předplatné má dostatečnou kvótu služby Azure Container Instances.
- Každé sestavení image může v přípravné skupině prostředků nasadit až jeden dočasný prostředek instance kontejneru Azure (ze čtyř standardních jader). Tyto prostředky jsou vyžadovány pro sestavení izolované image.
Selhání Image Builderu virtuálních počítačů se můžou vyskytnout ve dvou oblastech:
- Během odeslání šablony obrázku
- Během vytváření obrázků
Poznámka:
Image posílené cis (Linux nebo Windows) na webu Azure Marketplace spravované cis můžou způsobit selhání sestavení pomocí služby Azure Image Builder kvůli jejich konfiguracím. Například:
- Image systému Windows posílené cis mohou narušit připojení WinRM, což je předpokladem pro sestavení AIB.
- Image CIS pro Linux můžou selhat kvůli problémům s oprávněními
chmod +x
.
Řešení potíží s chybami odeslání šablony obrázků
Chyby odeslání šablony obrázku se vrátí pouze při odeslání. Protokol chyb pro chyby odeslání šablony obrázku neexistuje. Pokud během odesílání dojde k chybě, můžete chybu vrátit kontrolou stavu šablony, konkrétně kontrolou ProvisioningState
a ProvisioningErrorMessage
/provisioningError
.
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object ProvisioningState, ProvisioningErrorMessage
Poznámka:
V případě PowerShellu budete muset nainstalovat moduly PowerShellu v Nástroji image virtuálního počítače.
Důležité
Rozhraní API verze 2021-10-01 zavádí změnu schématu chyb, která bude součástí každé budoucí verze rozhraní API. Pokud máte nějaké automatizace Image Builderu virtuálních počítačů Azure, mějte při přechodu na rozhraní API verze 2021–10-01 nebo novější informace o novém chybovém výstupu . Doporučujeme, abyste se po přepnutí na nejnovější verzi rozhraní API vrátili k dřívější verzi, protože budete muset znovu změnit automatizaci, abyste vytvořili dřívější schéma chyb. Neočekáváme, že schéma chyb změníme znovu v budoucích verzích.
Výstup chyby pro verzi 2020-02-14 a starší
{
"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."
}
Výstup chyby pro verzi 2021-10-01 a novější
{
"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."
}
}
Následující části obsahují pokyny k řešení problémů pro běžné chyby odeslání šablony obrázku.
Aktualizace nebo upgrade šablon imagí se v současné době nepodporuje.
Chyba
'Conflict'. Details: Update/Upgrade of image templates is currently not supported
Příčina
Šablona již existuje.
Řešení
Pokud odešlete šablonu konfigurace image a odeslání selže, artefakt šablony, který selhal, stále existuje. Odstraňte šablonu, která selhala.
Změna přiřazení MSI u šablon imagí
Chyba
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.
Příčina
Existují případy, kdy se identity spravované služby (MSI) přiřazené k šabloně image nedají použít:
- Šablona Image Builderu používá přípravnou skupinu prostředků poskytovanou zákazníkem a před odstraněním šablony image se odstraní MSI (scénář přípravné skupiny prostředků).
- Vytvořené identity spravované služby (MSI) přiřazené k šabloně image nelze použít.
Řešení
K resetování identity v šabloně image použijte Azure CLI. Ujistěte se, že azure CLI aktualizujete na verzi 2.45.0 nebo novější.
Odebrání spravované identity ze šablony tvůrce cílových imagí
az image builder identity remove -g <template resource group> -n <template name> --user-assigned <identity resource id>
Opětovné přiřazení identity k šabloně tvůrce cílových imagí
az image builder identity assign -g <template rg> -n <template name> --user-assigned <identity resource id>
Operace prostředku skončila se stavem zřizování terminálu Selhání.
Chyba
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."
Příčina
Ve většině případů dojde k chybě selhání nasazení prostředku kvůli chybějícím oprávněním. Příčinou této chyby může být také konflikt s přípravnou skupinou prostředků.
Řešení
V závislosti na vašem scénáři může Image Builder virtuálního počítače potřebovat oprávnění k:
- Zdrojová image nebo skupina prostředků Azure Compute Gallery (dříve Shared Image Gallery).
- Distribuční image nebo prostředek Galerie výpočetních prostředků Azure.
- Účet úložiště, kontejner nebo objekt blob, ke kterému
File
vlastníci přistupuje.
Také se ujistěte, že název pracovní skupiny prostředků je pro každou šablonu obrázku jedinečný.
Další informace o konfiguracioprávněních
Chyba při získávání spravované image
Chyba
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
Příčina
Chybí oprávnění.
Řešení
V závislosti na vašem scénáři může Image Builder virtuálního počítače potřebovat oprávnění k:
- Zdrojová image nebo skupina prostředků Galerie výpočetních prostředků Azure
- Distribuční image nebo prostředek Galerie výpočetních prostředků Azure.
- Účet úložiště, kontejner nebo objekt blob, ke kterému
File
vlastníci přistupuje.
Další informace o konfiguracioprávněních
Krok sestavení pro verzi image se nezdařil.
Chyba
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."
Příčina
Image Builder virtuálního počítače nemůže najít zdrojovou image.
Řešení
Ujistěte se, že je zdrojová image správná a existuje v umístění Nástroje image virtuálního počítače.
Stažení externího souboru do místního souboru
Chyba
Downloading external file (<myFile>) to local file (xxxxx.0.customizer.fp) [attempt 1 of 10] failed: Error downloading '<myFile>' to 'xxxxx.0.customizer.fp'..
Příčina
Název souboru nebo umístění je nesprávné nebo umístění není dostupné.
Řešení
Ujistěte se, že je soubor dostupný. Ověřte správnost názvu a umístění.
Chyba autorizace při vytváření disku
Sestavení Azure Image Builderu selže s chybou autorizace, která vypadá takto:
Chyba
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.'
Příčina
K této chybě dochází při pokusu o zadání existující skupiny prostředků a virtuální sítě do služby Azure Image Builder se zdrojovou imagí Windows.
Řešení
Roli přispěvatele musíte přiřadit ke skupině prostředků instančního objektu odpovídající aplikaci první strany Azure Image Builderu pomocí příkazu rozhraní příkazového řádku nebo pokynů na portálu níže.
Nejprve pomocí následujícího příkazu rozhraní příkazového řádku ověřte, že je instanční objekt přidružený k aplikaci Azure Image Builderu první strany:
az ad sp show --id {servicePrincipalName, or objectId}
Pak k implementaci tohoto řešení pomocí rozhraní příkazového řádku použijte následující příkaz:
az role assignment create -g {ResourceGroupName} --assignee {AibrpSpOid} --role Contributor
Pokud chcete toto řešení implementovat na portálu, postupujte podle pokynů v této dokumentaci: Přiřaďte role Azure pomocí webu Azure Portal – Azure RBAC.
Krok 1: Určení potřebného oboru: Potřebný obor je vaše skupina prostředků.
Krok 3: Vyberte příslušnou roli: Role je Přispěvatel.
Krok 4: Vyberte, kdo potřebuje přístup: Vyberte člena Azure Virtual Machine Image Builder.
Pak přejděte ke kroku 6: Přiřazení role k přiřazení role.
Řešení potíží se selháními sestavení
V případě selhání sestavení image se zobrazí chyba z lastrunstatus
souboru a zkontrolujte podrobnosti v souboru customization.log .
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object LastRunStatus, LastRunStatusMessage
Protokol přizpůsobení
Přístup k živým protokolům během sestavování imagí
Pokud chcete efektivně monitorovat průběh sestavení image, můžete přistupovat k živým protokolům vygenerovaným Azure Image Builderem (AIB) ve službě Azure Container Instances (ACI). Tyto protokoly poskytují přehledy o procesu sestavení v reálném čase a pomáhají identifikovat případné problémy nebo potvrdit, že sestavení pokračuje podle očekávání. Podle následujících kroků vyhledejte a prohlédněte si tyto živé protokoly.
- Spusťte sestavení image: Spusťte proces sestavení image.
- Přejděte do skupin prostředků: Přejděte na web Azure Portal a vyberte Skupiny prostředků. Vyfiltrujte podle předplatného, ve kterém bylo zahájeno sestavení image.
- Vyberte skupinu prostředků: Vyhledejte a vyberte pracovní skupinu prostředků přidruženou k sestavení image. Toto je skupina prostředků, která obsahuje prostředky sestavení služby AIB. Další informace o pracovní skupině prostředků naleznete v tématu Vlastnosti: stagingResourceGroup.
- Vyhledejte kontejner sestavení: V této skupině prostředků vyhledejte prostředek s názvem "vmimagebuilder-build-container-**********". Pokud není vidět, počkejte několik minut a aktualizujte stránku.
- Přístup k nastavení kontejneru: V levém podokně v části Nastavení vyberte Kontejnery.
- Zobrazit protokoly: Přejděte na kartu Protokoly a zobrazte živé protokoly během procesu sestavení image.
Pokud se nezobrazují žádné protokoly, zkuste kontejner po několika minutách aktualizovat.
Stažení vlastního a/nebo ověřovacího protokolu po sestavení image
Po dokončení sestavení image se protokoly přizpůsobení a ověření uloží do kontejneru v rámci účtu úložiště v přípravné skupině prostředků vytvořené službou VM Image Builder. Další informace o pracovní skupině prostředků naleznete v tématu Vlastnosti: stagingResourceGroup.
Poznámka:
Při přístupu k customization.log
souboru nebo souboru validation.log
je důležité si uvědomit, že pokud se sestavení image spustilo několikrát, bude v kontejneru packerlogs
více složek. Tyto složky jsou uspořádány v pořadí od nejstaršího sestavení po nejnovější.
Postupujte podle následujících kroků a vyhledejte a stáhněte customization.log
soubor validation.log
:
- Vyberte Účet úložiště: Na webu Azure Portal přejděte na příslušný účet úložiště filtrováním účtů úložiště v rámci přípravné skupiny prostředků vytvořené službou VM Image Builder. Další informace o pracovní skupině prostředků naleznete v tématu Vlastnosti: stagingResourceGroup.
- Přístup k úložišti dat: V rámci účtu úložiště přejděte na Úložiště dat.
- Otevřít kontejner: Vyberte možnost Kontejner a pak zvolte
packerlogs
kontejner. - Zvolte správnou složku: V kontejneru
packerlogs
se zobrazí více složek, pokud se sestavení image spustilo několikrát. Tyto složky jsou uspořádány od nejstaršího sestavení po nejnovější. Vyberte složku odpovídající sestavení, které vás zajímá. - Stáhněte soubor protokolu: Ve vybrané složce vyberte
customization.log
a/nebovalidation.log
soubor a potom kliknutím na tlačítko Stáhnout stáhněte jeho obsah.
Principy protokolu přizpůsobení
Protokol je podrobný. Týká se sestavení image, včetně jakýchkoli problémů s distribucí imagí, jako je replikace galerie výpočetních prostředků Azure. Tyto chyby se zobrazí v chybové zprávě o stavu šablony obrázku.
Soubor customization.log
obsahuje následující fáze:
Nasaďte virtuální počítač sestavení a závislosti pomocí šablon ARM do fáze IT_ přípravné skupiny prostředků. Tato fáze zahrnuje několik poST pro poskytovatele prostředků VM Image Builderu:
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 ... ..
Stav fáze nasazení Tato fáze zahrnuje stav každého nasazení prostředků:
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=""
Připojte se k fázi sestavení virtuálního počítače .
Ve Windows se Image Builder virtuálního počítače připojuje pomocí 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.
V Linuxu se Image Builder virtuálního počítače připojuje pomocí 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!
Spusťte fázi přizpůsobení . Při spuštění vlastních nastavení je můžete identifikovat kontrolou customization.log souboru. Vyhledejte (telemetrická data).
(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
Fáze zrušení zřízení Image Builder virtuálního počítače přidá skrytý úpravce. Tento krok zrušení zřízení zodpovídá za přípravu virtuálního počítače na zrušení zřízení. Ve Windows běží
Sysprep
(pomocí c:\DeprovisioningScript.ps1). V Linuxu běžíwaagent-deprovision
(pomocí /tmp/DeprovisioningScript.sh).Příklad:
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."}
Fáze vyčištění Po dokončení sestavení se prostředky Image Builderu virtuálního počítače odstraní.
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 ...
Tipy pro řešení potíží se skriptem nebo vloženou úpravou
- Před jeho dodáním do Nástroje image virtuálního počítače otestujte kód.
- Ujistěte se, že Azure Policy a brána firewall umožňují připojení ke vzdáleným prostředkům.
- Výstup komentářů do konzoly pomocí
Write-Host
neboecho
. Když to uděláte, můžete prohledávat customization.log soubor.
Řešení běžných chyb sestavení
Nasazení šablony selhalo kvůli porušení zásad.
Chyba
{
"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>"
}
Příčina
Výše uvedená chyba porušení zásad je výsledkem použití služby Azure Key Vault se zakázaným veřejným přístupem. V tuto chvíli Azure Image Builder tuto konfiguraci nepodporuje.
Řešení
Služba Azure Key Vault se musí vytvořit s povoleným veřejným přístupem.
Selhání příkazu sestavení packeru
Chyba
"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."
Příčina
Selhání vlastního nastavení
Řešení
Zkontrolujte protokol a vyhledejte selhání úpravce. Vyhledejte (telemetrická data).
Příklad:
(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
Překročení časového limitu
Chyba
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'
Příčina
Sestavení překročilo časový limit sestavení. Tato chyba se zobrazuje v "lastrunstatus".
Řešení
Zkontrolujte soubor customization.log. Identifikujte posledního úpravce, který se má spustit. Vyhledejte (telemetrická data) od dolní části protokolu.
Zkontrolujte přizpůsobení skriptů. Vlastní nastavení nemusí potlačit interakci uživatelů u příkazů, jako
quiet
jsou například možnosti. Výsledkem je napříkladapt-get install -y
spuštění skriptu, které čeká na interakci uživatele.Pokud k stahování artefaktů větších než 20 MB používáte
File
úpravce, přečtěte si část Alternativní řešení.Zkontrolujte chyby a závislosti ve skriptu, které můžou způsobit čekání skriptu.
Pokud očekáváte, že přizpůsobení potřebuje více času, zvyšte hodnotu buildTimeoutInMinutes. Výchozí hodnota je 4 hodiny.
Pokud máte akce náročné na prostředky, jako je například stahování gigabajtů (GB) souborů, zvažte základní velikost virtuálního počítače sestavení. Služba používá virtuální počítač Standard_D1_v2. Virtuální počítač má 1 virtuální procesor a 3,5 GB paměti. Pokud stahujete 50 GB, pravděpodobně vyčerpáte prostředky virtuálního počítače a způsobíte selhání komunikace mezi nástrojem VM Image Builder a virtuálním počítačem sestavení. Zkuste sestavení zopakovat s virtuálním počítačem s větší pamětí nastavením VM_size.
Doba stahování dlouhého souboru
Chyba
[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
Příčina
File
vlastníci stahují velký soubor.
Řešení
File
úpravce je vhodný pouze pro malé (méně než 20 MB) soubory ke stažení. Pro větší soubory ke stažení použijte skript nebo vložený příkaz. Například v Linuxu můžete použít wget
nebo curl
. Ve Windows můžete použít Invoke-WebRequest
.
Tvůrci se nepřetržitě nedaří spustit Windows-Restart s kódem chyby 1190
Chyba
[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.
Příčina
Krok aktualizace windows deklaruje předčasně v imagích založených na Windows Serveru 2016.
Řešení
Zvětšete restartTimeout
z 15 minut na 30 minut.
Chyba při čekání na galerii výpočetních prostředků Azure
Chyba
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}
Příčina
Vypršení časového limitu v Tvůrci imagí virtuálního počítače vypršel, než se image přidá a replikuje do Galerie výpočetních prostředků Azure. Pokud se image vloží do galerie, můžete předpokládat, že sestavení image bylo úspěšné. Celkový proces ale selhal, protože Tvůrce imagí virtuálního počítače čekal na dokončení replikace v Galerii výpočetních prostředků Azure. I když sestavení selhalo, replikace pokračuje. Vlastnosti verze image můžete získat kontrolou runOutput distribuce.
$runOutputName=<distributionRunOutput>
az resource show \
--ids "/subscriptions/$subscriptionID/resourcegroups/$imageResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/$imageTemplateName/runOutputs/$runOutputName" \
--api-version=2020-02-14
Řešení
Zvyšte hodnotu buildTimeoutInMinutes
.
Události s nízkými informacemi o prostředcích Windows
Chyba
[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
Příčina
Vyčerpání prostředků K tomuto problému běžně dochází u služba Windows Update spuštěných s výchozí velikostí virtuálního počítače sestavení D1_V2.
Řešení
Zvětšete velikost virtuálního počítače sestavení.
Sestavení bylo dokončeno, ale nevytvořilo se žádné artefakty.
Upozorňující
[<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.
Řešení
Výše uvedené upozornění můžete bezpečně ignorovat.
Přeskočení vytváření obrázků
Upozorňující
[<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
Řešení
Výše uvedené upozornění můžete bezpečně ignorovat.
Prostředek nebyl nalezen.
Chyba
"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.\""
},
Příčina
Chybí oprávnění.
Řešení
Znovu zkontrolujte, jestli má Image Builder virtuálního počítače všechna oprávnění, která vyžaduje.
Další informace o konfiguracioprávněních
Sysprep
načasování
Chyba
[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 ...
Příčina
Příčinou může být problém s načasováním kvůli velikosti virtuálního počítače D1_V2. Pokud jsou vlastní nastavení omezená a spouští se za méně než tři sekundy, Sysprep
příkazy se spouštějí nástrojem VM Image Builder za účelem zrušení zřízení. Když nástroj Image Builder virtuálního počítače zruší zřízení, Sysprep
příkaz zkontroluje agenta WindowsAzureGuestAgent, který nemusí být plně nainstalovaný a může způsobit problém s načasováním.
Řešení
Pokud se chcete vyhnout problému s časováním, můžete zvětšit velikost virtuálního počítače nebo můžete přidat 60sekundové přizpůsobení režimu spánku PowerShellu.
Zrušení registrace poskytovatele služby Azure Container Instances
Chyba
Azure Container Instances provider not registered for your subscription.
Příčina
Vaše předplatné šablony nemá zaregistrovaného poskytovatele služby Azure Container Instances.
Řešení
Zaregistrujte poskytovatele služby Azure Container Instances pro vaše předplatné šablony a přidejte příkazy Azure CLI nebo PowerShellu:
- Azure CLI:
az provider register -n Microsoft.ContainerInstance
- PowerShell:
Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance
Překročení kvóty služby Azure Container Instances
Chyba
Azure Container Instances quota exceeded"
Příčina
Vaše předplatné nemá dostatečnou kvótu služby Azure Container Instances (ACI) pro Azure Image Builder k úspěšnému sestavení image.
Řešení
Kvótu ACI pro Azure Image Builder můžete zpřístupnit následujícím postupem:
- Vyhledejte jiné využití služby Azure Container Instances ve vašem předplatném a odeberte všechny nepotřebné instance, aby bylo možné zpřístupnit kvótu pro Azure Image Builder.
- Azure Image Builder nasadí ACI pouze dočasně, když probíhá sestavení. Po dokončení sestavení se tyto instance odstraní. Pokud ve vašem předplatném probíhá příliš mnoho souběžných buildů imagí, můžete zvážit zpoždění některých buildů imagí. Tím se sníží souběžné využití ACI ve vašem předplatném. Pokud jsou šablony imagí nastavené pro automatické sestavení imagí pomocí triggerů, azure Image Builder tyto neúspěšné sestavení automaticky zopakuje.
- Pokud jsou aktuální limity ACI pro vaše předplatné příliš nízké, abyste mohli podporovat scénáře vytváření imagí, můžete požádat o navýšení kvóty ACI.
Poznámka:
Pro sestavení izolovaných imagí se vyžadují prostředky ACI.
Příliš mnoho služby Azure Container Instances nasazených během časového období
Chyba
Příliš mnoho instancí kontejnerů Azure nasazených během časového období
Příčina
Vaše předplatné nemá dostatečnou kvótu služby Azure Container Instances (ACI) pro Azure Image Builder k úspěšnému souběžnému sestavování imagí.
Řešení
Můžete udělat toto:
- Opakujte neúspěšné sestavení méně souběžným způsobem.
- Pokud jsou aktuální limity ACI pro vaše předplatné příliš nízké, abyste mohli podporovat scénáře vytváření imagí, můžete požádat o navýšení kvóty ACI.
Selhání sestavení izolované image
Chyba
Sestavení Azure Image Builderu selhávají kvůli izolovanému sestavení image.
Příčina
Sestavení Azure Image Builderu můžou selhat z důvodů uvedených jinde v tomto dokumentu. Existuje ale malá šance, že sestavení selže kvůli sestavení izolované image v závislosti na vašem scénáři, kvótách předplatného nebo nějaké nepředvídatelné chybě služby. Další informace najdete v tématu Sestavení izolovaných imagí.
Řešení
Pokud zjistíte, že sestavení selhává kvůli sestavení izolované image, můžete provést následující kroky:
- Ujistěte se, že žádná služba Azure Policy neblokuje nasazení prostředků uvedených v části Požadavky, konkrétně služby Azure Container Instances.
- Ujistěte se, že vaše předplatné má dostatečnou kvótu služby Azure Container Instances pro podporu všech souběžných sestavení imagí. Další informace najdete v tématu Překročení kvóty služby Azure Container Instances.
Azure Image Builder je aktuálně v procesu nasazování buildů izolovaných imagí. Konkrétní šablony obrázků nejsou svázané s sestaveními izolovaných imagí a stejná šablona image může nebo nemusí během různých sestavení využívat izolované sestavení imagí. Pokud chcete dočasně spustit sestavení bez sestavení izolované image, můžete provést následující kroky.
- Zkuste sestavení zopakovat. Vzhledem k tomu, že šablony obrázků nejsou svázané s funkcí sestavení izolované image, má opakování sestavení vysokou pravděpodobnost opětovného spouštění bez sestavení izolovaných imagí.
Pokud žádná z těchto řešení nezmírní neúspěšné sestavení imagí, můžete kontaktovat podpora Azure a dočasně vyjádřit výslovný nesouhlas s předplatným sestavení izolovaných imagí. Další informace najdete v tématu Vytvoření žádosti o podporu Azure.
Poznámka:
Izolované sestavení imagí se nakonec povolí ve všech oblastech a šablonách. Výše uvedená omezení rizik by proto měla být považována za dočasnou a musí být vyřešena základní příčina selhání sestavení.
Sestavení se zruší po zrušení kontextu.
Chyba
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
Příčina
Image Builder virtuálního počítače používá k připojení k virtuálnímu počítači sestavení port 22 (Linux) nebo 5986 (Windows). K tomu dochází, když se služba během sestavení image odpojí od virtuálního počítače sestavení. Důvody odpojení se mohou lišit, ale povolení nebo konfigurace brány firewall ve skriptu může blokovat dříve uvedené porty.
Řešení
Zkontrolujte změny nebo povolení brány firewall nebo změny SSH nebo WinRM a ujistěte se, že všechny změny umožňují konstantní připojení mezi službou a buildovým virtuálním počítačem na dříve uvedených portech. Další informace najdete v tématu Možnosti sítě VM Image Builderu.
Chyby JWT v protokolu v rané fázi sestavení
Chyba
V rané fázi procesu sestavení se sestavení nezdaří a protokol indikuje chybu webového tokenu JSON (JWT):
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:
Příčina
Hodnota buildTimeoutInMinutes
v šabloně je nastavená na 1 až 5 minut.
Řešení
Jak je popsáno v tématu Vytvoření šablony Image Builderu virtuálního počítače, časový limit musí být nastavený na hodnotu 0, aby se výchozí nastavení použilo nebo je nastaveno na více než 5 minut, aby se výchozí nastavení přepsaly. Změňte časový limit šablony na 0, abyste použili výchozí nebo minimálně 6 minut.
Chyby odstranění prostředků
Chyba
Přechodné prostředky se vyčistí směrem ke konci sestavení a v protokolu přizpůsobení se může zobrazit několik chyb odstranění prostředků:
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"...
Příčina
Tyto zprávy protokolu chyb jsou většinou neškodné, protože odstranění prostředků se několikrát opakuje a obvykle se nakonec úspěšně zopakují. Můžete to ověřit tak, že budete pokračovat v sledování protokolů odstranění, dokud neuslyšite zprávu o úspěchu. Případně můžete zkontrolovat pracovní skupinu prostředků a ověřit, jestli se prostředek odstranil.
Provádění těchto pozorování je zvlášť důležité v případě selhání sestavení, kdy tyto chybové zprávy můžou vést k závěru, že jsou příčinou selhání, i když můžou být skutečné chyby jinde.
Chyba
Když se image zablokují při odstraňování šablony, může se v protokolu přizpůsobení zobrazit následující chyba:
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=[]
Příčina
K této chybě dochází, protože síťové rozhraní se aktuálně používá s privátním koncovým bodem.
Řešení
Pokud chcete tento problém vyřešit, odstraňte následující prostředky jeden po druhém v konkrétním pořadí:
- Připojení privátního koncového bodu Najdete ho v prostředku služby private link tak, že přejdete na kartu Připojení privátního koncového bodu na stránce prostředku služby Private Link.
- Služba Private Link
- Síťové rozhraní a nástroj pro vyrovnávání zatížení
- Skupina prostředků:
- Šablona obrázku
Pokud potřebujete další pomoc, můžete kontaktovat podpora Azure a vyřešit chybu zablokované odstranění.
Distribuce cíle nebyla v požadavku na aktualizaci nalezena.
Chyba
Validation failed: Distribute target with Runoutput name <runoutputname> not found in the update request. Deleting a distribution target is not allowed.
Příčina
K této chybě dochází v případě, že se v textu požadavku Patch nenajde existující cíl distribuce.
Řešení
Distribuční pole by mělo obsahovat všechny distribuční cíle, tj. nové cíle (pokud existují), stávající cíle beze změn a aktualizovaných cílů. Pokud chcete odebrat existující distribuční cíl, odstraňte a znovu vytvořte šablonu image, protože odstranění distribučního cíle se v současné době nepodporuje prostřednictvím rozhraní Patch API.
Chybějící požadovaná pole
Chyba
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.
Příčina
K této chybě dochází v případě, že v cíli distribuce chybí požadované pole.
Řešení
Při vytváření požadavku zadejte všechna požadovaná pole v cíli distribuce, i když nedošlo k žádné změně.
Úlohy DevOps
Řešení potíží s úlohou
Úloha selže pouze v případě, že dojde k chybě během přizpůsobení. V takovém případě úloha hlásí selhání a ponechá pracovní skupinu prostředků s protokoly, abyste mohli problém identifikovat.
Pokud chcete protokol najít, musíte znát název šablony. Přejděte do >buildu, který selhal, a přejděte k podrobnostem úlohy DevOps VM Image Builderu.
Zobrazí se protokol a název šablony:
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
- Přejděte na web Azure Portal, vyhledejte název šablony ve skupině prostředků a pak skupinu prostředků vyhledejte zadáním IT_*.
- Vyberte protokoly> kontejnerů>s názvem >účtu úložiště.
Řešení potíží s úspěšnými buildy
Někdy může být potřeba prošetřit úspěšné buildy a zkontrolovat jejich protokoly. Jak už bylo zmíněno dříve, pokud je sestavení image úspěšné, pracovní skupina prostředků, která obsahuje protokoly, se v rámci vyčištění odstraní. Pokud ale chcete zabránit automatickému vyčištění, můžete za vloženým příkazem sleep
zavést příkaz a pak zobrazit protokoly, když je sestavení pozastavené. Provedete to následovně:
- Aktualizujte vložený příkaz přidáním Write-Host / Echo "Sleep". Díky tomu můžete hledat v protokolu.
sleep
Přidejte hodnotu nejméně 10 minut pomocí příkazu Start-Sleep neboSleep
Linux.- Tuto metodu použijte k identifikaci umístění protokolu a pak pokračujte stahováním nebo kontrolou protokolu, dokud se nedostane na
sleep
.
Operace byla zrušena.
Chyba
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
Příčina
Pokud uživatel sestavení nezrušil, zrušil ho uživatelský agent Azure DevOps. Pravděpodobně došlo k 1hodinovému vypršení časového limitu kvůli možnostem Azure DevOps. Pokud používáte soukromý projekt a agenta, získáte 60 minut času sestavení. Pokud sestavení překročí časový limit, DevOps zruší spuštěnou úlohu.
Další informace o možnostech a omezeních Azure DevOps najdete v tématu Agenti hostovaní Microsoftem.
Řešení
Můžete hostovat vlastní agenty DevOps nebo můžete zkrátit dobu sestavení. Pokud například distribuujete do Galerie výpočetních prostředků Azure, můžete je replikovat do jedné oblasti nebo je asynchronně replikovat.
Pomalé přihlášení k Windows
Chyba
K této chybě může dojít při vytváření image Windows 10 pomocí nástroje VM Image Builder, vytvoření virtuálního počítače z image a následného použití protokolu RDP (Remote Desktop Protocol). Počkejte několik minut na první přihlašovací obrazovce a pak modrá obrazovka zobrazí následující zprávu:
Please wait for the Windows Modules Installer
Řešení
V sestavení image zkontrolujte, že:
- Přidání úpravce restartování systému Windows jako posledního přizpůsobení nevyžaduje žádné nevyřízených restartování.
- Instalace veškerého softwaru je dokončená.
Přidejte možnost /mode:vm do výchozího nastavení
Sysprep
, kterou používá Image Builder virtuálního počítače. Další informace najdete v části Přepsání příkazů v části Virtuální počítače vytvořené z imagí VM Image Builderu se nevytvořily úspěšně.
Virtuální počítače vytvořené z imagí Image Builderu virtuálních počítačů se úspěšně nevytvořily.
Ve výchozím nastavení nástroj Image Builder pro virtuální počítač spouští na konci každé fáze přizpůsobení image kód zrušení zřízení , aby se image zobecněla . Pokud chcete image zobecnit, je nastavit ji tak, aby se znovu používala k vytvoření několika virtuálních počítačů. V rámci tohoto procesu můžete předat nastavení virtuálního počítače, jako je název hostitele, uživatelské jméno atd. Ve Windows běží Sysprep
Image Builder virtuálního počítače a v Linuxu běží Image Builder virtuálního počítače waagent -deprovision
.
Ve Windows používá Image Builder virtuálního počítače obecný Sysprep
příkaz. Tento příkaz však nemusí být vhodný pro každou úspěšnou generalizaci Systému Windows. Pomocí nástroje VM Image Builder můžete příkaz přizpůsobit Sysprep
. Všimněte si, že VM Image Builder je nástroj pro automatizaci imagí, který je zodpovědný za úspěšné spuštění Sysprep
příkazu. K opětovnému použití obrázku ale možná budete potřebovat jiné Sysprep
příkazy. V Linuxu používá Image Builder virtuálního počítače obecný waagent -deprovision+user
příkaz. Další informace najdete v dokumentaci k agentu Microsoft Azure Linux.
Pokud migrujete existující přizpůsobení a používáte různé Sysprep
příkazy nebo waagent
příkazy, můžete vyzkoušet obecné příkazy VM Image Builderu. Pokud se vytvoření virtuálního počítače nezdaří, použijte předchozí Sysprep
příkazy nebo waagent
příkazy.
Předpokládejme, že jste pomocí Image Builderu virtuálního počítače úspěšně vytvořili vlastní image Windows, ale nepodařilo se vám z image úspěšně vytvořit virtuální počítač. Vytvoření virtuálního počítače se například nedokončí nebo vyprší jeho časový limit. V tomto případě proveďte jednu z následujících akcí:
- Projděte si dokumentaci k nástroji Sysprep systému Windows Server.
- Vytvořte žádost o podporu s týmem podpory zákaznických služeb pro Windows Server Sysprep. Můžou vám pomoct s řešením vašeho problému a poradit vám se správným
Sysprep
příkazem.
Umístění příkazů a názvy souborů
Ve Windows:
c:\DeprovisioningScript.ps1
V Linuxu:
/tmp/DeprovisioningScript.sh
Příkaz Sysprep
: 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 ...'
Příkaz -deprovision
: Linux
sudo /usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync
Přepsání příkazů
Pokud chcete příkazy přepsat, pomocí zřizovacích příkazů PowerShellu nebo skriptů prostředí vytvořte soubory příkazů s přesným názvem souboru a vložte je do dříve uvedených adresářů. Image Builder virtuálního počítače načte tyto příkazy a zapíše výstup do souboru customization.log .
Získání podpory
Pokud jste na pokyny odkazovali a stále máte problémy, můžete otevřít případ podpory. Nezapomeňte vybrat správný produkt a téma podpory. Tím zajistíte, že jste připojení k týmu podpory Azure VM Image Builderu.
Výběr produktu případ:
Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: Azure Features
Support Subtopic: Azure Image Builder
Další kroky
Další informace najdete v tématu Přehled nástroje Image Builder virtuálního počítače.