Share via


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şturun

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 listkullanı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 Mondaydeğ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-nameVM'nin adını, için VM'nin kaynak grubunu --resource-groupve için VM'nin --locationkonumunu 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 hostGroupseklemeniz 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 listyapı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: 404iç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} \
   --resourcegroup 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} \
   --resourcegroup 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 getgü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 createdö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.