Bagikan melalui


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 dicoba ulang. 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 dihormati di beberapa tingkat ketersediaan.

Untuk sekelompok komputer virtual yang mengalami peningkatan, platform Azure mengatur peningkatan:

Lintas wilayah:

  • Peningkatan bergerak di seluruh Azure secara global secara bertahap untuk mencegah kegagalan penyebaran di seluruh Azure.
  • 'Fase' dapat memiliki satu atau beberapa wilayah, dan peningkatan bergerak di seluruh fase hanya jika VM yang memenuhi syarat dalam peningkatan fase sebelumnya berhasil.
  • Wilayah yang dipasangkan secara geografis tidak akan ditingkatkan secara bersamaan dan tidak dapat berada dalam fase regional yang sama.
  • Keberhasilan peningkatan diukur dengan melacak kesehatan VM pasca 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 ditingkatkan secara bersamaan dengan peningkatan yang sama.
  • VM tunggal yang bukan bagian dari set ketersediaan di-batch berdasarkan upaya terbaik untuk menghindari peningkatan bersamaan untuk semua VM dalam langganan.

Dalam satu 'set':

  • Semua VM dalam set ketersediaan umum atau set skala tidak ditingkatkan secara bersamaan.
  • VM dalam set ketersediaan umum ditingkatkan dalam batas Domain Pembaruan dan VM di beberapa Domain Pembaruan tidak ditingkatkan secara bersamaan.
  • VM dalam set skala komputer virtual umum dikelompokkan dalam batch dan ditingkatkan dalam batas Domain Pembaruan. Kebijakan peningkatan yang ditentukan pada set skala dihormati selama peningkatan. Jika kebijakan peningkatan diatur ke Manual, VM tidak akan ditingkatkan meskipun peningkatan ekstensi otomatis diaktifkan.

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. Definisi Kebijakan Peningkatan dan Zona Ketersediaan dipertimbangkan saat mengidentifikasi batch.

  3. Setelah peningkatan, kesehatan VM selalu dipantau sebelum pindah ke batch berikutnya. Untuk set skala dengan pemeriksaan kesehatan aplikasi yang dikonfigurasi atau ekstensi Kesehatan Aplikasi, kesehatan aplikasi juga dipantau. Peningkatan menunggu hingga 5 menit (atau konfigurasi pemeriksaan kesehatan yang ditentukan) agar VM menjadi sehat sebelum 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,
                     }
                }]
    	    }
    	}
    }
}

Menggunakan portal Azure

Anda dapat menggunakan portal Azure - Bilah ekstensi untuk mengaktifkan peningkatan ekstensi otomatis pada Virtual Machines dan Virtual Machine Scale Sets yang ada.

  1. Buka bilah Virtual Machines atau Virtual Machines Scale Sets dan pilih sumber daya dengan mengklik namanya.
  2. Navigasikan ke bilah "Extenisons + applications" di bawah Pengaturan untuk melihat semua ekstensi yang diinstal pada sumber daya. Kolom "Status Peningkatan Otomatis" memberi tahu apakah Peningkatan otomatis ekstensi diaktifkan, dinonaktifkan, atau tidak didukung.
  3. Navigasi ke bilah Detail ekstensi dengan mengklik nama ekstensi. Cuplikan layar portal Azure - Bilah ekstensi.
  4. Klik "Aktifkan peningkatan otomatis" untuk mengaktifkan peningkatan otomatis ekstensi. Tombol ini juga dapat digunakan untuk menonaktifkan peningkatan otomatis jika diperlukan.
    Cuplikan layar portal Azure untuk mengaktifkan peningkatan ekstensi otomatis.

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.

Perbedaan antara enableAutomaticUpgrade dan autoUpgradeMinorVersion

  1. AutoUpgradeMinorVersion:

    • Properti ini digunakan selama pembuatan VM dan saat meningkatkan VM dengan konfigurasi baru.
    • Ketika diatur ke "true," ini memastikan bahwa versi minor terbaru ekstensi secara otomatis diinstal pada komputer virtual.
    • Ini mengambil alih TypeHandlerVersion dengan versi minor stabil terbaru yang tersedia.
    • Saat meningkatkan konfigurasi VM, jika versi minor baru tersedia, maka dianggap sebagai perubahan konfigurasi dan ekstensi diinstal ulang dengan versi minor terbaru.
    • Ini membantu menjaga VM yang baru dibuat tetap terbaru dengan versi ekstensi minor stabil terbaru.
    • Jika Anda ingin mengatur ekstensi secara manual ke versi tertentu, atur properti ini ke "false."
  2. EnableAutomaticUpgrade:

    • Properti ini mempengaruhi komputer virtual yang ada.
    • Ini tidak berdampak pada versi yang diinstal selama pembuatan VM.
    • Setelah pembuatan VM, jika VM tidak menjalankan versi minor terbaru ekstensi, memungkinkan properti ini memicu peningkatan otomatis.
    • Peningkatan tidak menyebabkan reboot VM, diluncurkan dengan cara yang aman dan peningkatan yang gagal segera digulung balik untuk memberikan ketersediaan dan keandalan layanan tinggi.
    • Ini memastikan bahwa VM yang ada tetap aman dan terbaru dengan memperbaruinya secara otomatis ke versi minor terbaru.

Recommeded untuk mengaktifkan kedua properti untuk menjaga semua VM tetap aman dan terbaru.

Peningkatan ke versi ekstensi utama tidak pernah dilakukan secara otomatis oleh salah satu properti karena dapat menyebabkan perubahan yang melanggar. Anda harus mengatur TypeHandlerVersion secara manual ke versi utama dan meningkatkan setiap VM yang ada secara manual ke versi utama terbaru.

Langkah berikutnya