Bakım Yapılandırmaları ve Azure CLI ile güncelleştirmeleri denetleme
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri
Çeşitli Azure kaynaklarına platform güncelleştirmelerinin ne zaman uygulanacağını denetlemek için Bakım Yapılandırmaları özelliğini kullanabilirsiniz. Bu makale, bu özelliği kullanmaya yönelik Azure CLI seçeneklerini kapsar. Bakım Yapılandırmalarını kullanmanın avantajları, sınırlamaları ve diğer yönetim seçenekleri hakkında daha fazla bilgi için bkz . Bakım Yapılandırmaları ile platform güncelleştirmelerini yönetme.
Önemli
Belirli kapsamlar belirli makine türlerini ve zamanlamalarını destekler. Sanal makineniz (VM) için doğru kapsamı seçtiğinizden emin olun.
Bakım yapılandırması oluşturma
Bakım yapılandırması oluşturmanın ilk adımı, yapılandırmanız için kapsayıcı olarak bir kaynak grubu oluşturmaktır. Bu örnek eastus'ta myMaintenanceRG adlı bir kaynak grubu oluşturur. Kullanmak istediğiniz bir kaynak grubunuz zaten varsa, bu bölümü atlayabilir ve örneklerin geri kalanında kaynak grubu adını kendinizle değiştirebilirsiniz.
az group create \
--location eastus \
--name myMaintenanceRG
Kaynak grubunu oluşturduktan sonra, bir bakım yapılandırması oluşturmak için kullanın az maintenance configuration create
.
Ana Bilgisayar
Bu örnek, her ayın dördüncü Pazartesi günü 5 saatlik zamanlanmış bir pencereyle konak makineler için kapsamı belirlenmiş myConfig adlı bir bakım yapılandırması oluşturur:
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"
kullanmak --maintenance-scope host
, bakım yapılandırmasının konak altyapısı güncelleştirmelerini denetlemek için kullanılmasını sağlar. Aynı ada sahip ancak farklı bir konumda bir yapılandırma oluşturmaya çalışırsanız bir hata alırsınız. Yapılandırma adları kaynak grubunuz için benzersiz olmalıdır.
Bakım yapılandırmasını başarıyla oluşturup oluşturmadığınızdan denetlemek için kullanarak az maintenance configuration list
kullanılabilir bakım yapılandırmalarını sorgulayabilirsiniz:
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
Bakım yinelenme durumunu günlük, haftalık veya aylık olarak ifade edebilirsiniz. Burada bazı örnekler verilmiştir:
- Günlük:
maintenance-window-recur-every
veya"3Days"
değeri"Day"
. - Haftalık:
maintenance-window-recur-every
veya"Week Saturday,Sunday"
değeri"3Weeks"
. - Aylık:
maintenance-window-recur-every
veya"Month Last Sunday"
Month Fourth Monday
değeri"Month day23,day24"
.
Sanal makine ölçek kümeleri
Bu örnek, sanal makine ölçek kümeleri için işletim sistemi görüntü kapsamına sahip myConfig adlı bir bakım yapılandırması oluşturur ve her ayın dördüncü Pazartesi günü 5 saatlik zamanlanmış bir pencere oluşturur:
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"
Konuk VM'ler
Bu örnek, her 20 günde bir 2 saat zamanlanmış bir pencereyle konuk makineler (VM'ler ve Azure Arc özellikli sunucular) kapsamında myConfig adlı bir bakım yapılandırması oluşturur. Konuk VM'lerdeki bakım yapılandırmaları hakkında daha fazla bilgi edinin.
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"
Yapılandırmayı atama
Yapılandırmayı makinenize atamak için kullanın az maintenance assignment create
.
Yalıtılmış VM
Yapılandırmanın kimliğini kullanarak yapılandırmayı yalıtılmış bir konak VM'sine uygulayın. --resource-type virtualMachines
belirtin. için --resource-name
VM'nin adını, için VM'nin kaynak grubunu --resource-group
ve için VM'nin --location
konumunu belirtin.
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"
Ayrılmış konak
Ayrılmış bir konağa yapılandırma uygulamak için--resource-type hosts
--resource-parent-name
, konak grubunun adıyla ve --resource-parent-type hostGroups
eklemeniz gerekir.
parametresi --resource-id
konağın kimliğidir. Ayrılmış ana bilgisayarınızın kimliğini almak için az-vm-host-get-instance-view kullanabilirsiniz.
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
Sanal makine ölçek kümeleri
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"
Konuk VM'ler
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"
Yapılandırmayı denetleme
kullanarak az maintenance assignment list
yapılandırmanın doğru uygulandığını doğrulayabilir veya şu anda hangi yapılandırmanın uygulandığını kontrol edebilirsiniz.
Yalıtılmış VM
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Ayrılmış konak
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
Sanal makine ölçek kümeleri
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Konuk VM'ler
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Bekleyen güncelleştirmeleri denetleme
Bekleyen güncelleştirmeler olup olmadığını görmek için kullanın az maintenance update list
. VM'yi içeren aboneliğin kimliği olacak şekilde güncelleştirin --subscription
.
Güncelleştirme yoksa, komutu metnini Resource not found...StatusCode: 404
içeren bir hata iletisi döndürür.
Güncelleştirmeler varsa, komut birden çok güncelleştirme bekliyor olsa bile yalnızca bir tane döndürür. Bu güncelleştirmenin verileri bir nesnede döndürülür:
[
{
"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"
}
]
Yalıtılmış VM
Yalıtılmış bir VM için bekleyen güncelleştirmeleri denetleyin. Bu örnekte, çıktı okunabilirlik için bir tablo olarak biçimlendirilmiştir:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Ayrılmış konak
Ayrılmış bir konak için bekleyen güncelleştirmeleri denetleyin. Bu örnekte, çıktı okunabilirlik için bir tablo olarak biçimlendirilmiştir. Kaynakların değerlerini kendi değerlerinizle değiştirin.
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
Güncelleştirme uygulama
Bekleyen güncelleştirmeleri uygulamak için kullanın az maintenance apply update
. Başarılı olduğunda, bu komut güncelleştirmenin ayrıntılarını içeren JSON döndürür. Güncelleştirmeleri uygulamak için yapılan çağrıların tamamlanması 2 saate kadar sürebilir.
Yalıtılmış VM
Yalıtılmış bir VM'ye güncelleştirmeleri uygulamak için bir istek oluşturun:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Ayrılmış konak
Güncelleştirmeleri ayrılmış bir konağa uygulayın:
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
Sanal makine ölçek kümeleri
Güncelleştirmeleri ölçek kümesine uygulama:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Güncelleştirmeleri uygulama durumunu denetleyin
kullanarak az maintenance applyupdate get
güncelleştirmelerin ilerleme durumunu de kontrol edebilirsiniz.
Son güncelleştirmenin sonuçlarını görmek için güncelleştirme adı olarak kullanın default
. veya öğesini çalıştırdığınızda az maintenance applyupdate create
döndürülen güncelleştirmenin adıyla değiştirinmyUpdateName
.
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
, kendi kendine bakım penceresini kullanmadığınız için güncelleştirmeyi başlattığınız veya platformun başlattığı güncelleştirmenin bittiği zamandır. Bakım Yapılandırmaları aracılığıyla hiçbir zaman bir güncelleştirme uygulanmadıysa, LastUpdateTime
varsayılan değeri gösterir.
Yalıtılmış VM
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
Ayrılmış konak
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
Sanal makine ölçek kümeleri
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
Bakım yapılandırmasını silme
Bakım yapılandırmasını silmek için kullanın az maintenance configuration delete
. Yapılandırmanın silinmesi, ilişkili kaynaklardan bakım denetimini kaldırır.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Sonraki adımlar
Daha fazla bilgi edinmek için bkz . Azure'da sanal makineler için bakım.