Peningkatan Ekstensi Otomatis untuk VM dan Scale Sets di Azure

Peningkatan Ekstensi Otomatis tersedia untuk mesin virtual Azure dan Microsoft Azure Virtual Machine Scale Sets. Saat Peningkatan Ekstensi Otomatis diaktifkan pada suatu komputer virtual atau set skala, ekstensi diperbarui secara otomatis setiap kali penerbit ekstensi merilis versi baru untuk ekstensi tersebut.

Peningkatan Ekstensi Otomatis memiliki fitur berikut:

  • Didukung untuk Komputer Virtual Azure dan Microsoft Azure Virtual Machine Scale Sets.
  • Peningkatan diterapkan dalam model penyebaran ketersediaan-pertama.
  • Untuk Set Skala Komputer Virtual, tidak lebih dari 20% dari peningkatan komputer virtual set skala dalam satu batch. Ukuran batch minimum adalah satu komputer virtual.
  • Berfungsi untuk semua ukuran komputer virtual, serta untuk ekstensi Windows dan Linux.
  • Anda dapat menolak peningkatan otomatis kapan saja.
  • Peningkatan ekstensi otomatis dapat diaktifkan pada Virtual Machine Scale Sets dalam ukuran apa pun.
  • Setiap ekstensi yang didukung didaftarkan satu per satu dan Anda dapat memilih ekstensi mana yang akan diperbarui secara otomatis.
  • Didukung di semua wilayah awan publik.

Bagaimana cara kerja Peningkatan Ekstensi Otomatis?

Proses peningkatan ekstensi menggantikan versi ekstensi yang ada pada komputer virtual dengan versi baru ekstensi yang sama ketika diterbitkan oleh penerbit ekstensi. Kondisi komputer virtual dipantau setelah ekstensi baru dipasang. Jika VM tidak dalam keadaan sehat dalam waktu 5 menit setelah penyelesaian peningkatan, versi ekstensi digulung balik ke versi sebelumnya.

Peningkatan ekstensi yang gagal secara otomatis akan dicoba lagi. Coba lagi dicoba setiap beberapa hari secara otomatis tanpa intervensi pengguna.

Pembaruan ketersediaan pertama

Model ketersediaan pertama untuk peningkatan yang diorkestrasi platform memastikan bahwa konfigurasi ketersediaan di Azure dipatuhi di berbagai tingkat ketersediaan.

Untuk sekelompok komputer virtual yang menjalani pembaruan, platform Azure mengatur pembaruan:

Lintas wilayah:

  • Pembaruan bergerak di seluruh Azure secara global secara bertahap untuk mencegah kegagalan penyebaran di seluruh Azure.
  • Suatu 'fase' dapat memiliki satu atau beberapa wilayah dan pembaruan akan berpindah ke fase berikutnya hanya jika komputer virtual yang memenuhi syarat dalam suatu fase berhasil diperbarui.
  • Wilayah yang dipasangkan secara geografis tidak akan diperbarui secara bersamaan dan tidak dapat berada dalam fase regional yang sama.
  • Keberhasilan pembaruan diukur dengan melacak kondisi komputer virtual setelah peningkatan. Kesehatan komputer virtual dilacak melalui indikator kesehatan platform untuk komputer virtual. Untuk Virtual Machine Scale Sets, kesehatan komputer virtual dilacak melalui aplikasi pemeriksaan kesehatan atau ekstensi Application Health, jika diterapkan pada set skala.

Dalam satu wilayah:

  • VM di Zona Ketersediaan yang berbeda tidak diperbarui secara bersamaan dengan pembaruan yang sama.
  • VM tunggal yang bukan bagian dari set ketersediaan di-batch berdasarkan upaya terbaik untuk menghindari pembaruan bersamaan untuk semua VM dalam langganan.

Dalam satu 'set':

  • Semua VM dalam set ketersediaan umum atau set skala tidak diperbarui secara bersamaan.
  • VM dalam set ketersediaan umum diperbarui dalam batas Domain Pembaruan dan VM di beberapa Domain Pembaruan tidak diperbarui secara bersamaan.
  • Komputer virtual dalam set skala mesin virtual umum dikelompokkan dalam batch dan diperbarui dalam batas Domain Pembaruan.

Proses peningkatan untuk Virtual Machine Scale Sets

  1. Sebelum proses peningkatan dimulai, orkestrator memastikan bahwa tidak lebih dari 20% VM di seluruh set skala tidak sehat (karena alasan apa pun).

  2. Orkestrator peningkatan mengidentifikasi batch instans komputer virtual untuk diperbarui. Batch peningkatan dapat memiliki maksimum 20% dari total jumlah komputer virtual, tunduk pada ukuran batch minimum satu komputer virtual.

  3. Untuk set skala dengan pemeriksaan kesehatan aplikasi yang dikonfigurasi atau ekstensi Application Health, proses peningkatan menunggu hingga 5 menit agar kondisi instans menjadi baik, sebelum melanjutkan untuk meningkatkan batch berikutnya. Jika VM tidak memulihkan kesehatannya setelah peningkatan, maka secara default versi ekstensi sebelumnya pada VM diinstal ulang.

  4. Orkestrator peningkatan juga melacak persentase instans yang menjadi tidak sehat setelah peningkatan. Peningkatan berhenti jika lebih dari 20% instans yang ditingkatkan menjadi tidak sehat selama proses peningkatan.

Proses di atas berlanjut hingga semua instans dalam set skala telah ditingkatkan.

Orkestrator peningkatan set skal memeriksa keseluruhan kesehatan set skala sebelum meningkatkan setiap batch. Selama peningkatan batch, mungkin ada aktivitas pemeliharaan terencana atau tidak terencana serentak lainnya yang dapat memengaruhi kesehatan komputer virtual set skala Anda. Dalam kasus ini, jika lebih dari 20% instans set skala menjadi tidak sehat, maka peningkatan set skala akan berhenti pada akhir batch saat ini.

Ekstensi yang didukung

Peningkatan Ekstensi Otomatis mendukung ekstensi berikut (dan lainnya ditambahkan secara berkala):

Mengaktifkan Peningkatan Ekstensi Otomatis

Untuk mengaktifkan Peningkatan Ekstensi Otomatis untuk ekstensi, Anda harus memastikan properti enableAutomaticUpgrade diatur ke true dan ditambahkan ke setiap definisi ekstensi satu per satu.

REST API untuk Komputer Virtual

Untuk mengaktifkan peningkatan ekstensi otomatis untuk ekstensi (dalam contoh ini ekstensi Agen Dependensi) pada Azure VM, gunakan panggilan berikut:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{    
    "name": "extensionName",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "<location>",
    "properties": {
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true, 
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5"
        }
}

REST API untuk Virtual Machine Scale Sets

Gunakan panggilan berikut untuk menambahkan ekstensi ke model set skala:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
   "location": "<location>",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [
            	{
                "name": "<extensionName>",
            	  "properties": {
             		    "autoUpgradeMinorVersion": true,
             		    "enableAutomaticUpgrade": true,
              	    "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
              	    "type": "DependencyAgentWindows",
              	    "typeHandlerVersion": "9.5"
            		}
          	    }
        	    ]
    	    }
    	}
    }
}

Azure PowerShell untuk Komputer Virtual

Gunakan cmdlet Set-AzVMExtension:

Set-AzVMExtension -ExtensionName "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ExtensionType "DependencyAgentWindows" `
    -TypeHandlerVersion 9.5 `
    -Location WestUS `
    -EnableAutomaticUpgrade $true

Azure PowerShell untuk Virtual Machine Scale Sets

Gunakan cmdlet Add-AzVmssExtension untuk menambahkan ekstensi ke model set skala:

Add-AzVmssExtension -VirtualMachineScaleSet $vmss
    -Name "Microsoft.Azure.Monitoring.DependencyAgent" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -Type "DependencyAgentWindows" `
    -TypeHandlerVersion 9.5 `
    -EnableAutomaticUpgrade $true

Perbarui set skala menggunakan Update-AzVmss setelah menambahkan ekstensi.

Azure CLI untuk Komputer Virtual

Gunakan cmdlet az vm extension set:

az vm extension set \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5 \
    --enable-auto-upgrade true

Azure CLI untuk Virtual Machine Scale Sets

Gunakan cmdlet az vmss extension set untuk menambahkan ekstensi ke model set skala:

az vmss extension set \
    --resource-group myResourceGroup \
    --vmss-name myVMSS \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5 \
    --enable-auto-upgrade true

Templat ARM untuk Komputer Virtual

Contoh berikut menjelaskan cara mengatur peningkatan ekstensi otomatis untuk ekstensi (Ekstensi Agen Dependensi dalam contoh ini) pada Komputer Virtual menggunakan Azure Resource Manager

{
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "location": "[resourceGroup().location]",
    "name": "<extensionName>",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentWindows",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "enableAutomaticUpgrade": true,
        "settings": {
            "enableAMA": "true"
        }
    }
}

Templat ARM untuk Virtual Machine Scale Sets

Gunakan contoh berikut untuk mengatur peningkatan ekstensi otomatis pada ekstensi dalam model set skala:

{
   "type": "Microsoft.Compute/virtualMachineScaleSets",
   "apiVersion": "2023-09-01",
   "name": "[variables('vmScaleSetName')]",
   "location": "[resourceGroup().location]",
   "properties": {
   	    "virtualMachineProfile": {
            "extensionProfile": {
       	        "extensions": [{
                     "name": "<extensionName>",
                     "properties": {
                          "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
                          "type": "DependencyAgentWindows",
                          "typeHandlerVersion": "9.5",
                          "autoUpgradeMinorVersion": true,
                          "enableAutomaticUpgrade": true,
                     }
                }]
    	    }
    	}
    }
}

Peningkatan ekstensi dengan beberapa ekstensi

Komputer virtual atau Virtual Machine Scale Set dapat memiliki beberapa ekstensi dengan peningkatan ekstensi otomatis diaktifkan. Komputer virtual atau set skala yang sama juga dapat memiliki ekstensi lain tanpa peningkatan ekstensi otomatis diaktifkan.

Jika beberapa peningkatan ekstensi tersedia untuk komputer virtual, peningkatan dapat dijadikan batch yang sama, tetapi setiap peningkatan ekstensi diterapkan secara individual pada komputer virtual. Kegagalan pada satu ekstensi tidak berdampak pada ekstensi lain yang mungkin sedang ditingkatkan. Misalnya, jika dua ekstensi dijadwalkan untuk peningkatan, dan peningkatan ekstensi pertama gagal, ekstensi kedua masih akan ditingkatkan.

Peningkatan Ekstensi Otomatis juga dapat diterapkan ketika komputer virtual atau set skala komputer virtual memiliki beberapa ekstensi yang dikonfigurasi dengan pengurutan ekstensi. Urutan ekstensi berlaku untuk penyebaran komputer virtual pertama kali, dan peningkatan ekstensi di masa mendatang pada suatu ekstensi yang diterapkan secara independen.

Langkah berikutnya