Memecahkan Masalah Azure VM Image Builder
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Gunakan artikel ini untuk memecahkan masalah umum yang mungkin Anda temui saat menggunakan Azure VM Image Builder.
Prasyarat
Saat membuat build, lakukan hal berikut:
- Layanan VM Image Builder berkomunikasi ke mesin virtual build menggunakan WinRM atau Secure Shell (SSH). Jangan* nonaktifkan pengaturan ini sebagai bagian dari build.
- VM Image Builder membuat sumber daya dalam grup sumber daya penahapan sebagai bagian dari build. Pastikan untuk memverifikasi bahwa Azure Policy tidak mencegah VM Image Builder membuat atau menggunakan sumber daya yang diperlukan.
- Membuat grup sumber daya IT_.
- Membuat akun penyimpanan tanpa firewall.
- Menyebarkan Azure Container Instances.
- Sebarkan sumber daya Azure Virtual Network (dan subnet di dalamnya).
- Menyebarkan sumber daya Titik Akhir Privat Azure.
- Menyebarkan Azure Files.
- Verifikasi bahwa Azure Policy tidak menginstal fitur yang tidak diinginkan pada mesin virtual build, seperti Azure Extensions.
- Pastikan bahwa VM Image Builder memiliki izin yang benar untuk membaca/menulis citra dan untuk menyambungkan ke akun penyimpanan. Untuk informasi selengkapnya, tinjau dokumentasi izin untuk Azure CLI atau Azure PowerShell.
- VM Image Builder gagal membangun jika skrip atau perintah sebaris gagal dengan kesalahan (kode keluar bukan nol). Pastikan bahwa Anda telah menguji skrip kustom dan memverifikasi bahwa skrip tersebut berjalan tanpa kesalahan (kode keluar 0) atau memerlukan input pengguna. Untuk informasi selengkapnya, lihat Membuat citra Azure Virtual Desktop menggunakan VM Image Builder dan PowerShell.
- Pastikan langganan Anda memiliki kuota Azure Container Instances yang memadai.
- Setiap build gambar mungkin menyebarkan hingga satu sumber daya Azure Container Instance sementara (dari empat inti standar) dalam grup sumber daya penahapan. Sumber daya ini diperlukan untuk build gambar terisolasi.
Kegagalan VM Image Builder dapat terjadi di dua area:
- Selama pengiriman template citra
- Selama pembangunan citra
Catatan
Citra yang diperkuat CIS (Linux atau Windows) di marketplace Azure, yang dikelola oleh CIS, dapat menyebabkan kegagalan build dengan layanan Azure Image Builder karena konfigurasinya. Contohnya:
- Citra Windows yang diperkeras CIS mungkin mengganggu konektivitas WinRM, prasyarat untuk build AIB.
- Citra CIS Linux dapat gagal karena
chmod +x
masalah izin.
Memecahkan masalah kesalahan pengiriman template gambar
Kesalahan pengiriman template gambar dikembalikan saat pengiriman saja. Tidak ada log galat untuk kesalahan pengiriman template gambar. Apabila terdapat kesalahan selama pengiriman, Anda dapat mengembalikan kesalahan dengan memeriksa status templat, khususnya dengan meninjau ProvisioningState
dan ProvisioningErrorMessage
/provisioningError
.
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object ProvisioningState, ProvisioningErrorMessage
Catatan
Untuk PowerShell, Anda harus menginstal modul PowerShell VM Image Builder.
Penting
Versi API 2021-10-01 memperkenalkan perubahan pada skema kesalahan yang akan menjadi bagian dari setiap rilis API di masa mendatang. Jika Anda memiliki automasi Azure VM Image Builder, ketahui output kesalahan baru saat Anda beralih ke API versi 2021-10-01 atau yang lebih baru. Sebaiknya, setelah beralih ke versi API terbaru, Anda tidak kembali ke versi yang lebih lama, karena Anda harus mengubah automasi kembali untuk menghasilkan skema kesalahan sebelumnya. Kami tidak mengantisipasi perubahan skema kesalahan lagi di rilis mendatang.
Output kesalahan untuk versi 2020-02-14 dan yang lebih lama
{
"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."
}
Output kesalahan untuk versi 2021-10-01 dan yang lebih baru
{
"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."
}
}
Bagian berikut menyajikan panduan resolusi masalah untuk kesalahan pengiriman templat citra umum.
Pembaruan atau peningkatan templat gambar saat ini tidak didukung
Kesalahan
'Conflict'. Details: Update/Upgrade of image templates is currently not supported
Penyebab
Template sudah ada.
Solusi
Jika Anda mengirimkan template konfigurasi gambar dan pengiriman gagal, artefak template yang gagal masih ada. Menghapus template yang gagal.
Menetapkan ulang MSI pada templat gambar
Kesalahan
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.
Penyebab
Ada kasus di mana Identitas Layanan Terkelola (MSI) yang ditetapkan ke templat gambar tidak dapat digunakan:
- Templat Image Builder menggunakan grup sumber daya penahapan yang disediakan pelanggan dan MSI dihapus sebelum templat gambar dihapus (skenario grup sumber daya penahapan)
- Identitas Layanan Terkelola (MSI) yang dibuat yang ditetapkan ke templat gambar tidak dapat digunakan
Solusi
Gunakan Azure CLI untuk mengatur ulang identitas pada templat gambar. Pastikan Anda memperbarui Azure CLI ke versi 2.45.0 atau yang lebih baru.
Menghapus identitas terkelola dari templat penyusun gambar target
az image builder identity remove -g <template resource group> -n <template name> --user-assigned <identity resource id>
Menetapkan ulang identitas ke templat penyusun gambar target
az image builder identity assign -g <template rg> -n <template name> --user-assigned <identity resource id>
Operasi sumber daya selesai dengan status provisi terminal "Gagal"
Kesalahan
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."
Penyebab
Dalam kebanyakan kasus, kesalahan kegagalan penyebaran sumber daya terjadi karena izin yang hilang. Kesalahan ini mungkin juga disebabkan oleh konflik dengan grup sumber daya penahapan.
Solusi
Tergantung pada skenario Anda, VM Image Builder mungkin memerlukan izin untuk:
- Citra sumber atau grup sumber daya Azure Compute Gallery (sebelumnya dikenal sebagai Shared Image Gallery).
- Citra distribusi atau sumber daya Azure Compute Gallery.
- Akun penyimpanan, kontainer, atau blob yang diakses oleh penyesuai
File
.
Selain itu, pastikan nama grup sumber daya penahapan ditentukan secara unik untuk setiap templat gambar.
Untuk informasi lebih lanjut mengenai izin konfigurasi, lihat Mengonfigurasi izin VM Image Builder menggunakan Azure CLI atau Mengonfigurasi izin VM Image Builder menggunakan PowerShell.
Kesalahan dalam mendapatkan citra terkelola
Kesalahan
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
Penyebab
Izin tidak ada.
Solusi
Tergantung pada skenario Anda, VM Image Builder mungkin memerlukan izin untuk:
- Citra sumber atau grup sumber daya Azure Compute Gallery.
- Citra distribusi atau sumber daya Azure Compute Gallery.
- Akun penyimpanan, kontainer, atau blob yang diakses oleh penyesuai
File
.
Untuk informasi lebih lanjut mengenai izin konfigurasi, lihat Mengonfigurasi izin VM Image Builder menggunakan Azure CLI atau Mengonfigurasi izin VM Image Builder menggunakan PowerShell.
Langkah pembangunan gagal untuk versi citra
Kesalahan
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."
Penyebab
VM Image Builder tidak dapat menemukan citra sumber.
Solusi
Pastikan bahwa citra sumber sudah benar dan ada di lokasi VM Image Builder.
Mengunduh file eksternal ke file lokal
Kesalahan
Downloading external file (<myFile>) to local file (xxxxx.0.customizer.fp) [attempt 1 of 10] failed: Error downloading '<myFile>' to 'xxxxx.0.customizer.fp'..
Penyebab
Nama atau lokasi file salah, atau lokasinya tidak dapat dijangkau.
Solusi
Pastikan file tersebut dapat dijangkau. Pastikan nama dan lokasi sudah benar.
Kesalahan otorisasi saat membuat disk
Build Azure Image Builder gagal dengan kesalahan otorisasi yang terlihat seperti berikut ini:
Kesalahan
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.'
Penyebab
Kesalahan ini disebabkan saat mencoba menentukan grup sumber daya dan VNet yang sudah ada sebelumnya ke layanan Azure Image Builder dengan gambar sumber Windows.
Solusi
Anda harus menetapkan peran kontributor ke grup sumber daya untuk perwakilan layanan yang sesuai dengan aplikasi pihak pertama Azure Image Builder dengan menggunakan perintah CLI atau instruksi portal di bawah ini.
Pertama, validasi bahwa perwakilan layanan dikaitkan dengan aplikasi pihak pertama Azure Image Builder dengan menggunakan perintah CLI berikut:
az ad sp show --id {servicePrincipalName, or objectId}
Kemudian, untuk menerapkan solusi ini menggunakan CLI, gunakan perintah berikut:
az role assignment create -g {ResourceGroupName} --assignee {AibrpSpOid} --role Contributor
Untuk menerapkan solusi ini di portal, ikuti instruksi dalam dokumentasi ini: Tetapkan peran Azure menggunakan portal Azure - Azure RBAC.
Untuk Langkah 1: Identifikasi cakupan yang diperlukan: Cakupan yang diperlukan adalah grup sumber daya Anda.
Untuk Langkah 3: Pilih peran yang sesuai: Perannya adalah Kontributor.
Untuk Langkah 4: Pilih siapa yang memerlukan akses: Pilih anggota "Azure Virtual Machine Image Builder"
Kemudian lanjutkan ke Langkah 6: Tetapkan peran untuk menetapkan peran.
Memecahkan masalah kegagalan buat
Untuk kegagalan pembangunan citra, dapatkan kesalahan dari lastrunstatus
, kemudian tinjau detail dalam file customization.log.
az image builder show --name $imageTemplateName --resource-group $imageResourceGroup
Get-AzImageBuilderTemplate -ImageTemplateName <imageTemplateName> -ResourceGroupName <imageTemplateResourceGroup> | Select-Object LastRunStatus, LastRunStatusMessage
Log kustomisasi
Saat buat gambar berjalan, log dibuat dan disimpan di akun penyimpanan. VM Image Builder membuat akun penyimpanan di grup sumber daya sementara saat Anda membuat artefak templat citra.
Nama akun penyimpanan menggunakan pola IT_<ImageResourceGroupName><TemplateName><GUID> (misalnya, IT_aibmdi_helloImageTemplateLinux01).
Untuk melihat customization.log
file di grup sumber daya, pilih Blobpackerlogs
> Akun>Penyimpanan, pilih direktori, lalu pilih file customization.log.
Memahami log kustomisasi
Log adalah verbose. Log ini mencakup build citra, termasuk masalah apa pun dengan distribusi citra, seperti replikasi Azure Compute Gallery. Kesalahan ini muncul dalam pesan kesalahan status template gambar.
File customization.log
ini mencakup tahapan berikut:
Sebarkan mesin virtual build dan dependensi menggunakan templat ARM ke tahap grup sumber daya penahapan IT_. Tahap ini mencakup beberapa POST ke penyedia sumber daya VM Image Builder:
Azure request method="POST" request="https://management.azure.com/subscriptions/<subID>/resourceGroups/IT_aibImageRG200_window2019VnetTemplate01_dec33089-1cc3-cccc-cccc-ccccccc/providers/Microsoft.Storage/storageAccounts .. PACKER OUT ==> azure-arm: Deploying deployment template ... ..
Tahap Status penyebaran. Tahap ini mencakup status setiap penyebaran sumber daya:
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=""
Tahap Menyambungkan ke mesin virtual build.
Di Windows, VM Image Builder menyambungkan menggunakan 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.
Di Linux, VM Image Builder menyambungkan menggunakan 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!
Tahap Jalankan kustomisasi. Saat kustomisasi berjalan, Anda dapat mengidentifikasinya dengan meninjau file customization.log. Cari (telemetri).
(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
Tahap Pembatalan provisi. VM Image Builder menambahkan penyesuai tersembunyi. Langkah pembatalan provisi ini bertanggung jawab atas penyiapan mesin virtual untuk pembatalan provisi. Di Windows, langkah ini menjalankan
Sysprep
(menggunakan c:\DeprovisioningScript.ps1). Di Linux, tahap ini menjalankanwaagent-deprovision
(menggunakan /tmp/DeprovisioningScript.sh).Contohnya:
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."}
Tahap Pembersihan. Setelah build selesai, sumber daya VM Image Builder dihapus.
PACKER ERR ==> azure-arm: Deleting individual resources ... ... PACKER ERR 2020/02/04 02:04:23 packer: 2020/02/04 02:04:23 Azure request method="DELETE" request="https://management.azure.com/subscriptions/<subId>/resourceGroups/IT_aibDevOpsImg_t_vvvvvvv_yyyyyy-de5f-4f7c-92f2-xxxxxxxx/providers/Microsoft.Network/networkInterfaces/pkrnijamvpo08eo?[REDACTED]" body="" ... PACKER ERR ==> azure-arm: The resource group was not created by Packer, not deleting ...
Tips untuk memecahkan masalah skrip atau kustomisasi sebaris
- Uji kode sebelum memberikannya ke VM Image Builder.
- Pastikan Azure Policy dan Firewall memungkinkan konektivitas ke sumber daya jarak jauh.
- Output menguraikan ke konsol menggunakan
Write-Host
atauecho
. Hal ini memungkinkan Anda mencari file customization.log.
Pemecahan masalah kesalahan buat umum
Penyebaran templat gagal karena pelanggaran kebijakan
Kesalahan
{
"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>"
}
Penyebab
Kesalahan pelanggaran kebijakan di atas adalah akibat dari penggunaan Azure Key Vault dengan akses publik dinonaktifkan. Saat ini, Azure Image Builder tidak mendukung konfigurasi ini.
Solusi
Azure Key Vault harus dibuat dengan akses publik diaktifkan.
Kegagalan perintah buat packer
Kesalahan
"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."
Penyebab
Kegagalan kustomisasi.
Solusi
Tinjau log untuk menemukan kegagalan penyesuai. Cari (telemetri).
Contohnya:
(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
Batas waktu terlampaui
Kesalahan
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'
Penyebab
Build melebihi batas waktu build. Kesalahan ini terlihat di 'lastrunstatus'.
Solusi
Tinjau file customization.log. Identifikasi penyesuai terakhir yang akan dijalankan. Cari (telemetry), mulai dari bagian bawah log.
Periksa kustomisasi skrip. Kustomisasi mungkin tidak menekan interaksi pengguna untuk perintah, seperti opsi
quiet
. Misalnya,apt-get install -y
menghasilkan eksekusi skrip yang menunggu interaksi pengguna.Jika Anda menggunakan penyesuai
File
untuk mengunduh artefak yang lebih besar dari 20 MB, lihat bagian solusi.Tinjau kesalahan dan dependensi dalam skrip yang dapat menyebabkan skrip menunggu.
Jika Anda mengharapkan bahwa kustomisasi membutuhkan lebih banyak waktu, tingkatkan nilai buildTimeoutInMinutes. Waktu default adalah 4 jam.
Jika Anda memiliki tindakan intensif sumber daya, seperti mengunduh file berukuran gigabyte (GB), pertimbangkan ukuran mesin virtual build buat yang mendasar. Layanan ini menggunakan Standard_D1_v2 VM. Mesin virtual memiliki 1 vCPU dan memori 3,5 GB. Apabila Anda mengunduh 50 GB, kemungkinan besar Anda akan menghabiskan sumber daya mesin virtual dan menyebabkan kegagalan komunikasi antara VM Image Builder dan mesin virtual build. Coba kembali build dengan mesin virtual yang memiliki memori yang lebih besar dengan mengatur VM_Size.
Waktu pengunduhan file yang lama
Kesalahan
[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
Penyebab
Penyesuai File
sedang mengunduh file yang besar.
Solusi
Penyesuai File
hanya cocok untuk pengunduhan file kecil (kurang dari 20 MB). Untuk unduhan file yang lebih besar, gunakan skrip atau perintah sebaris. Misalnya, di Linux, Anda dapat menggunakan wget
atau curl
. Di Windows, Anda dapat menggunakan Invoke-WebRequest
.
Penyusun terus gagal menjalankan Windows-Restart dengan kode kesalahan 1190
Kesalahan
[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.
Penyebab
Langkah pembaruan windows mendeklarasikan secara prematur dalam gambar berdasarkan Windows Server 2016.
Solusi
Tingkatkan restartTimeout
dari 15 menit menjadi 30 menit.
Kesalahan yang menanti di Azure Compute Gallery
Kesalahan
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}
Penyebab
VM Image Builder kehabisan waktu menunggu citra ditambahkan dan direplikasi ke Azure Compute Gallery. Apabila citra sedang dimasukkan ke dalam galeri, Anda dapat berasumsi bahwa build citra berhasil. Namun, proses keseluruhan gagal karena VM Image Builder sedang menunggu Azure Compute Gallery untuk menyelesaikan replikasi. Meskipun buat telah gagal, replikasi berlanjut. Anda bisa mendapatkan properti versi gambar dengan memeriksa runOutput distribusi.
$runOutputName=<distributionRunOutput>
az resource show \
--ids "/subscriptions/$subscriptionID/resourcegroups/$imageResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/$imageTemplateName/runOutputs/$runOutputName" \
--api-version=2020-02-14
Solusi
Tingkatkan nilai buildTimeoutInMinutes
.
Peristiwa informasi sumber daya Windows rendah
Kesalahan
[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
Penyebab
Kelelahan sumber daya. Masalah ini biasanya terlihat dengan Windows Update yang berjalan menggunakan ukuran mesin virtual build default D1_V2.
Solusi
Memperbesar ukuran VM buat.
Build selesai tetapi tidak ada artefak yang dibuat
Peringatan
[<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.
Solusi
Peringatan di atas dapat diabaikan dengan aman.
Melompati pembuatan gambar
Peringatan
[<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
Solusi
Peringatan di atas dapat diabaikan dengan aman.
Sumber daya tidak ditemukan
Kesalahan
"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.\""
},
Penyebab
Izin tidak ada.
Solusi
Periksa kembali untuk memastikan bahwa VM Image Builder memiliki semua izin yang diperlukan.
Untuk informasi lebih lanjut mengenai izin konfigurasi, lihat Mengonfigurasi izin VM Image Builder menggunakan Azure CLI atau Mengonfigurasi izin VM Image Builder menggunakan PowerShell.
Pengaturan waktu Sysprep
Kesalahan
[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 ...
Penyebab
Penyebabnya mungkin adalah masalah pengaturan waktu karena ukuran mesin virtual D1_V2. Apabila kustomisasi terbatas dan berjalan dalam waktu kurang dari tiga detik, perintah Sysprep
dijalankan oleh VM Image Builder untuk membatalkan provisi. Saat VM Image Builder membatalkan provisi, perintah Sysprep
memeriksa WindowsAzureGuestAgent, yang mungkin tidak sepenuhnya terinstal dan dapat menyebabkan masalah pengaturan waktu.
Solusi
Untuk menghindari masalah pengaturan waktu, Anda dapat meningkatkan ukuran mesin virtual atau Anda dapat menambahkan kustomisasi tidur PowerShell 60 detik.
Penyedia Azure Container Instances yang tidak terdaftar
Kesalahan
Azure Container Instances provider not registered for your subscription.
Penyebab
Langganan templat Anda tidak memiliki penyedia Azure Container Instances yang terdaftar.
Solusi
Daftarkan penyedia Azure Container Instances untuk langganan templat Anda dan tambahkan perintah Azure CLI atau PowerShell:
- Azure CLI:
az provider register -n Microsoft.ContainerInstance
- PowerShell:
Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance
Kuota Azure Container Instances terlampaui
Kesalahan
Azure Container Instances quota exceeded"
Penyebab
Langganan Anda tidak memiliki cukup kuota Azure Container Instances (ACI) untuk Azure Image Builder agar berhasil membangun gambar.
Solusi
Anda dapat melakukan hal berikut untuk membuat kuota ACI tersedia untuk Azure Image Builder:
- Cari penggunaan Lain dari Azure Container Instances di langganan Anda dan hapus instans yang tidak diperlukan untuk membuat kuota tersedia untuk Azure Image Builder.
- Azure Image Builder menyebarkan ACI hanya untuk sementara saat build berlangsung. Instans ini dihapus setelah build selesai. Jika terlalu banyak build gambar bersamaan yang terjadi di langganan Anda, maka Anda dapat mempertimbangkan untuk menunda beberapa build gambar. Ini mengurangi penggunaan ACI secara bersamaan dalam langganan Anda. Jika templat gambar Anda disiapkan untuk build gambar otomatis menggunakan pemicu, build yang gagal tersebut akan secara otomatis dicoba ulang oleh Azure Image Builder.
- Jika batas ACI saat ini untuk langganan Anda terlalu rendah untuk mendukung skenario pembuatan gambar Anda, maka Anda dapat meminta peningkatan kuota ACI Anda.
Catatan
Sumber daya ACI diperlukan untuk Build Gambar Terisolasi.
Terlalu banyak Azure Container Instances yang disebarkan dalam jangka waktu tertentu
Kesalahan
"Terlalu banyak Azure Container Instances yang disebarkan dalam jangka waktu tertentu"
Penyebab
Langganan Anda tidak memiliki cukup kuota Azure Container Instances (ACI) untuk Azure Image Builder agar berhasil membangun gambar secara bersamaan.
Solusi
Anda dapat melakukan tindakan berikut:
- Coba lagi build Anda yang gagal dengan cara yang kurang bersamaan.
- Jika batas ACI saat ini untuk langganan Anda terlalu rendah untuk mendukung skenario pembuatan gambar Anda, maka Anda dapat meminta peningkatan kuota ACI Anda.
Kegagalan Build Gambar Terisolasi
Kesalahan
Build Azure Image Builder gagal karena Build Gambar Terisolasi.
Penyebab
Build Azure Image Builder dapat gagal karena alasan yang tercantum di tempat lain dalam dokumen ini. Namun, ada kemungkinan kecil bahwa build gagal karena Build Gambar Terisolasi tergantung pada skenario, kuota langganan, atau beberapa kesalahan layanan yang tidak terduga. Untuk informasi selengkapnya, lihat Build Gambar Terisolasi.
Solusi
Jika Anda menentukan bahwa build gagal karena Build Gambar Terisolasi, Anda dapat melakukan hal berikut:
- Pastikan tidak ada Azure Policy yang memblokir penyebaran sumber daya yang disebutkan di bagian Prasyarat, khususnya Azure Container Instances, Azure Virtual Networks, dan Azure Private Endpoints.
- Pastikan langganan Anda memiliki kuota Azure Container Instances yang memadai untuk mendukung semua build gambar bersamaan Anda. Untuk informasi selengkapnya, lihat, kuota Azure Container Instances terlampaui.
Azure Image Builder saat ini sedang dalam proses penyebaran Build Gambar Terisolasi. Templat gambar tertentu tidak terkait dengan Build Gambar Terisolasi dan templat gambar yang sama mungkin atau mungkin tidak menggunakan Build Gambar Terisolasi selama build yang berbeda. Anda dapat melakukan hal berikut untuk menjalankan build Anda untuk sementara tanpa Build Gambar Terisolasi.
- Coba lagi build Anda. Karena Templat Gambar tidak terikat dengan fitur Build Gambar Terisolasi, mencoba kembali build memiliki probabilitas tinggi untuk menjalankan ulang tanpa Build Gambar Terisolasi.
Jika tidak ada solusi ini yang mengurangi build gambar yang gagal, maka Anda dapat menghubungi dukungan Azure untuk sementara waktu memilih langganan Anda dari Build Gambar Terisolasi. Untuk informasi selengkapnya, lihat Membuat permintaan dukungan Azure.
Catatan
Build Gambar Terisolasi pada akhirnya akan diaktifkan di semua wilayah dan templat. Jadi, mitigasi di atas harus dianggap sementara dan penyebab mendasar kegagalan build harus ditangani.
Build dibatalkan setelah konteks pembatalan konteks dibatalkan
Kesalahan
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
Penyebab
VM Image Builder menggunakan port 22 (Linux) atau 5986 (Windows) untuk menyambungkan ke mesin virtual build. Hal ini terjadi saat layanan diputus dari mesin virtual build selama pembangunan citra. Alasan pemutusan dapat bervariasi, tetapi mengaktifkan atau mengonfigurasi firewall dalam skrip dapat memblokir port yang disebutkan sebelumnya.
Solusi
Tinjau skrip Anda untuk perubahan atau pengaktifan firewall, atau perubahan pada SSH atau WinRM, dan pastikan setiap perubahan memungkinkan konektivitas konstan antara layanan dan mesin virtual build pada port yang disebutkan sebelumnya. Untuk informasi selengkapnya, lihat Opsi jaringan VM Image Builder.
Kesalahan JWT dalam log di awal build
Kesalahan
Di awal proses build, build gagal dan log menunjukkan kesalahan JSON Web Token (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:
Penyebab
Nilai buildTimeoutInMinutes
dalam templat diatur menjadi mulai 1 hingga 5 menit.
Solusi
Seperti yang dijelaskan dalam Membuat templat VM Image Builder, batas waktu harus diatur ke 0 untuk menggunakan default atau di atas 5 menit untuk mengambil alih default. Ubah batas waktu dalam templat Anda menjadi 0 untuk menggunakan default atau minimal 6 menit.
Kesalahan penghapusan sumber daya
Kesalahan
Sumber daya perantara dibersihkan menjelang akhir build dan log kustomisasi mungkin menunjukkan beberapa kesalahan penghapusan sumber daya:
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"...
Penyebab
Pesan log kesalahan ini sebagian besar tidak berbahaya karena penghapusan sumber daya dicoba kembali beberapa kali dan,secara umum, berhasil pada akhirnya. Anda dapat memverifikasi ini dengan terus mengikuti log penghapusan hingga Anda mengamati pesan berhasil. Atau, Anda dapat memeriksa sumber daya penahapan untuk mengonfirmasi apakah sumber daya telah dihapus.
Membuat pengamatan ini sangat penting dalam kegagalan build, yang mana pesan kesalahan ini dapat mengarahkan Anda untuk menyimpulkan bahwa itu adalah alasan kegagalan, bahkan ketika kesalahan aktual mungkin berasal dari tempat lain.
Kesalahan
Saat gambar terjebak dalam penghapusan templat, log kustomisasi mungkin menunjukkan kesalahan di bawah ini:
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=[]
Penyebab
Kesalahan terjadi karena antarmuka jaringan saat ini sedang digunakan dengan titik akhir privat.
Solusi
Untuk mengatasi masalah ini, hapus sumber daya di bawah ini satu per satu dalam urutan tertentu:
- Koneksi titik akhir privat. Anda dapat menemukan ini di sumber daya layanan tautan privat dengan masuk ke tab "koneksi titik akhir privat" di halaman sumber daya layanan tautan privat.
- Layanan private link.
- Antarmuka jaringan dan load balancer.
- Grup Sumber Daya.
- Templat gambar.
Untuk bantuan tambahan, Anda dapat menghubungi dukungan Azure untuk mengatasi kesalahan penghapusan yang macet.
Mendistribusikan target tidak ditemukan dalam permintaan pembaruan
Kesalahan
Validation failed: Distribute target with Runoutput name <runoutputname> not found in the update request. Deleting a distribution target is not allowed.
Penyebab
Kesalahan ini terjadi ketika target distribusi yang ada tidak ditemukan di isi permintaan Patch.
Solusi
Array distribusi harus berisi semua target distribusi yaitu, target baru (jika ada), target yang ada tanpa target perubahan dan yang diperbarui. Jika Anda ingin menghapus target distribusi yang ada, hapus dan buat ulang templat gambar karena menghapus target distribusi saat ini tidak didukung melalui API Patch.
Bidang yang diperlukan tidak ada
Kesalahan
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.
Penyebab
Kesalahan ini terjadi ketika bidang yang diperlukan hilang dari target distribusi.
Solusi
Saat membuat permintaan, harap berikan setiap bidang yang diperlukan dalam target distribusi meskipun tidak ada perubahan.
Tugas DevOps
Memecahkan masalah tugas
Tugas gagal hanya jika terjadi kesalahan selama kustomisasi. Ketika ini terjadi, tugas melaporkan kegagalan dan meninggalkan grup sumber daya penahapan, beserta log, sehingga Anda dapat mengidentifikasi masalah.
Untuk menemukan log, Anda perlu mengetahui nama templat. Buka build yang>gagal alur, lalu telusuri paling detail ke tugas VM Image Builder DevOps.
Anda akan melihat log dan nama templat:
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
- Buka portal Azure, cari nama templat di grup sumber daya, kemudian cari grup sumber daya dengan mengetik IT_*.
- Pilih nama akun penyimpanan >blob>kontainer>log.
Memecahkan masalah build yang berhasil
Terkadang Anda mungkin perlu menyelidiki build yang berhasil dan meninjau lognya. Seperti disebutkan sebelumnya, apabila build citra berhasil, grup sumber daya penahapan yang mencakup log akan dihapus sebagai bagian dari pembersihan. Namun, untuk mencegah pembersihan otomatis, Anda dapat memperkenalkan sleep
setelah perintah sebaris, kemudian melihat log saat build dijeda. Untuk melakukannya, lakukan hal berikut:
- Perbarui perintah sebaris dengan menambahkan Write-Host / Echo "Sleep". Ini memberi Anda waktu untuk mencari di log.
- Tambahkan nilai
sleep
sebesar setidaknya 10 menit menggunakan perintah Start-Sleep atauSleep
Linux. - Gunakan metode ini untuk mengidentifikasi lokasi log, kemudian terus mengunduh atau memeriksa log hingga mencapai
sleep
.
Operasi dibatalkan
Kesalahan
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
Penyebab
Jika build tidak dibatalkan oleh pengguna, build tersebut dibatalkan oleh Agen Pengguna Azure DevOps. Kemungkinan besar batas waktu 1 jam telah terjadi karena kemampuan Azure DevOps. Apabila Anda menggunakan proyek dan agen privat, Anda mendapatkan 60 menit waktu build. Jika build melebihi batas waktu, DevOps membatalkan tugas yang sedang berjalan.
Untuk informasi selengkapnya tentang kemampuan dan batasan Azure DevOps, lihat Agen yang dihosting Microsoft.
Solusi
Anda dapat menghosting agen DevOps Anda sendiri atau mencari cara mengurangi waktu build Anda. Misalnya, jika Anda mendistribusikan ke Azure Compute Gallery, Anda dapat mereplikasinya ke satu wilayah atau mereplikasinya secara asinkron.
Log masuk Windows lambat
Kesalahan
Kesalahan ini mungkin terjadi saat Anda membuat citra Windows 10 menggunakan VM Image Builder, membuat mesin virtual dari citra, kemudian menggunakan Protokol Desktop Jauh (RDP). Anda menunggu beberapa menit di layar masuk pertama, kemudian layar biru menampilkan pesan berikut:
Please wait for the Windows Modules Installer
Solusi
Dalam build citra, periksa untuk memastikan bahwa:
- Tidak ada boot ulang tertunda yang diperlukan dengan menambahkan penyesuai Hidupkan Ulang Windows sebagai kustomisasi terakhir.
- Semua penginstalan perangkat lunak selesai.
Tambahkan opsi /mode:vm ke
Sysprep
default yang digunakan oleh VM Image Builder. Untuk informasi selengkapnya, buka bagian "Mengambil alih perintah" pada "Mesin virtual yang dibuat dari citra VM Image Builder gagal dibuat."
Mesin virtual yang dibuat dari citra VM Image Builder gagal dibuat
Secara default, VM Image Builder menjalankan kode pembatalan provisi di akhir setiap fase kustomisasi citra untuk membuat generalisasi citra. Membuat generalisasi citra adalah mengatur citra untuk digunakan kembali guna membuat beberapa mesin virtual. Sebagai bagian dari proses, Anda dapat meneruskan pengaturan mesin virtual, seperti nama host, nama pengguna, dan sebagainya. Di Windows, VM Image Builder menjalankan Sysprep
, dan di Linux, VM Image Builder menjalankan waagent -deprovision
.
Di Windows, VM Image Builder menggunakan perintah Sysprep
generik. Namun, perintah ini mungkin tidak cocok untuk setiap generalisasi Windows yang berhasil. Dengan VM Image Builder, Anda dapat mengkustomisasi perintah Sysprep
. Perhatikan bahwa VM Image Builder adalah alat otomatisasi citra yang bertanggung jawab atas eksekusi perintah Sysprep
dengan sukses. Namun, Anda mungkin memerlukan perintah Sysprep
yang berbeda untuk membuat citra Anda dapat digunakan kembali. Di Linux, VM Image Builder menggunakan perintah waagent -deprovision+user
generik. Untuk informasi selengkapnya, lihat Dokumentasi Agen Microsoft Azure.
Apabila Anda memigrasikan kustomisasi yang ada dan menggunakan berbagai perintah Sysprep
atau waagent
, Anda dapat mencoba perintah generik VM Image Builder. Apabila pembuatan mesin virtual gagal, gunakan perintah Sysprep
atau waagent
sebelumnya.
Anggap saja Anda telah berhasil menggunakan VM Image Builder untuk membuat citra kustom Windows, tetapi Anda telah gagal membuat mesin virtual dengan sukses dari citra. Misalnya, pembuatan mesin virtual gagal diselesaikan atau waktu habis. Dalam kejadian ini, lakukan salah satu hal berikut:
- Tinjau dokumentasi Sysprep Windows Server.
- Ajukan permintaan dukungan dengan tim Dukungan Layanan Pelanggan Sysprep Windows Server. Mereka dapat membantu memecahkan masalah Anda dan memberi tahu Anda perintah
Sysprep
yang benar.
Lokasi perintah dan nama file
Di Windows:
c:\DeprovisioningScript.ps1
Pada Linux:
/tmp/DeprovisioningScript.sh
Perintah 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 ...'
Perintah -deprovision
: Linux
sudo /usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync
Mengambil alih perintah
Untuk mengambil alih perintah, gunakan pembuat provisi skrip PowerShell atau shell untuk membuat file perintah dengan nama file yang tepat dan meletakkannya di direktori yang dicantumkan sebelumnya. VM Image Builder membaca perintah lalu menuliskan output ke file customization.log.
Mendapatkan dukungan
Apabila Anda telah merujuk ke panduan dan masih mengalami masalah, Anda dapat membuka kasus dukungan. Pastikan untuk memilih topik produk dan dukungan yang benar. Melakukan hal ini akan memastikan bahwa Anda tersambung dengan tim dukungan Azure VM Image Builder.
Memilih produk kasus:
Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: Azure Features
Support Subtopic: Azure Image Builder
Langkah berikutnya
Untuk informasi selengkapnya, lihat Ikhtisar Pembuat Gambar VM.