Mengontrol pembaruan dengan Konfigurasi Pemeliharaan dan Azure CLI
Berlaku untuk: ✔️ Mesin virtual Linux ✔️ Mesin virtual Windows ✔️ Set skala fleksibel ✔️ Set skala seragam
Anda dapat menggunakan fitur Konfigurasi Pemeliharaan untuk mengontrol kapan harus menerapkan pembaruan platform ke berbagai sumber daya Azure. Artikel ini membahas opsi Azure CLI untuk menggunakan fitur ini. Untuk informasi selengkapnya tentang manfaat menggunakan Konfigurasi Pemeliharaan, batasannya, dan opsi manajemen lainnya, lihat Mengelola pembaruan platform dengan Konfigurasi Pemeliharaan.
Penting
Cakupan tertentu mendukung jenis dan jadwal komputer tertentu. Pastikan untuk memilih cakupan yang tepat untuk komputer virtual (VM) Anda.
Buat konfigurasi pemeliharaan
Langkah pertama dalam membuat konfigurasi pemeliharaan adalah membuat grup sumber daya sebagai kontainer untuk konfigurasi Anda. Contoh ini membuat grup sumber daya bernama myMaintenanceRG di eastus. Jika sudah memiliki grup sumber daya yang ingin digunakan, Anda dapat melewati bagian ini dan mengganti nama grup sumber daya dengan milik Anda di contoh lainnya.
az group create \
--location eastus \
--name myMaintenanceRG
Setelah Anda membuat grup sumber daya, gunakan az maintenance configuration create
untuk membuat konfigurasi pemeliharaan.
Host
Contoh ini membuat konfigurasi pemeliharaan bernama myConfig yang dilingkup ke komputer host, dengan jendela terjadwal 5 jam pada hari Senin keempat setiap bulan:
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope host \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
Menggunakan --maintenance-scope host
memastikan bahwa konfigurasi pemeliharaan digunakan untuk mengontrol pembaruan pada infrastruktur host. Jika Anda mencoba membuat konfigurasi dengan nama yang sama tetapi di lokasi yang berbeda, Anda akan mendapatkan kesalahan. Nama konfigurasi harus unik untuk grup sumber daya Anda.
Untuk memeriksa apakah Anda berhasil membuat konfigurasi pemeliharaan, Anda dapat mengkueri konfigurasi pemeliharaan yang tersedia dengan menggunakan az maintenance configuration list
:
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
Anda dapat mengekspresikan pengulangan pemeliharaan sebagai harian, mingguan, atau bulanan. Berikut adalah beberapa contoh:
- Harian: Nilai
maintenance-window-recur-every
"Day"
atau"3Days"
. - Mingguan
"3Weeks"
: Nilaimaintenance-window-recur-every
atau"Week Saturday,Sunday"
. - Bulanan: Nilai
maintenance-window-recur-every
"Month day23,day24"
atau"Month Last Sunday"
atauMonth Fourth Monday
.
Kumpulan skala komputer virtual
Contoh ini membuat konfigurasi pemeliharaan bernama myConfig dengan cakupan gambar OS untuk set skala komputer virtual, dengan jendela terjadwal 5 jam pada hari Senin keempat setiap bulan:
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope osimage \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
VM Tamu
Contoh ini membuat konfigurasi pemeliharaan bernama myConfig yang dicakup ke komputer tamu (VM dan server dengan dukungan Azure Arc), dengan jendela terjadwal 2 jam setiap 20 hari. Pelajari selengkapnya tentang konfigurasi pemeliharaan pada VM tamu.
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope InGuestPatch \
--location eastus \
--maintenance-window-duration "02:00" \
--maintenance-window-recur-every "20days" \
--maintenance-window-start-date-time "2022-12-30 07:00" \
--maintenance-window-time-zone "Pacific Standard Time" \
--install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
--install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
--reboot-setting "IfRequired" \
--extension-properties InGuestPatchMode="User"
Menetapkan konfigurasi
Gunakan az maintenance assignment create
untuk menetapkan konfigurasi ke komputer Anda.
Komputer virtual terisolasi
Terapkan konfigurasi ke VM host terisolasi dengan menggunakan ID konfigurasi. Tentukan --resource-type virtualMachines
. Berikan nama VM untuk --resource-name
, grup sumber daya VM untuk --resource-group
, dan lokasi VM untuk --location
.
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Host khusus
Untuk menerapkan konfigurasi ke host khusus, Anda perlu menyertakan --resource-type hosts
, --resource-parent-name
dengan nama grup host, dan --resource-parent-type hostGroups
.
Parameter --resource-id
adalah ID dari host. Anda dapat menggunakan az-vm-host-get-instance-view untuk mendapatkan ID host khusus.
az maintenance assignment create \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
--location eastus \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Kumpulan skala komputer virtual
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
VM Tamu
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Periksa konfigurasi
Anda dapat memverifikasi bahwa konfigurasi diterapkan dengan benar, atau memeriksa untuk melihat konfigurasi apa yang saat ini diterapkan, dengan menggunakan az maintenance assignment list
.
Komputer virtual terisolasi
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Host khusus
az maintenance assignment list \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--query "[].{ResourceGroup:resourceGroup,configName:name}" \
--output table
Kumpulan skala komputer virtual
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
VM Tamu
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Memeriksa pembaruan yang tertunda
Gunakan az maintenance update list
untuk melihat apakah ada pembaruan yang tertunda. Pembaruan --subscription
menjadi ID untuk langganan yang berisi VM.
Jika tidak ada pembaruan, perintah mengembalikan pesan kesalahan yang berisi teks Resource not found...StatusCode: 404
.
Jika ada pembaruan, perintah hanya mengembalikan satu, bahkan jika beberapa pembaruan tertunda. Data untuk pembaruan ini dikembalikan dalam objek:
[
{
"impactDurationInSec": 9,
"impactType": "Freeze",
"maintenanceScope": "Host",
"notBefore": "2020-03-03T07:23:04.905538+00:00",
"resourceId": "/subscriptions/9120c5ff-e78e-4bd0-b29f-75c19cadd078/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
"status": "Pending"
}
]
Komputer virtual terisolasi
Periksa pembaruan tertunda untuk VM yang terisolasi. Dalam contoh ini, output diformat sebagai tabel untuk keterbacaan:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Host khusus
Periksa pembaruan yang tertunda untuk host khusus. Dalam contoh ini, output diformat sebagai tabel untuk keterbacaan. Ganti nilai untuk sumber daya dengan nilai Anda sendiri.
az maintenance update list \
--subscription {subscription ID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parentname myHostGroup \
--resource-parent-type hostGroups \
--output table
Terapkan pemutakhiran
Gunakan az maintenance apply update
untuk menerapkan pembaruan yang tertunda. Setelah berhasil, perintah ini mengembalikan JSON yang berisi detail pembaruan. Panggilan untuk menerapkan pembaruan dapat memakan waktu hingga 2 jam untuk diselesaikan.
Komputer virtual terisolasi
Buat permintaan untuk menerapkan pembaruan ke VM terisolasi:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Host khusus
Terapkan pembaruan ke host khusus:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Kumpulan skala komputer virtual
Terapkan pembaruan ke set skala:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Memeriksa status penerapan pembaruan
Anda dapat memeriksa kemajuan pembaruan dengan menggunakan az maintenance applyupdate get
.
Untuk melihat hasil pembaruan terakhir, gunakan default
sebagai nama pembaruan. Atau ganti myUpdateName
dengan nama pembaruan yang dikembalikan saat Anda menjalankan az maintenance applyupdate create
.
Status : Completed
ResourceId : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name : default
Type : Microsoft.Maintenance/applyUpdates
LastUpdateTime
adalah waktu ketika pembaruan selesai, apakah Anda memulai pembaruan atau platform memulainya karena Anda tidak menggunakan jendela pemeliharaan mandiri. Jika pembaruan tidak pernah diterapkan melalui Konfigurasi Pemeliharaan, LastUpdateTime
menunjukkan nilai default.
Komputer virtual terisolasi
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Host khusus
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Kumpulan skala komputer virtual
az maintenance applyupdate get \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Menghapus konfigurasi pemeliharaan
Untuk menghapus konfigurasi pemeliharaan, gunakan az maintenance configuration delete
. Menghapus konfigurasi akan menghapus kontrol pemeliharaan dari sumber daya terkait.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Langkah berikutnya
Untuk mempelajari selengkapnya, lihat Pemeliharaan untuk komputer virtual di Azure.