Azure VM Görüntü Oluşturucu sorunlarını giderme
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Azure VM Görüntü Oluşturucusu'nu kullanırken karşılaşabileceğiniz yaygın sorunları gidermek ve çözmek için bu makaleyi kullanın.
Önkoşullar
Derleme oluştururken aşağıdakileri yapın:
- VM Görüntü Oluşturucu hizmeti, WinRM veya Secure Shell (SSH) kullanarak derleme VM'sine iletişim kurar. Derlemenin bir parçası olarak bu ayarları devre dışı bırakma*.
- VM Görüntü Oluşturucusu, derlemelerin bir parçası olarak hazırlama kaynak grubunda kaynaklar oluşturur. Kaynakların tam listesi, görüntü şablonunda belirtilen ağ yapılandırmasına bağlıdır. Azure İlkesi VM Görüntü Oluşturucusu'nun gerekli kaynakları oluşturmasını veya kullanmasını engellemediğinden emin olun.
- bir IT_ kaynak grubu oluşturun.
- Güvenlik duvarı olmadan bir depolama hesabı oluşturun.
- Azure Container Instances'ı dağıtma.
- Azure Sanal Ağ kaynaklarını (ve alt ağları) dağıtın.
- Azure Özel Uç Nokta kaynaklarını dağıtma.
- Azure Dosyalar dağıtın.
- Azure İlkesi'nin azure uzantıları gibi istenmeyen özellikleri derleme VM'sine yüklemediğini doğrulayın.
- VM Görüntü Oluşturucusu'nun görüntüleri okumak/yazmak ve depolama hesabına bağlanmak için doğru izinlere sahip olduğundan emin olun. Daha fazla bilgi için Azure CLI veya Azure PowerShell için izin belgelerini gözden geçirin.
- Betikler veya satır içi komutlar hatalarla (sıfır olmayan çıkış kodları) başarısız olursa VM Görüntü Oluşturucusu derlemeyi başarısız yapar. Özel betikleri test ettiğinizden ve bunların hatasız (çıkış kodu 0) veya kullanıcı girişi gerektirdiğinden emin olun. Daha fazla bilgi için bkz . VM Görüntü Oluşturucusu ve PowerShell kullanarak Azure Sanal Masaüstü görüntüsü oluşturma.
- Aboneliğinizin yeterli Azure Container Instances kotası olduğundan emin olun.
- Her görüntü derlemesi, hazırlama kaynak grubunda en fazla bir geçici Azure Container Instance kaynağı (dört standart çekirdekten oluşan) dağıtabilir. Bu kaynaklar Yalıtılmış görüntü derlemeleri için gereklidir.
VM Görüntü Oluşturucusu hataları iki alanda oluşabilir:
- Görüntü şablonu gönderme sırasında
- Görüntü oluşturma sırasında
Not
CIS tarafından yönetilen Azure markette CIS sağlamlaştırılmış görüntüler (Linux veya Windows), yapılandırmaları nedeniyle Azure Image Builder hizmetinde derleme hatalarına neden olabilir. Örneğin:
- CIS Sağlamlaştırılmış Windows görüntüleri, AIB derlemesi için bir önkoşul olan WinRM bağlantısını kesintiye uğratabilir.
- CIS Linux görüntüleri izin sorunları nedeniyle
chmod +x
başarısız olabilir.
Görüntü şablonu gönderme hatalarını giderme
Görüntü şablonu gönderme hataları yalnızca gönderim sırasında döndürülür. Görüntü şablonu gönderme hataları için hata günlüğü yok. Gönderme sırasında bir hata varsa, şablonun durumunu denetleyerek, özellikle ve ProvisioningErrorMessage
/provisioningError
'yi gözden geçirerek ProvisioningState
hatayı döndürebilirsiniz.
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object ProvisioningState, ProvisioningErrorMessage
Not
PowerShell için VM Görüntü Oluşturucusu PowerShell modüllerini yüklemeniz gerekir.
Önemli
API sürüm 2021-10-01, gelecekteki her API sürümünün parçası olacak hata şemasında bir değişiklik sağlar. Azure VM Görüntü Oluşturucusu otomasyonlarınız varsa API 2021-10-01 veya sonraki bir sürüme geçiş yaptığınızda yeni hata çıkışına dikkat edin. En son API sürümüne geçtikten sonra önceki bir sürüme geri dönmemenizi öneririz çünkü önceki hata şemasını oluşturmak için otomasyonunuzu yeniden değiştirmeniz gerekir. Gelecek sürümlerde hata şemasını yeniden değiştirebileceğimizi tahmin etmeyeceğiz.
Sürüm 2020-02-14 ve öncesi için hata çıktısı
{
"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."
}
Sürüm 2021-10-01 ve üzeri için hata çıktısı
{
"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şağıdaki bölümlerde yaygın görüntü şablonu gönderme hataları için sorun çözümleme kılavuzu verilmiştir.
Görüntü şablonlarının güncelleştirilmesi veya yükseltilme şu anda desteklenmiyor
Hata
'Conflict'. Details: Update/Upgrade of image templates is currently not supported
Neden
Şablon zaten var.
Çözüm
Bir görüntü yapılandırma şablonu gönderirseniz ve gönderim başarısız olursa, başarısız bir şablon yapıtı hala var olur. Başarısız şablonu silin.
Görüntü şablonlarında MSI'yi yeniden atama
Hata
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.
Neden
Görüntü şablonuna atanan Yönetilen Hizmet Kimliklerinin (MSI) kullanılamadığı durumlar vardır:
- Görüntü Oluşturucusu şablonu müşteri tarafından sağlanan hazırlama kaynak grubunu kullanır ve görüntü şablonu silinmeden önce MSI silinir (hazırlama kaynak grubu senaryosu)
- Görüntü şablonuna atanan oluşturulan Yönetilen Hizmet Kimlikleri (MSI) kullanılamaz
Çözüm
Görüntü şablonundaki kimliği sıfırlamak için Azure CLI kullanın. Azure CLI'yi 2.45.0 veya sonraki bir sürüme güncelleştirdiğinizden emin olun.
Yönetilen kimliği hedef görüntü oluşturucu şablonundan kaldırma
az image builder identity remove -g <template resource group> -n <template name> --user-assigned <identity resource id>
Hedef görüntü oluşturucu şablonuna kimliği yeniden atama
az image builder identity assign -g <template rg> -n <template name> --user-assigned <identity resource id>
Kaynak işlemi "Başarısız" terminal sağlama durumuyla tamamlandı
Hata
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."
Neden
Çoğu durumda, eksik izinler nedeniyle kaynak dağıtım hatası oluşur. Bu hata, hazırlama kaynak grubuyla çakışmadan da kaynaklanabilir.
Çözüm
Senaryonuza bağlı olarak, VM Görüntü Oluşturucusu'nda aşağıdakiler için izinler gerekebilir:
- Kaynak görüntü veya Azure İşlem Galerisi (eski adıyla Paylaşılan Görüntü Galerisi) kaynak grubu.
- Dağıtım görüntüsü veya Azure İşlem Galerisi kaynağı.
- Özelleştiricinin eriştiği
File
depolama hesabı, kapsayıcı veya blob.
Ayrıca, hazırlama kaynak grubu adının her görüntü şablonu için benzersiz olarak belirtildiğinden emin olun.
İzinleri yapılandırma hakkında daha fazla bilgi için bkz . Azure CLI kullanarak VM Görüntü Oluşturucusu izinlerini yapılandırma veya PowerShell kullanarak VM Görüntü Oluşturucusu izinlerini yapılandırma.
Yönetilen görüntü alma hatası
Hata
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
Neden
Eksik izinler.
Çözüm
Senaryonuza bağlı olarak, VM Görüntü Oluşturucusu'nda aşağıdakiler için izinler gerekebilir:
- Kaynak görüntü veya Azure İşlem Galerisi kaynak grubu.
- Dağıtım görüntüsü veya Azure İşlem Galerisi kaynağı.
- Özelleştiricinin eriştiği
File
depolama hesabı, kapsayıcı veya blob.
İzinleri yapılandırma hakkında daha fazla bilgi için bkz . Azure CLI kullanarak VM Görüntü Oluşturucusu izinlerini yapılandırma veya PowerShell kullanarak VM Görüntü Oluşturucusu izinlerini yapılandırma.
Görüntü sürümü için derleme adımı başarısız oldu
Hata
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."
Neden
VM Görüntü Oluşturucusu kaynak görüntüyü bulamıyor.
Çözüm
Kaynak görüntünün doğru olduğundan ve VM Görüntü Oluşturucusu'nun konumunda bulunduğundan emin olun.
Dış dosyayı yerel bir dosyaya indirme
Hata
Downloading external file (<myFile>) to local file (xxxxx.0.customizer.fp) [attempt 1 of 10] failed: Error downloading '<myFile>' to 'xxxxx.0.customizer.fp'..
Neden
Dosya adı veya konumu yanlış veya konuma ulaşılamıyor.
Çözüm
Dosyaya ulaşılabilir olduğundan emin olun. Adın ve konumun doğru olduğunu doğrulayın.
Disk oluşturma yetkilendirme hatası
Azure Image Builder derlemesi aşağıdakine benzer bir yetkilendirme hatasıyla başarısız oluyor:
Hata
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.'
Neden
Bu hata, Windows kaynak görüntüsüyle Azure Image Builder hizmetine önceden var olan bir kaynak grubu ve sanal ağ belirtmeye çalışırken oluşur.
Çözüm
Aşağıdaki CLI komutunu veya portal yönergelerini kullanarak Azure Görüntü Oluşturucusu'nun birinci taraf uygulamasına karşılık gelen hizmet sorumlusunun kaynak grubuna katkıda bulunan rolünü atamanız gerekir.
İlk olarak, aşağıdaki CLI komutunu kullanarak hizmet sorumlusunun Azure Görüntü Oluşturucusu'nun birinci taraf uygulamasıyla ilişkilendirildiğini doğrulayın:
az ad sp show --id {servicePrincipalName, or objectId}
Ardından, cli kullanarak bu çözümü uygulamak için aşağıdaki komutu kullanın:
az role assignment create -g {ResourceGroupName} --assignee {AibrpSpOid} --role Contributor
Bu çözümü portalda uygulamak için şu belgelerdeki yönergeleri izleyin: Azure portalını kullanarak Azure rolleri atama - Azure RBAC.
1. Adım: Gerekli kapsamı belirleme için: Gerekli kapsam kaynak grubunuzdur.
3. Adım: Uygun rolü seçin: Rol Katkıda Bulunan'dır.
4. Adım: Erişime ihtiyacı olan kişileri seçin: "Azure Sanal Makine Görüntü Oluşturucusu" üyesini seçin
Ardından, rolü atamak için 6. Adım: Rol ata'ya geçin.
Derleme hatalarını giderme
Görüntü derleme hataları için, hatasını dosyasından lastrunstatus
alın ve customization.log dosyasındaki ayrıntıları gözden geçirin.
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object LastRunStatus, LastRunStatusMessage
Özelleştirme Günlüğü
Görüntü Derlemesi Sırasında Canlı Günlüklere Erişme
Görüntü derlemenizin ilerleme durumunu etkili bir şekilde izlemek için Azure Container Instances'ta (ACI) Azure Görüntü Oluşturucusu (AIB) tarafından oluşturulan canlı günlüklere erişebilirsiniz. Bu günlükler derleme işlemiyle ilgili gerçek zamanlı içgörüler sağlayarak sorunları belirlemenize veya derlemenin beklendiği gibi devam ettiğini onaylamanıza yardımcı olur. Bu canlı günlükleri bulmak ve görüntülemek için aşağıdaki adımları izleyin.
- Görüntü Derlemesini Başlatma: Görüntü derleme işlemini başlatın.
- Kaynak Grupları'na gidin: Azure portalına gidin ve "Kaynak Grupları"nı seçin. Görüntü derlemesinin başlatıldığı aboneliğe göre filtreleyin.
- Kaynak Grubu: Resim derlemesiyle ilişkili hazırlama kaynak grubunu bulun ve seçin. Bu, AIB hizmeti derleme kaynaklarını içeren kaynak grubudur. Hazırlama kaynak grubu hakkında daha fazla bilgi için bkz . Özellikler: stagingResourceGroup.
- Derleme Kapsayıcısı'nı bulun: Bu kaynak grubunda "vmimagebuilder-build-container-**********" adlı kaynağı arayın. Görünmüyorsa, birkaç dakika bekleyin ve sayfayı yenileyin.
- Access Kapsayıcı Ayarları: Sol bölmedeki "Ayarlar" altında "Kapsayıcılar"ı seçin.
- Günlükleri Görüntüle: Görüntü derleme işlemi sırasında canlı günlükleri görüntülemek için "Günlükler" sekmesine gidin.
Günlük görmüyorsanız birkaç dakika sonra kapsayıcıyı yenilemeyi deneyin.
Görüntü Derlemesi Sonrasında Özelleştirme ve/veya Doğrulama Günlüğünü İndirme
Görüntü derlemesi tamamlandıktan sonra özelleştirme ve doğrulama günlükleri, VM Görüntü Oluşturucu hizmeti tarafından oluşturulan hazırlama kaynak grubundaki depolama hesabı içindeki bir kapsayıcıda depolanır. Hazırlama kaynak grubu hakkında daha fazla bilgi için bkz . Özellikler: stagingResourceGroup.
Not
veya validation.log
dosyasına erişirkencustomization.log
, görüntü derlemesi birden çok kez çalıştırıldıysa kapsayıcı içinde packerlogs
birden çok klasör olacağını unutmayın. Bu klasörler, en eski derlemeden en son sürüme kadar sıralı olarak düzenlenir.
veya validation.log
dosyasını bulmak ve indirmek customization.log
için aşağıdaki adımları izleyin:
- Depolama Hesabı'nı seçin: Azure portalında, VM Görüntü Oluşturucusu hizmeti tarafından oluşturulan hazırlama kaynak grubu içindeki depolama hesaplarını filtreleyerek ilgili Depolama Hesabına gidin. Hazırlama kaynak grubu hakkında daha fazla bilgi için bkz . Özellikler: stagingResourceGroup.
- Veri Depolamaya Erişme: Depolama hesabının altında Veri Depolama'ya gidin.
- Kapsayıcı'yı açın: Kapsayıcı seçeneğini belirleyin ve ardından kapsayıcıyı
packerlogs
seçin. - Doğru Klasörü Seçin: Görüntü derlemesi
packerlogs
birden çok kez çalıştırıldıysa kapsayıcının içinde birden çok klasör görürsünüz. Bu klasörler en eski derlemeden en son sürüme kadar düzenlenir. İlgilendiğiniz derlemeye karşılık gelen klasörü seçin. - Günlük Dosyasını indirin: Seçili klasörün içinde ve/veya
validation.log
dosyasını seçincustomization.log
ve ardından İndir'e tıklayarak içeriğini indirin.
Özelleştirme günlüğünü anlama
Günlük ayrıntılıdır. Azure İşlem Galerisi çoğaltması gibi görüntü dağıtımıyla ilgili sorunlar da dahil olmak üzere görüntü derlemesini kapsar. Bu hatalar, görüntü şablonu durumunun hata iletisinde gösterilir.
Dosya customization.log
aşağıdaki aşamaları içerir:
ARM şablonlarını kullanarak derleme VM'sini ve bağımlılıklarını IT_ hazırlama kaynak grubu aşamasına dağıtın. Bu aşama, VM Görüntü Oluşturucusu kaynak sağlayıcısı için birden çok POS içerir:
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 ... ..
Dağıtım aşamasının durumu. Bu aşama, her kaynak dağıtımının durumunu içerir:
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=""
Derleme VM aşamasına bağlanın.
Windows'da, VM Görüntü Oluşturucusu WinRM kullanarak bağlanır:
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.
Linux'ta VM Görüntü Oluşturucusu SSH kullanarak bağlanır:
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!
Özelleştirme aşamasını çalıştırın. Özelleştirmeler çalıştırıldığında, customization.log dosyasını gözden geçirerek bunları tanımlayabilirsiniz. (telemetri) için arama.
(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
Sağlamayı kaldırma aşaması. VM Görüntü Oluşturucusu gizli bir özelleştirici ekler. Bu sağlama kaldırma adımı, VM'yi sağlamayı kaldırmaya hazırlamakla sorumludur. Windows'ta çalışır
Sysprep
(c:\DeprovisioningScript.ps1 kullanılarak). Linux'ta çalışırwaagent-deprovision
(/tmp/DeprovisioningScript.sh kullanılarak).Örneğin:
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."}
Temizleme aşaması. Derleme tamamlandıktan sonra VM Görüntü Oluşturucusu kaynakları silinir.
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 ...
Betik veya satır içi özelleştirme sorunlarını giderme ipuçları
- VM Görüntü Oluşturucusu'na sağlamadan önce kodu test edin.
- Azure İlkesi ve Güvenlik Duvarı'nın uzak kaynaklara bağlanmaya izin verin.
- veya
echo
kullanarakWrite-Host
konsola açıklama çıktısı gönderin. Bunu yaptığınızda customization.log dosyasında arama yapmanıza olanak tanır.
Yaygın derleme hatalarını giderme
İlke ihlali nedeniyle şablon dağıtımı başarısız oldu
Hata
{
"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>"
}
Neden
Yukarıdaki ilke ihlali hatası, genel erişim devre dışı bırakılmış bir Azure Key Vault kullanmanın bir sonucudur. Şu anda Azure Image Builder bu yapılandırmayı desteklemez.
Çözüm
Azure Key Vault genel erişim etkin olarak oluşturulmalıdır.
Packer derleme komutu hatası
Hata
"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."
Neden
Özelleştirme hatası.
Çözüm
Özelleştirici hatalarını bulmak için günlüğü gözden geçirin. (telemetri) için arama.
Örneğin:
(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
Zaman aşımı aşıldı
Hata
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'
Neden
Derleme, derleme zaman aşımını aştı. Bu hata 'lastrunstatus' içinde görülür.
Çözüm
customization.log dosyasını gözden geçirin. Çalıştırılacak son özelleştiriciyi belirleyin. Günlüğün en altından başlayarak (telemetri) araması yapın.
Betik özelleştirmelerini denetleyin. Özelleştirmeler, seçenekler gibi
quiet
komutlar için kullanıcı etkileşimini gizlemiyor olabilir. Örneğin,apt-get install -y
betik yürütmenin kullanıcı etkileşimini beklemesine neden olur.20 MB'tan büyük yapıtları indirmek için özelleştiriciyi kullanıyorsanız
File
geçici çözümler bölümüne bakın.Betikteki betiğin beklemesine neden olabilecek hataları ve bağımlılıkları gözden geçirin.
Özelleştirmelerin daha fazla zamana ihtiyacı olduğunu düşünüyorsanız buildTimeoutInMinutes değerini artırın. Varsayılan değer 4 saattir.
Gigabayt (GB) dosya indirme gibi yoğun kaynak kullanımlı eylemleriniz varsa, temel alınan derleme VM boyutunu göz önünde bulundurun. Hizmet bir Standard_D1_v2 VM kullanır. VM'de 1 vCPU ve 3,5 GB bellek vardır. 50 GB indiriyorsanız büyük olasılıkla VM kaynaklarını tüketip VM Görüntü Oluşturucusu ile derleme VM arasında iletişim hatalarına neden olursunuz. VM_size ayarlayarak derlemeyi daha büyük bellekli bir VM ile yeniden deneyin.
Uzun dosya indirme süresi
Hata
[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
Neden
File
özelleştirici büyük bir dosya indiriyor.
Çözüm
File
özelleştirici yalnızca küçük (20 MB'tan az) dosya indirme işlemleri için uygundur. Daha büyük dosya indirmeleri için bir betik veya satır içi komut kullanın. Örneğin, Linux'ta veya curl
kullanabilirsinizwget
. Windows'da kullanabilirsiniz Invoke-WebRequest
.
Oluşturucu, 1190 hata koduyla Windows-Restart'ı sürekli olarak çalıştıramıyor
Hata
[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.
Neden
Windows Update adımı, Windows Server 2016'ya dayalı görüntülerde erken bildirir.
Çözüm
15 dakikadan 30 dakikaya yükseltin restartTimeout
.
Azure İşlem Galerisi'nde beklerken hata oluştu
Hata
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}
Neden
VM Görüntü Oluşturucusu, görüntünün Azure İşlem Galerisi'ne eklenmesi ve çoğaltılması için zaman aşımına uğradı. Resim galeriye eklenmişse, görüntü derlemesinin başarılı olduğunu varsayabilirsiniz. Ancak VM Görüntü Oluşturucusu çoğaltmayı tamamlamak için Azure İşlem Galerisi'ni beklediğinden genel işlem başarısız oldu. Derleme başarısız olsa da çoğaltma devam eder. RunOutput dağıtımını denetleyerek görüntü sürümünün özelliklerini alabilirsiniz.
$runOutputName=<distributionRunOutput>
az resource show \
--ids "/subscriptions/$subscriptionID/resourcegroups/$imageResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/$imageTemplateName/runOutputs/$runOutputName" \
--api-version=2020-02-14
Çözüm
değerini buildTimeoutInMinutes
artırın.
Düşük Windows kaynak bilgileri olayları
Hata
[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
Neden
Kaynak tükenmesi. Bu sorun genellikle windows update varsayılan derleme VM boyutu D1_V2 ile çalışırken görülür.
Çözüm
Derleme VM boyutunu artırın.
Derleme tamamlandı ama yapıt oluşturulmadı
Uyarı
[<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.
Çözüm
Yukarıdaki uyarı güvenle yoksayılabilir.
Görüntü oluşturma atlanıyor
Uyarı
[<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
Çözüm
Yukarıdaki uyarı güvenle yoksayılabilir.
Kaynak bulunamadı
Hata
"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.\""
},
Neden
Eksik izinler.
Çözüm
VM Görüntü Oluşturucusu'nun gerekli tüm izinlere sahip olduğundan emin olmak için yeniden denetleyin.
İzinleri yapılandırma hakkında daha fazla bilgi için bkz . Azure CLI kullanarak VM Görüntü Oluşturucusu izinlerini yapılandırma veya PowerShell kullanarak VM Görüntü Oluşturucusu izinlerini yapılandırma.
Sysprep
Zamanlama
Hata
[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 ...
Neden
Bunun nedeni D1_V2 VM boyutu nedeniyle bir zamanlama sorunu olabilir. Özelleştirmeler sınırlıysa ve üç saniyeden kısa bir süre içinde çalıştırılıyorsa, Sysprep
sağlamayı kaldırmaya yönelik komutlar VM Görüntü Oluşturucusu tarafından çalıştırılır. VM Görüntü Oluşturucusu sağlamayı Sysprep
kaldırdığında, komut Tam olarak yüklenmemiş ve zamanlama sorununa neden olabilecek WindowsAzureGuestAgent'ı denetler.
Çözüm
Zamanlama sorununu önlemek için VM boyutunu artırabilir veya 60 saniyelik bir PowerShell uyku özelleştirmesi ekleyebilirsiniz.
Kayıtlı olmayan Azure Container Instances sağlayıcısı
Hata
Azure Container Instances provider not registered for your subscription.
Neden
Şablon aboneliğinizde Kayıtlı Azure Container Instances sağlayıcısı yok.
Çözüm
Şablon aboneliğiniz için Azure Container Instances sağlayıcısını kaydedin ve Azure CLI veya PowerShell komutlarını ekleyin:
- Azure CLI:
az provider register -n Microsoft.ContainerInstance
- PowerShell:
Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance
Azure Container Instances kotası aşıldı
Hata
Azure Container Instances quota exceeded"
Neden
Azure Görüntü Oluşturucusu'nun başarıyla görüntü oluşturması için aboneliğinizde yeterli Azure Container Instances (ACI) kotası yok.
Çözüm
Azure Görüntü Oluşturucusu'na ACI kotası sağlamak için aşağıdakileri yapabilirsiniz:
- Azure Image Builder'ın kotasını kullanılabilir hale getirmek için aboneliğinizdeki diğer Azure Container Instances kullanımını arayın ve gereksiz örnekleri kaldırın.
- Azure Image Builder, derleme gerçekleşirken ACI'yi yalnızca geçici olarak dağıtır. Derleme tamamlandıktan sonra bu örnekler silinir. Aboneliğinizde çok fazla eşzamanlı görüntü derlemesi gerçekleştiriliyorsa, görüntü derlemelerinin bazılarını geciktirebilirsiniz. Bu, aboneliğinizde ACI'nin eşzamanlı kullanımını azaltır. Görüntü şablonlarınız tetikleyiciler kullanılarak otomatik görüntü derlemeleri için ayarlandıysa, bu tür başarısız derlemeler Azure Görüntü Oluşturucusu tarafından otomatik olarak yeniden denenecektir.
- Aboneliğinizin geçerli ACI sınırları görüntü oluşturma senaryolarınızı desteklemek için çok düşükse, ACI kotanızda artış isteyebilirsiniz.
Not
Yalıtılmış Görüntü Derlemeleri için ACI kaynakları gereklidir.
Belirli bir süre içinde çok fazla Azure Container Instance dağıtıldı
Hata
"Belirli bir süre içinde çok fazla Azure Container Instance dağıtıldı"
Neden
Aboneliğinizde, Azure Görüntü Oluşturucusu'nun görüntüleri eşzamanlı olarak başarıyla oluşturması için yeterli Azure Container Instances (ACI) kotası yok.
Çözüm
Aşağıdakileri yapabilirsiniz:
- Başarısız derlemelerinizi daha az eşzamanlı bir şekilde yeniden deneyin.
- Aboneliğinizin geçerli ACI sınırları görüntü oluşturma senaryolarınızı desteklemek için çok düşükse, ACI kotanızda artış isteyebilirsiniz.
Yalıtılmış Görüntü Derleme hatası
Hata
Yalıtılmış Görüntü Derlemesi nedeniyle Azure Image Builder derlemeleri başarısız oluyor.
Neden
Azure Image Builder derlemeleri, bu belgenin başka bir yerinde listelenen nedenlerle başarısız olabilir. Ancak senaryonuza, abonelik kotalarınıza veya beklenmedik bir hizmet hatasına bağlı olarak Yalıtılmış Görüntü Derlemeleri nedeniyle derlemenin başarısız olma olasılığı düşüktür. Daha fazla bilgi için bkz . Yalıtılmış Görüntü Derlemeleri.
Çözüm
Yalıtılmış Görüntü Derlemeleri nedeniyle bir derlemenin başarısız olduğunu belirlerseniz aşağıdakileri yapabilirsiniz:
- Önkoşullar bölümünde belirtilen kaynakların (özellikle Azure Container Instances) dağıtımını engelleyen Azure İlkesi olmadığından emin olun.
- Aboneliğinizin tüm eşzamanlı görüntü derlemelerinizi desteklemek için yeterli Azure Container Instance kotasına sahip olduğundan emin olun. Daha fazla bilgi için bkz. Azure Container Instances kotası aşıldı.
Azure Image Builder şu anda Yalıtılmış Görüntü Derlemeleri dağıtma aşamasındadır. Belirli görüntü şablonları Yalıtılmış Görüntü Derlemelerine bağlı değildir ve aynı görüntü şablonu farklı derlemeler sırasında Yalıtılmış Görüntü Derlemeleri'ni kullanabilir veya kullanmayabilir. Yalıtılmış Görüntü Derlemeleri olmadan derlemenizi geçici olarak çalıştırmak için aşağıdakileri yapabilirsiniz.
- Derlemenizi yeniden deneyin. Görüntü Şablonları Yalıtılmış Görüntü Derlemeleri özelliğine bağlı olmadığından, bir derlemenin yeniden denenmesi, Yalıtılmış Görüntü Derlemeleri olmadan yeniden çalıştırma olasılığı yüksektir.
Bu çözümlerden hiçbiri başarısız görüntü derlemelerini azaltmazsa aboneliğinizi Yalıtılmış Görüntü Derlemeleri'nin dışında geçici olarak geri çevirmek için Azure desteği başvurabilirsiniz. Daha fazla bilgi için bkz. Azure destek isteği oluşturma.
Not
Yalıtılmış Görüntü Derlemeleri sonunda tüm bölgelerde ve şablonlarda etkinleştirilecektir. Bu nedenle, yukarıdaki azaltmalar geçici olarak kabul edilmeli ve derleme hatalarının temel nedeni ele alınmalıdır.
Bağlam iptal bağlamı iptal edildikten sonra derleme iptal edilir
Hata
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
Neden
VM Görüntü Oluşturucusu, derleme VM'sine bağlanmak için 22 (Linux) veya 5986 (Windows) numaralı bağlantı noktasını kullanır. Bu durum, bir görüntü derlemesi sırasında hizmetin derleme VM'sinin bağlantısı kesildiğinde oluşur. Bağlantı kesilmesinin nedenleri farklılık gösterebilir, ancak betikte bir güvenlik duvarını etkinleştirmek veya yapılandırmak daha önce bahsedilen bağlantı noktalarını engelleyebilir.
Çözüm
Güvenlik duvarı değişiklikleri veya etkinleştirme ya da SSH ya da WinRM'de yapılan değişiklikler için betiklerinizi gözden geçirin ve tüm değişikliklerin daha önce bahsedilen bağlantı noktalarında hizmet ile derleme VM'si arasında sürekli bağlantıya izin verin. Daha fazla bilgi için bkz . VM Görüntü Oluşturucusu ağ seçenekleri.
Derlemenin başlarında günlükte JWT hataları
Hata
Derleme işleminin başlarında derleme başarısız olur ve günlük bir JSON Web Belirteci (JWT) hatası gösterir:
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:
Neden
buildTimeoutInMinutes
Şablondaki değer 1 ila 5 dakika olarak ayarlanır.
Çözüm
VM Görüntü Oluşturucusu şablonu oluşturma bölümünde açıklandığı gibi, zaman aşımı varsayılanı kullanmak için 0 olarak veya varsayılanı geçersiz kılmak için 5 dakikadan uzun olarak ayarlanmalıdır. Varsayılan veya en az 6 dakika kullanmak için şablonunuzun zaman aşımını 0 olarak değiştirin.
Kaynak silme hataları
Hata
Ara kaynaklar derlemenin sonuna doğru temizlenir ve özelleştirme günlüğünde çeşitli kaynak silme hataları gösterebilirsiniz:
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"...
Neden
Kaynak silme işlemleri birkaç kez yeniden denendiğinden ve normalde başarılı olduğundan bu hata günlüğü iletileri çoğunlukla zararsızdır. Başarılı bir ileti görene kadar silme günlüklerini izlemeye devam ederek bunu doğrulayabilirsiniz. Alternatif olarak, hazırlama kaynak grubunu inceleyip kaynağın silinip silinmediğini onaylayabilirsiniz.
Bu gözlemleri yapmak özellikle derleme hatalarında önemlidir; burada bu hata iletileri, gerçek hatalar başka bir yerde olsa bile hataların nedeninin bunlar olduğu sonucuna varmanıza neden olabilir.
Hata
Resimler şablon silme işleminde takıldığında özelleştirme günlüğünde aşağıdaki hata gösteriliyor olabilir:
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=[]
Neden
Ağ arabirimi şu anda özel bir uç noktayla kullanımda olduğundan hata oluşur.
Çözüm
Sorunu çözmek için aşağıdaki kaynakları belirli bir sırayla tek tek silin:
- Özel uç nokta bağlantısı. Bunu, özel bağlantı hizmeti kaynak sayfasındaki "özel uç nokta bağlantıları" sekmesine giderek özel bağlantı hizmeti kaynağında bulabilirsiniz.
- Özel bağlantı hizmeti.
- Ağ arabirimi ve yük dengeleyici.
- Kaynak Grubu.
- Resim şablonu.
Ek yardım için Azure desteği başvurarak takılan silme hatasını çözebilirsiniz.
Güncelleştirme isteğinde bulunmayan hedefi dağıtma
Hata
Validation failed: Distribute target with Runoutput name <runoutputname> not found in the update request. Deleting a distribution target is not allowed.
Neden
Yama isteği gövdesinde mevcut bir dağıtım hedefi bulunamadığında bu hata oluşur.
Çözüm
Dağıtım dizisi, yeni hedefler (varsa) olan tüm dağıtım hedeflerini, değişiklik yapılmadan mevcut hedefleri ve güncelleştirilmiş hedefleri içermelidir. Mevcut bir dağıtım hedefini kaldırmak istiyorsanız, görüntü şablonunu silin ve yeniden oluşturun. Dağıtım hedefinin silinmesi şu anda Patch API'sinde desteklenmediğinden.
Eksik gerekli alanlar
Hata
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.
Neden
Bu hata, bir dağıtılmış hedefte gerekli bir alan eksik olduğunda oluşur.
Çözüm
İstek oluştururken, değişiklik olmasa bile lütfen bir dağıtım hedefindeki tüm gerekli alanı belirtin.
DevOps görevleri
Görevle ilgili sorunları giderme
Görev yalnızca özelleştirme sırasında bir hata oluşursa başarısız olur. Bu durumda, görev hatayı bildirir ve sorunu tanımlayabilmeniz için hazırlama kaynak grubundan günlüklerle ayrılır.
Günlüğü bulmak için şablon adını bilmeniz gerekir. İşlem hattı>başarısız derlemesine gidin ve ardından VM Görüntü Oluşturucusu DevOps görevinde detaya gidin.
Günlüğü ve şablon adını görürsünüz:
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
- Azure portalına gidin, kaynak grubunda şablon adını arayın ve ardından IT_* yazarak kaynak grubunu arayın.
- Depolama hesabı adı >blob kapsayıcı>günlüklerini> seçin.
Başarılı derlemelerle ilgili sorunları giderme
Bazen başarılı derlemeleri araştırmanız ve günlüklerini gözden geçirmeniz gerekebilir. Daha önce belirtildiği gibi, görüntü derlemesi başarılı olursa, günlükleri içeren hazırlama kaynak grubu temizleme işleminin bir parçası olarak silinir. Ancak otomatik temizlemeyi önlemek için satır içi komutundan sonra bir sleep
ekleyebilir ve derleme duraklatılırken günlükleri görüntüleyebilirsiniz. Bunun için aşağıdakileri yapın:
- Write-Host / Echo "Sleep" ekleyerek satır içi komutu güncelleştirin. Bu size günlükte arama yapmak için zaman verir.
sleep
Start-Sleep veyaSleep
Linux komutunu kullanarak en az 10 dakikalık bir değer ekleyin.- Günlük konumunu belirlemek için bu yöntemi kullanın ve sonra günlük konumuna gelene kadar günlüğü indirmeye veya denetlemeye
sleep
devam edin.
İşlem iptal edildi
Hata
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
Neden
Derleme bir kullanıcı tarafından iptal edilmediyse Azure DevOps Kullanıcı Aracısı tarafından iptal edildi. Büyük olasılıkla Azure DevOps özellikleri nedeniyle 1 saatlik zaman aşımı gerçekleşmiştir. Özel proje ve aracı kullanıyorsanız 60 dakikalık derleme süresi elde edersiniz. Derleme zaman aşımını aşarsa DevOps, çalışan görevi iptal eder.
Azure DevOps özellikleri ve sınırlamaları hakkında daha fazla bilgi için bkz . Microsoft tarafından barındırılan aracılar.
Çözüm
Kendi DevOps aracılarınızı barındırabilir veya derlemenizin süresini kısaltmak için arama yapabilirsiniz. Örneğin, Azure İşlem Galerisi'ne dağıtıyorsanız, bunları bir bölgeye çoğaltabilir veya zaman uyumsuz olarak çoğaltabilirsiniz.
Yavaş Windows oturumu açma
Hata
Bu hata, VM Görüntü Oluşturucusu'nu kullanarak bir Windows 10 görüntüsü oluşturduğunuzda, görüntüden bir VM oluşturduğunuzda ve ardından Uzak Masaüstü Protokolü'nü (RDP) kullandığınızda oluşabilir. İlk oturum açma ekranında birkaç dakika beklersiniz ve mavi ekran aşağıdaki iletiyi görüntüler:
Please wait for the Windows Modules Installer
Çözüm
Görüntü derlemesinde şunların olduğundan emin olun:
- Son özelleştirme olarak bir Windows Yeniden Başlatma özelleştiricisi eklemek için bekleyen yeniden başlatma gerekmez.
- Tüm yazılım yüklemesi tamamlandı.
/mode:vm seçeneğini VM Image Builder'ın kullandığı varsayılan
Sysprep
değere ekleyin. Daha fazla bilgi için "VM Görüntü Oluşturucusu görüntülerinden oluşturulan VM'ler başarıyla oluşturulmuyor" altındaki "Komutları geçersiz kıl" bölümüne gidin.
VM Görüntü Oluşturucusu görüntülerinden oluşturulan VM'ler başarıyla oluşturulmuyor
Varsayılan olarak, VM Görüntü Oluşturucusu görüntüyü genelleştirmek için her görüntü özelleştirme aşamasının sonunda sağlamayı kaldırma kodu çalıştırır. Bir görüntüyü genelleştirmek, birden çok VM oluşturmak üzere yeniden kullanmak üzere ayarlamaktır. İşlemin bir parçası olarak konak adı, kullanıcı adı gibi VM ayarlarını geçirebilirsiniz. Windows'da, VM Görüntü Oluşturucusu öğesini çalıştırır Sysprep
ve Linux'ta VM Görüntü Oluşturucusu çalıştırır waagent -deprovision
.
Windows'da VM Görüntü Oluşturucusu genel Sysprep
bir komut kullanır. Ancak, bu komut her başarılı Windows genelleştirmesi için uygun olmayabilir. VM Görüntü Oluşturucusu ile komutunu özelleştirebilirsiniz Sysprep
. VM Görüntü Oluşturucusu'nun komutu başarıyla çalıştırmakla Sysprep
sorumlu bir görüntü otomasyon aracı olduğunu unutmayın. Ancak görüntünüzü yeniden kullanılabilir hale getirmek için farklı Sysprep
komutlara ihtiyacınız olabilir. Linux'ta VM Görüntü Oluşturucusu genel waagent -deprovision+user
bir komut kullanır. Daha fazla bilgi için bkz . Microsoft Azure Linux Aracısı belgeleri.
Mevcut bir özelleştirmeyi geçiriyorsanız ve çeşitli Sysprep
veya waagent
komutlar kullanıyorsanız VM Görüntü Oluşturucusu genel komutlarını deneyebilirsiniz. VM oluşturma işlemi başarısız olursa önceki Sysprep
veya waagent
komutlarınızı kullanın.
Windows özel görüntüsü oluşturmak için VM Görüntü Oluşturucusu'nu başarıyla kullandığınızı, ancak görüntüden başarıyla vm oluşturamadığınızı varsayalım. Örneğin, VM oluşturma işlemi tamamlayamaz veya zaman aşımına uğrrur. Bu olayda aşağıdakilerden birini yapın:
- Windows Server Sysprep belgelerini gözden geçirin.
- Windows Server Sysprep Müşteri Hizmetleri Destek ekibiyle bir destek isteği gönderin. Sorununuzu gidermenize yardımcı olabilir ve doğru
Sysprep
komutla ilgili önerilerde bulunabilirler.
Komut konumları ve dosya adları
Windows'da:
c:\DeprovisioningScript.ps1
Linux'ta:
/tmp/DeprovisioningScript.sh
Komut 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 ...'
Komut -deprovision
: Linux
sudo /usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync
Komutları geçersiz kılma
Komutları geçersiz kılmak için PowerShell veya kabuk betik hazırlayıcılarını kullanarak tam dosya adıyla komut dosyalarını oluşturun ve bunları daha önce listelenen dizinlere yerleştirin. VM Görüntü Oluşturucusu bu komutları okur ve çıktıyı customization.log dosyasına yazar.
Destek alın
Rehberliğe başvurdunuz ve sorun yaşamaya devam ediyorsanız bir destek olayı açabilirsiniz. Doğru ürün ve destek konusunu seçtiğinizden emin olun. Bunu yaptığınızda Azure VM Görüntü Oluşturucusu destek ekibiyle bağlantı kurmanız sağlanır.
Servis talebi ürününü seçme:
Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: Azure Features
Support Subtopic: Azure Image Builder
Sonraki adımlar
Daha fazla bilgi için bkz . VM Görüntü Oluşturucu'ya genel bakış.