Peningkatan gambar OS otomatis Azure Virtual Machine Scale Set

Catatan

Banyak langkah yang tercantum dalam dokumen ini berlaku untuk Virtual Machine Scale Sets menggunakan mode Uniform Orchestration. Sebaiknya gunakan Orkestrasi Fleksibel untuk beban kerja baru. Untuk informasi selengkapnya, lihat Mode orkesrasi untuk Virtual Machine Scale Sets di Azure.

Mengaktifkan peningkatan versi gambar OS otomatis pada set skala membantu memudahkan pengelolaan pembaruan dengan meningkatkan versi disk OS secara aman dan otomatis untuk semua instans dalam set skala.

Peningkatan OS otomatis memiliki karakteristik berikut:

  • Setelah dikonfigurasi, gambar OS terbaru yang diterbitkan oleh penerbit gambar secara otomatis diterapkan ke set skala tanpa intervensi pengguna.
  • Peningkatan batch instans secara bergilir setiap kali gambar baru diterbitkan oleh penerbit.
  • Terintegrasi dengan pemeriksaan kesehatan aplikasi dan ekstensi Kesehatan Aplikasi.
  • Berfungsi untuk semua ukuran mesin virtual, dan untuk gambar Windows dan Linux termasuk gambar kustom melalui Azure Compute Gallery.
  • Anda dapat menolak peningkatan otomatis kapan pun (Peningkatan OS juga dapat dimulai secara manual).
  • Disk OS komputer virtual diganti dengan Disk OS baru yang dibuat dengan versi gambar terbaru. Ekstensi yang dikonfigurasi dan skrip data kustom dijalankan, sementara disk data yang ada dipertahankan.
  • Pengurutan ekstensi didukung.
  • Dapat diaktifkan pada set skala dari berbagai ukuran.

Catatan

Sebelum mengaktifkan peningkatan citra OS otomatis, periksa bagian persyaratan dari dokumentasi ini.

Bagaimana cara kerja peningkatan gambar OS otomatis?

Peningkatan bekerja dengan mengganti disk OS komputer virtual dengan disk baru yang dibuat menggunakan versi gambar terbaru. Setiap ekstensi yang dikonfigurasi dan skrip data kustom dijalankan pada disk OS, sementara disk data dipertahankan. Untuk meminimalkan waktu henti aplikasi, peningkatan dilakukan dalam batch, dengan tidak lebih dari 20% peningkatan set skala kapan saja.

Anda dapat mengintegrasikan probe kesehatan aplikasi Azure Load Balancer atau ekstensi Application Health untuk melacak kesehatan aplikasi setelah peningkatan. Kami merekomendasikan untuk menggabungkan heartbeat aplikasi dan memvalidasi keberhasilan peningkatan.

Pembaruan ketersediaan pertama

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

Lintas wilayah:

  • Pembaruan akan berpindah di 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 diperbarui secara bersamaan dan tidak dapat berada dalam fase wilayah yang sama.
  • Keberhasilan pembaruan diukur dengan melacak kondisi komputer virtual setelah peningkatan.

Dalam satu wilayah:

  • Komputer virtual di Zona Ketersediaan yang berbeda tidak diperbarui secara bersamaan.

Dalam satu 'set':

  • Semua VM dalam set skala yang sama tidak diperbarui secara bersamaan.
  • VM dalam Set Skala Komputer Virtual umum dikelompokkan dalam batch dan diperbarui dalam batas Domain Pembaruan seperti yang dijelaskan di bawah ini.

Proses pembaruan yang diatur platform diikuti untuk meluncurkan peningkatan gambar platform OS yang didukung setiap bulan. Untuk gambar kustom melalui Azure Compute Gallery, peningkatan gambar hanya dimulai untuk wilayah Azure tertentu saat gambar baru diterbitkan dan direplikasi ke wilayah set skala tersebut.

Meningkatkan VM dalam set skala

Wilayah set skala menjadi memenuhi syarat untuk mendapatkan peningkatan gambar baik melalui proses ketersediaan-pertama untuk gambar platform atau mereplikasi versi gambar kustom baru untuk Share Image Gallery. Peningkatan gambar kemudian diterapkan pada set skala individu yang ditetapkan dalam cara batch sebagai berikut:

  1. Sebelum memulai proses peningkatan, orkestrator akan memastikan bahwa tidak lebih dari 20% instans di seluruh set skala yang tidak sehat (karena alasan apa pun).
  2. Orkestrator peningkatan mengidentifikasi batch instans komputer virtual yang akan ditingkatkan, dengan satu batch mana pun yang memiliki maksimum 20% dari jumlah total instans, sesuai dengan ukuran batch minimum dari satu komputer virtual. Tidak ada persyaratan ukuran set skala minimum dan set skala dengan 5 instans atau lebih sedikit akan memiliki 1 mesin virtual per batch peningkatan (ukuran batch minimum).
  3. Disk OS dari tiap VM dalam batch peningkatan yang dipilih diganti dengan disk OS baru yang dibuat dari gambar terbaru. Semua ekstensi dan konfigurasi yang ditentukan dalam model set skala diterapkan ke instans yang ditingkatkan.
  4. Untuk set skala dengan pemeriksaan kesehatan aplikasi yang dikonfigurasi atau ekstensi Kesehatan Aplikasi, peningkatan menunggu hingga 5 menit agar instans menjadi sehat, sebelum melanjutkan untuk meningkatkan batch berikutnya. Jika sebuah instans tidak memulihkan kesehatannya dalam 5 menit setelah peningkatan, maka secara default disk OS sebelumnya untuk instans tersebut dipulihkan.
  5. Orkestrator peningkatan juga melacak persentase instans yang menjadi tidak sehat setelah peningkatan. Peningkatan akan berhenti jika lebih dari 20% instans yang diperbarui menjadi tidak sehat selama proses peningkatan.
  6. Proses di atas berlanjut hingga semua instans dalam set skala telah ditingkatkan.

Orkestrator peningkatan OS set skala memeriksa kesehatan set skala secara keseluruhan sebelum meningkatkan setiap batch. Saat meningkatkan batch, mungkin ada aktivitas pemeliharaan terencana atau tidak terencana bersamaan lainnya yang dapat memengaruhi kesehatan instans 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.

Untuk mengubah pengaturan default yang terkait dengan Peningkatan Bergulir, tinjau Kebijakan Peningkatan Bergulir Azure.

Catatan

Peningkatan OS otomatis tidak meningkatkan SKU gambar referensi pada set skala. Untuk mengubah Sku (seperti Ubuntu 18.04-LTS menjadi 20.04-LTS), Anda harus memperbarui model set skala secara langsung dengan Sku gambar yang diinginkan. Penerbit dan penawaran gambar tidak dapat diubah untuk set skala yang sudah ada.

Peningkatan gambar OS versus reimage

Peningkatan Gambar OS dan Reimage adalah metode yang digunakan untuk memperbarui VM dalam set skala, tetapi melayani tujuan yang berbeda dan memiliki dampak yang berbeda.

Peningkatan gambar OS melibatkan pembaruan citra sistem operasi yang mendasar yang digunakan untuk membuat instans baru dalam set skala. Saat Anda melakukan peningkatan gambar OS, Azure akan membuat instans VM baru dengan gambar OS yang diperbarui dan secara bertahap mengganti instans VM lama dalam set skala dengan yang baru. Proses ini biasanya dilakukan secara bertahap untuk memastikan ketersediaan tinggi. Peningkatan gambar OS adalah cara yang tidak mengganggu untuk menerapkan pembaruan atau perubahan pada OS VM yang mendasar dalam set skala. Instans VM yang ada tidak terpengaruh sampai diganti dengan instans baru.

Meniru instans VM dalam set skala adalah tindakan yang lebih langsung dan mengganggu. Saat Anda memilih untuk menilik ulang instans VM, Azure akan menghentikan instans VM yang dipilih, melakukan operasi penilaian ulang, lalu menghidupkan ulang VM menggunakan gambar OS yang sama. Ini secara efektif menginstal ulang OS pada instans VM tertentu tersebut. Penilaian ulang biasanya digunakan saat Anda perlu memecahkan masalah atau mengatur ulang instans VM tertentu karena masalah dengan instans tersebut.

Perbedaan utama:

  • Peningkatan Gambar OS adalah proses bertahap dan tidak mengganggu yang memperbarui gambar OS untuk seluruh Set Skala Komputer Virtual dari waktu ke waktu, memastikan dampak minimal pada beban kerja yang berjalan.
  • Reimage adalah tindakan yang lebih langsung dan mengganggu yang hanya memengaruhi instans VM yang dipilih, menghentikannya sementara dan menginstal ulang OS.

Kapan menggunakan setiap metode:

  • Gunakan Peningkatan Gambar OS saat Anda ingin memperbarui gambar OS untuk seluruh set skala sambil mempertahankan ketersediaan tinggi.
  • Gunakan Reimage saat Anda perlu memecahkan masalah atau mengatur ulang instans VM tertentu dalam Set Skala Komputer virtual.

Sangat penting untuk merencanakan dengan cermat dan memilih metode yang sesuai berdasarkan persyaratan spesifik Anda untuk meminimalkan gangguan pada aplikasi dan layanan Anda yang berjalan dalam Set Skala Komputer Virtual.

Gambar OS yang didukung

Hanya gambar platform OS tertentu yang saat ini didukung. Gambar kustom didukung jika set skala menggunakan gambar kustom melalui Azure Compute Gallery.

SKU platform berikut saat ini didukung (dan lainnya ditambahkan secara berkala):

Publisher Penawaran OS SKU
Kanonis UbuntuServer 18.04-LTS
Kanonis UbuntuServer 18_04-LTS-Gen2
Kanonis 0001-com-ubuntu-server-focal 20_04-LTS
Kanonis 0001-com-ubuntu-server-focal 20_04-LTS-Gen2
Kanonis 0001-com-ubuntu-server-jammy 22_04-LTS
Kanonis 0001-com-ubuntu-server-jammy 22_04-LTS-Gen2
MicrosoftCblMariner Cbl-Mariner cbl-mariner-1
MicrosoftCblMariner Cbl-Mariner 1-Gen2
MicrosoftCblMariner Cbl-Mariner cbl-mariner-2
MicrosoftCblMariner Cbl-Mariner cbl-mariner-2-Gen2
MicrosoftSqlServer Sql2017-ws2019 perusahaan
MicrosoftWindowsServer WindowsServer 2012-R2-Pusat Data
MicrosoftWindowsServer WindowsServer 2016-Pusat Data
MicrosoftWindowsServer WindowsServer 2016-Datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2016-Datacenter-gs
MicrosoftWindowsServer WindowsServer 2016-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2016-Datacenter-dengan-Kontainer
MicrosoftWindowsServer WindowsServer 2016-Datacenter-with-containers-gs
MicrosoftWindowsServer WindowsServer 2019-Pusat Data
MicrosoftWindowsServer WindowsServer 2019-Datacenter-Core
MicrosoftWindowsServer WindowsServer 2019-Datacenter-Core-with-Containers
MicrosoftWindowsServer WindowsServer 2019-Datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2019-Datacenter-gs
MicrosoftWindowsServer WindowsServer 2019-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2019-Datacenter-dengan-Kontainer
MicrosoftWindowsServer WindowsServer 2019-Datacenter-with-Containers-gs
MicrosoftWindowsServer WindowsServer 2022-Datacenter
MicrosoftWindowsServer WindowsServer 2022-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2022-Datacenter-smalldisk-g2
MicrosoftWindowsServer WindowsServer 2022-Datacenter-core
MicrosoftWindowsServer WindowsServer 2022-Datacenter-core-smalldisk
MicrosoftWindowsServer WindowsServer 2022-Datacenter-g2
MicrosoftWindowsServer WindowsServer Datacenter-core-20h2-with-containers-smalldisk-gs
MicrosoftWindowsServer WindowsServer 2022-Datacenter-azure-edition
MicrosoftWindowsServer WindowsServer 2022-Datacenter-azure-edition-smalldisk

Persyaratan untuk mengonfigurasi peningkatan gambar OS otomatis

  • Propertiversi gambar harus disetel ke terbaru.
  • Gunakan pemeriksaan kondisi aplikasi atau ekstensi Kondisi Aplikasi untuk set skala non-Service Fabric. Untuk persyaratan Service Fabric, lihat persyaratan Service Fabric.
  • Gunakan Compute API versi 2018-10-01 atau lebih tinggi.
  • Pastikan sumber daya eksternal yang ditentukan dalam model set skala tersedia dan diperbarui. Contohnya termasuk SAS URI untuk bootstrap payload di properti ekstensi komputer virtual, payload di akun penyimpanan, referensi ke rahasia dalam model, dan banyak lagi.
  • Untuk set skala menggunakan komputer virtual Windows, dimulai dengan compute API versi 2019-03-01, properti virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates harus diatur ke false dalam definisi model set skala. Properti enableAutomaticUpdates mengaktifkan patching dalam mesin virtual di mana "Windows Update" menerapkan patch sistem operasi tanpa mengganti disk OS. Dengan peningkatan gambar OS otomatis diaktifkan pada set skala Anda, yang dapat dilakukan dengan mengatur automaticOSUpgradePolicy.enableAutomaticOSUpgrade ke true, proses patching tambahan melalui Windows Update tidak diperlukan.

Catatan

Setelah disk OS diganti melalui pencitraan ulang atau peningkatan, disk data yang terpasang mungkin menetapkan ulang huruf drive mereka. Untuk mempertahankan huruf drive yang sama untuk disk terlampir, disarankan untuk menggunakan skrip boot kustom.

Persyaratan Service Fabric

Jika Anda menggunakan Service Fabric, pastikan kondisi berikut terpenuhi:

  • Tingkat durabilitas Service Fabric adalah Perak atau Emas. Jika durabilitas Service Fabric adalah Bronze, hanya jenis node khusus Stateless yang mendukung peningkatan gambar OS otomatis).
  • Ekstensi Service Fabric pada definisi model set skala harus memiliki TypeHandlerVersion 1.1 atau lebih tinggi.
  • Tingkat durabilitas harus sama pada klaster Service Fabric dan ekstensi Service Fabric pada definisi model set skala.
  • Probe kesehatan tambahan atau penggunaan ekstensi kesehatan aplikasi tidak diperlukan untuk durabilitas Silver atau Emas. Durabilitas perunggu dengan jenis simpul tanpa status saja memerlukan probe kesehatan tambahan.
  • Properti virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates harus disetel ke salah dalam definisi model set skala. Properti enableAutomaticUpdates memungkinkan patching in-VM menggunakan "Windows Update" dan tidak didukung pada set skala Service Fabric. Anda harus menggunakan properti automaticOSUpgradePolicy.enableAutomaticOSUpgrade sebagai gantinya.

Pastikan bahwa pengaturan durabilitas cocok pada klaster Service Fabric dan ekstensi Service Fabric, karena ketidakcocokan akan mengakibatkan kesalahan peningkatan. Tingkat durabilitas dapat diubah sesuai pedoman yang diuraikan pada halaman ini.

Peningkatan gambar OS otomatis untuk gambar kustom

Peningkatan gambar OS otomatis didukung untuk gambar kustom yang disebarkan melalui Azure Compute Gallery. Gambar kustom lainnya tidak didukung untuk peningkatan gambar OS otomatis.

Persyaratan tambahan untuk gambar kustom

  • Proses pengaturan dan konfigurasi untuk peningkatan gambar OS otomatis adalah sama untuk semua set skala sebagaimana dijelaskan di bagian konfigurasi halaman ini.
  • Instans set skala yang dikonfigurasi untuk peningkatan gambar OS otomatis akan ditingkatkan ke versi terbaru gambar Azure Compute Gallery saat versi baru gambar diterbitkan dan direplikasi ke wilayah set skala tersebut. Jika gambar baru tidak direplikasi ke wilayah tempat skala diterapkan, instans set skala tidak akan ditingkatkan ke versi terbaru. Replikasi gambar regional memungkinkan Anda mengontrol peluncuran gambar baru untuk set skala Anda.
  • Versi gambar baru tidak boleh dikecualikan dari versi terkahir untuk gambar galeri tersebut. Versi gambar yang dikecualikan dari versi terakhir gambar galeri tidak diluncurkan ke set skala melalui peningkatan gambar OS otomatis.

Catatan

Diperlukan waktu hingga 3 jam untuk set skala untuk memicu peluncuran peningkatan gambar pertama setelah set skala pertama kali dikonfigurasi untuk peningkatan OS otomatis karena faktor-faktor tertentu seperti Pemeliharaan Windows atau pembatasan lainnya. Pelanggan pada gambar terbaru mungkin tidak mendapatkan peningkatan hingga gambar baru tersedia.

Konfigurasikan peningkatan gambar OS otomatis

Untuk mengonfigurasi peningkatan gambar OS otomatis, pastikan properti automaticOSUpgradePolicy.enableAutomaticOSUpgrade disetel ke truedalam definisi model set skala.

Catatan

Mode Kebijakan Peningkatan dan Kebijakan Peningkatan OS Otomatis adalah setelan terpisah dan mengontrol aspek yang berbeda dari kumpulan skala. Ketika ada perubahan dalam templat kumpulan skala, Kebijakan Peningkatan mode akan menentukan apa yang terjadi pada instans yang ada dalam kumpulan skala. Namun, Kebijakan Peningkatan OS Otomatis enableAutomaticOSUpgrade khusus untuk gambar OS dan melacak perubahan yang dibuat oleh penerbit gambar dan menentukan apa yang terjadi ketika ada pembaruan pada gambar.

Catatan

Jika enableAutomaticOSUpgrade diatur ke true, enableAutomaticUpdates secara otomatis diatur ke false dan tidak dapat diatur ke true.

REST API

Contoh berikut menjelaskan cara mengatur peningkatan OS otomatis pada model set skala:

PUT or PATCH on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet?api-version=2021-03-01`
{
  "properties": {
    "upgradePolicy": {
      "automaticOSUpgradePolicy": {
        "enableAutomaticOSUpgrade":  true
      }
    }
  }
}

Azure PowerShell

Gunakan cmdlet New-AzVmss untuk mengonfigurasi peningkatan gambar OS otomatis untuk set skala Anda selama provisi. Contoh berikut mengonfigurasi peningkatan otomatis untuk set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

New-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -AutomaticOSUpgrade $true

Gunakan cmdlet Update-AzVmss untuk mengonfigurasi peningkatan gambar OS otomatis untuk set skala yang ada. Contoh berikut mengonfigurasi peningkatan otomatis untuk set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

Update-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -AutomaticOSUpgrade $true

Azure CLI 2.0

Gunakan az vmss create untuk mengonfigurasi peningkatan gambar OS otomatis untuk set skala Anda selama provisi. Gunakan Azure CLI 2.0.47 atau lebih tinggi. Contoh berikut mengonfigurasi peningkatan otomatis untuk set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

az vmss create --name myScaleSet --resource-group myResourceGroup --set UpgradePolicy.AutomaticOSUpgradePolicy.EnableAutomaticOSUpgrade=true

Gunakan pembaruan az vmss untuk mengonfigurasi peningkatan gambar OS otomatis untuk set skala yang ada. Gunakan Azure CLI 2.0.47 atau lebih tinggi. Contoh berikut mengonfigurasi peningkatan otomatis untuk set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

az vmss update --name myScaleSet --resource-group myResourceGroup --set UpgradePolicy.AutomaticOSUpgradePolicy.EnableAutomaticOSUpgrade=true

Catatan

Setelah mengonfigurasi peningkatan gambar OS otomatis untuk set skala Anda, Anda juga harus membawa komputer virtual set skala ke model set skala terbaru jika set skala Anda menggunakan kebijakan peningkatan 'Manual'.

Templat ARM

Contoh berikut menjelaskan cara mengatur peningkatan OS otomatis pada model set skala melalui templat Azure Resource Manager (templat ARM):

"properties": {
   "upgradePolicy": {
     "mode": "Automatic",
     "RollingUpgradePolicy": {
         "BatchInstancePercent": 20,
         "MaxUnhealthyInstancePercent": 25,
         "MaxUnhealthyUpgradedInstancePercent": 25,
         "PauseTimeBetweenBatches": "PT0S"
     },
    "automaticOSUpgradePolicy": {
      "enableAutomaticOSUpgrade": true,
        "useRollingUpgradePolicy": true,
        "disableAutomaticRollback": false
    }
  },
  },
"imagePublisher": {
   "type": "string",
   "defaultValue": "MicrosoftWindowsServer"
 },
 "imageOffer": {
   "type": "string",
   "defaultValue": "WindowsServer"
 },
 "imageSku": {
   "type": "string",
   "defaultValue": "2022-datacenter"
 },
 "imageOSVersion": {
   "type": "string",
   "defaultValue": "latest"
 }

Bicep

Contoh berikut menjelaskan cara mengatur peningkatan OS otomatis pada model set skala melalui Bicep:

properties: {
    overprovision: overProvision
    upgradePolicy: {
      mode: 'Automatic'
      automaticOSUpgradePolicy: {
        enableAutomaticOSUpgrade: true
      }
    }
}

Menggunakan Pemeriksaan Kesehatan Aplikasi

Selama Peningkatan OS, instans komputer virtual dalam set skala ditingkatkan satu batch sekaligus. Peningkatan harus dilanjutkan hanya jika aplikasi pelanggan sehat pada instans komputer virtual yang ditingkatkan. Kami menyarankan agar aplikasi memberikan sinyal kesehatan ke mesin Peningkatan OS set skala. Secara default, selama Peningkatan OS, platform mempertimbangkan status daya komputer virtual dan status penyediaan ekstensi untuk menentukan apakah instans komputer virtual sehat setelah peningkatan. Selama Peningkatan OS instans komputer virtual, disk OS pada instans komputer virtual diganti dengan disk baru berdasarkan versi gambar terbaru. Setelah Peningkatan OS selesai, ekstensi yang dikonfigurasi dijalankan pada komputer virtual tersebut. Aplikasi ini dianggap sehat hanya jika semua ekstensi pada instans berhasil tersedia.

Set skala secara opsional dapat dikonfigurasi dengan Pemeriksaan Kesehatan Aplikasi untuk menyediakan platform dengan informasi yang akurat tentang status aplikasi yang sedang berlangsung. Pemeriksaan Kesehatan Aplikasi adalah Custom Load Balancer Probes yang digunakan sebagai sinyal kesehatan. Aplikasi yang berjalan pada instans komputer virtual set skala dapat merespons permintaan HTTP atau TCP eksternal yang menunjukkan kesehatannya. Untuk informasi selengkapnya tentang cara kerja Custom Load Balancer Probes, lihat Memahami load balancer probes. Pemeriksaan Kesehatan Aplikasi tidak didukung untuk set skala Service Fabric. Set skala non-Service Fabric memerlukan pemeriksaan kesehatan aplikasi Load Balancer atau ekstensi Kesehatan Aplikasi.

Jika set skala dikonfigurasi untuk menggunakan beberapa grup penempatan, probe yang menggunakan Load Balancer Standar perlu digunakan.

Catatan

Hanya satu sumber pemantauan kesehatan yang dapat digunakan untuk Set Skala Komputer Virtual, baik Ekstensi Kesehatan Aplikasi atau Pemeriksaan Kesehatan. Jika Anda mengaktifkan kedua opsi, Anda harus menghapusnya sebelum menggunakan layanan orkestrasi seperti Perbaikan Instans atau Peningkatan OS Otomatis.

Mengonfigurasi Custom Load Balancer Probe sebagai Pemeriksaan Kesehatan Aplikasi pada set skala

Sebagai praktik terbaik, buat probe load balancer secara eksplisit untuk kesehatan set skala. Titik akhir yang sama untuk probe HTTP atau probe TCP yang ada dapat digunakan, tetapi pemeriksaan kesehatan dapat memerlukan perilaku yang berbeda dari probe load-balancer tradisional. Misalnya, probe load balancer tradisional bisa kembali tidak sehat jika beban pada instans terlalu tinggi, tetapi itu tidak akan tepat untuk menentukan kesehatan instans selama peningkatan OS otomatis. Konfigurasikan probe agar memiliki kecepatan pemeriksaan tinggi kurang dari dua menit.

Probe load-balancer dapat dirujuk di networkProfile set skala dan dapat dikaitkan dengan load-balancer internal atau publik sebagai berikut:

"networkProfile": {
  "healthProbe" : {
    "id": "[concat(variables('lbId'), '/probes/', variables('sshProbeName'))]"
  },
  "networkInterfaceConfigurations":
  ...
}

Catatan

Saat menggunakan Peningkatan OS Otomatis dengan Service Fabric, gambar OS baru diluncurkan dari Perbarui Domain ke Perbarui Domain untuk menjaga ketersediaan tinggi dari layanan yang berjalan di Service Fabric. Untuk menggunakan Peningkatan OS Otomatis di Service Fabric, jenis simpul klaster Anda harus dikonfigurasi untuk menggunakan Tingkat Durabilitas Perak atau yang lebih tinggi. Untuk tingkatan Durabilitas Perunggu, peningkatan gambar OS otomatis hanya didukung untuk jenis simpul Stateless. Untuk informasi selengkapnya tentang karakteristik durabilitas klaster Service Fabric, silakan lihat dokumentasi ini.

Selalu perbarui kredensial

Jika set skala Anda menggunakan kredensial apa pun untuk mengakses sumber daya eksternal, seperti ekstensi komputer virtual yang dikonfigurasi untuk menggunakan token SAS untuk akun penyimpanan, maka pastikan kredensial tersebut diperbarui. Jika ada kredensial, termasuk sertifikat dan token, yang telah kedaluwarsa, peningkatan akan gagal dan batch komputer virtual pertama akan dibiarkan dalam status gagal.

Langkah-langkah yang disarankan untuk memulihkan komputer virtual dan mengaktifkan ulang peningkatan OS otomatis jika ada kegagalan autentikasi sumber daya adalah:

  • Meregenerasi token (atau kredensial lainnya) yang diteruskan ke ekstensi Anda.
  • Pastikan kredensial apa pun yang digunakan dari dalam komputer virtual untuk berbicara dengan entitas eksternal adalah yang terbaru.
  • Perbarui ekstensi dalam model set skala dengan token baru apa pun.
  • Sebarkan set skala yang diperbarui, yang mana akan memperbarui semua instans komputer virtual termasuk yang gagal.

Menggunakan ekstensi Kesehatan Aplikasi

Ekstensi Application Health disebarkan di dalam instans Virtual Machine Scale Set dan melaporkan kesehatan VM dari dalam instans set skala. Anda dapat mengonfigurasi ekstensi untuk menyelidiki titik akhir aplikasi dan memperbarui status aplikasi pada instans tersebut. Status instans ini diperiksa oleh Azure untuk menentukan apakah instans memenuhi syarat untuk operasi peningkatan.

Karena ekstensi melaporkan kesehatan dari dalam VM, ekstensi dapat digunakan dalam situasi di mana pemeriksaan eksternal seperti Pemeriksaan Kesehatan Aplikasi (yang menggunakan pemeriksaan Azure Load Balancer kustom) tidak dapat digunakan.

Ada beberapa cara untuk menerapkan ekstensi Kesehatan Aplikasi ke set skala Anda sebagaimana dijelaskan dalam contoh di artikel ini.

Catatan

Hanya satu sumber pemantauan kesehatan yang dapat digunakan untuk Set Skala Komputer Virtual, baik Ekstensi Kesehatan Aplikasi atau Pemeriksaan Kesehatan. Jika Anda mengaktifkan kedua opsi, Anda harus menghapusnya sebelum menggunakan layanan orkestrasi seperti Perbaikan Instans atau Peningkatan OS Otomatis.

Dapatkan riwayat peningkatan gambar OS otomatis

Anda dapat memeriksa riwayat peningkatan OS terbaru yang dilakukan pada set skala Anda dengan Azure PowerShell, Azure CLI 2.0, atau REST API. Anda bisa mendapatkan riwayat untuk lima upaya peningkatan OS terakhir dalam dua bulan terakhir.

REST API

Contoh berikut menggunakan REST API untuk memeriksa status set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

GET on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/osUpgradeHistory?api-version=2021-03-01`

Panggilan GET mengembalikan properti yang mirip dengan output contoh berikut:

{
	"value": [
		{
			"properties": {
        "runningStatus": {
          "code": "RollingForward",
          "startTime": "2018-07-24T17:46:06.1248429+00:00",
          "completedTime": "2018-04-21T12:29:25.0511245+00:00"
        },
        "progress": {
          "successfulInstanceCount": 16,
          "failedInstanceCount": 0,
          "inProgressInstanceCount": 4,
          "pendingInstanceCount": 0
        },
        "startedBy": "Platform",
        "targetImageReference": {
          "publisher": "MicrosoftWindowsServer",
          "offer": "WindowsServer",
          "sku": "2016-Datacenter",
          "version": "2016.127.20180613"
        },
        "rollbackInfo": {
          "successfullyRolledbackInstanceCount": 0,
          "failedRolledbackInstanceCount": 0
        }
      },
      "type": "Microsoft.Compute/virtualMachineScaleSets/rollingUpgrades",
      "location": "westeurope"
    }
  ]
}

Azure PowerShell

Gunakan cmdlet Get-AzVmss untuk memeriksa riwayat peningkatan OS pada set skala Anda. Contoh berikut ini menjelaskan cara Anda meninjau status peningkatan OS untuk set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -OSUpgradeHistory

Azure CLI 2.0

Gunakan az vmss get-os-upgrade-history untuk memeriksa riwayat peningkatan OS pada set skala Anda. Gunakan Azure CLI 2.0.47 atau lebih tinggi. Contoh berikut ini menjelaskan cara Anda meninjau status peningkatan OS untuk set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

az vmss get-os-upgrade-history --resource-group myResourceGroup --name myScaleSet

Bagaimana cara mendapatkan versi terbaru dari gambar OS platform?

Anda bisa mendapatkan versi gambar yang tersedia untuk SKU yang didukung peningkatan OS otomatis menggunakan contoh di bawah ini:

REST API

GET on `/subscriptions/subscription_id/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions?api-version=2021-03-01`

Azure PowerShell

Get-AzVmImage -Location "westus" -PublisherName "Canonical" -offer "0001-com-ubuntu-server-jammy" -sku "22_04-lts"

Azure CLI 2.0

az vm image list --location "westus" --publisher "Canonical" --offer "0001-com-ubuntu-server-jammy" --sku "22_04-lts" --all

Secara manual memicu peningkatan gambar OS

Dengan peningkatan gambar OS otomatis diaktifkan pada set skala Anda, Anda tidak perlu memicu pembaruan gambar secara manual pada set skala Anda. Orkestrator peningkatan OS akan secara otomatis menerapkan versi gambar terbaru yang tersedia ke instans set skala Anda tanpa intervensi manual apa pun.

Untuk kasus tertentu di mana Anda tidak ingin menunggu orkestrator menerapkan gambar terbaru, Anda dapat memicu peningkatan gambar OS secara manual menggunakan contoh di bawah ini.

Catatan

Pemicu manual peningkatan gambar OS tidak menyediakan kemampuan putar kembali otomatis. Jika sebuah instans tidak memulihkan kesehatannya setelah operasi peningkatan, disk OS sebelumnya tidak dapat dipulihkan.

REST API

Gunakan panggilan Start OS Upgrade API untuk memulai peningkatan bergulir untuk memindahkan semua instans Virtual Machine Scale Set ke versi OS gambar terbaru yang tersedia. Instans yang sudah menjalankan versi OS terbaru yang tersedia tidak terpengaruh. Contoh berikut ini menjelaskan cara Anda memulai peningkatan OS bergulir pada set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/osRollingUpgrade?api-version=2021-03-01`

Azure PowerShell

Gunakan cmdlet Start-AzVmssRollingOSUpgrade untuk memeriksa riwayat peningkatan OS pada set skala Anda. Contoh berikut ini menjelaskan cara Anda memulai peningkatan OS bergulir pada set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

Start-AzVmssRollingOSUpgrade -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Azure CLI 2.0

Gunakan az vmss rolling-upgrade mulai untuk memeriksa riwayat peningkatan OS pada set skala Anda. Gunakan Azure CLI 2.0.47 atau lebih tinggi. Contoh berikut ini menjelaskan cara Anda memulai peningkatan OS bergulir pada set skala bernama myScaleSet di grup sumber daya bernama myResourceGroup:

az vmss rolling-upgrade start --resource-group "myResourceGroup" --name "myScaleSet" --subscription "subscriptionId"

Menyelidiki dan Mengatasi Kesalahan Peningkatan Otomatis

Platform dapat mengembalikan kesalahan pada VM saat melakukan Peningkatan Gambar Otomatis dengan kebijakan Peningkatan Bergulir. Tampilan Dapatkan Instans VM berisi pesan kesalahan terperinci untuk menyelidiki dan mengatasi kesalahan. Peningkatan Bergulir - Dapatkan Terbaru dapat memberikan detail selengkapnya tentang konfigurasi dan status peningkatan bergulir. Riwayat Peningkatan Get OS menyediakan detail tentang operasi peningkatan gambar terakhir pada set skala. Di bawah ini adalah kesalahan paling atas yang dapat mengakibatkan Peningkatan Bergulir.

RollingUpgradeInProgressWithFailedUpgradedVMs

  • Kesalahan dipicu untuk kegagalan VM.
  • Pesan kesalahan terperinci menyebutkan apakah peluncuran akan dilanjutkan/dijeda berdasarkan ambang batas yang dikonfigurasi.

MaxUnhealthyUpgradedInstancePercentExceededInRollingUpgrade

  • Kesalahan dipicu ketika persentase VM yang ditingkatkan melebihi ambang maksimum yang diizinkan untuk VM yang tidak sehat.
  • Pesan kesalahan terperinci mengagregasi kesalahan paling umum yang berkontribusi pada VM yang tidak sehat. Lihat MaxUnhealthyUpgradedInstancePercent.

MaxUnhealthyInstancePercentExceededInRollingUpgrade

  • Kesalahan dipicu ketika persentase VM yang tidak sehat melebihi ambang maksimum yang diizinkan untuk VM yang tidak sehat selama peningkatan.
  • Pesan kesalahan terperinci menampilkan persentase tidak sehat saat ini dan persentase VM tidak sehat yang diizinkan yang dikonfigurasi. Lihat maxUnhealthyInstancePercent.

MaxUnhealthyInstancePercentExceededBeforeRollingUpgrade

  • Kesalahan dipicu ketika persentase VM yang tidak sehat melebihi ambang maksimum yang diizinkan untuk VM yang tidak sehat sebelum peningkatan terjadi.
  • Pesan kesalahan terperinci menampilkan persentase tidak sehat saat ini dan persentase VM tidak sehat yang diizinkan yang dikonfigurasi. Lihat maxUnhealthyInstancePercent.

InternalExecutionError

  • Kesalahan dipicu ketika terjadi kesalahan yang tidak tertangani, tidak diformat, atau tidak terduga selama eksekusi.
  • Pesan kesalahan terperinci menampilkan penyebab kesalahan.

RollingUpgradeTimeoutError

  • Kesalahan dipicu ketika proses peningkatan bergulir telah kehabisan waktu.
  • Pesan kesalahan terperinci menampilkan lamanya waktu sistem kehabisan waktu setelah mencoba memperbarui.

Langkah berikutnya