Share via


Bakım Yapılandırmaları ve Azure PowerShell 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, ayrılmış konaklar ve yalıtılmış sanal makineler (VM) için Azure PowerShell seçeneklerini kapsar. Bakım Yapılandırmaları özelliğini, sınırlamalarını ve diğer yönetim seçeneklerini kullanmanın avantajları hakkında daha fazla bilgi için bkz . Bakım Yapılandırmaları ile platform güncelleştirmelerini yönetme.

Ölçek kümeleri için Bakım Yapılandırmalarını kullanma hakkında bilgi arıyorsanız bkz. Azure Sanal Makine Ölçek Kümeleri için bakım denetimi.

Önemli

Belirli kapsamlar belirli makine türlerini ve zamanlamalarını destekler. VM'niz için doğru kapsamı seçtiğinizden emin olun.

Azure PowerShell modülünü etkinleştirme

Bunun güncel olduğundan emin PowerShellGet olun:

Install-Module -Name PowerShellGet -Repository PSGallery -Force

Az.Maintenance Azure PowerShell modülünü yükleyin:

Install-Module -Name Az.Maintenance

En son sürümünü (sürüm 1.2.0) çalıştırdığınızı Az.Maintenance denetleyin:

Get-Module -ListAvailable -Name Az.Maintenance

uygulamasının uygun sürümünü çalıştırdığınızdan Az.Maintenanceemin olun:

Import-Module -Name Az.Maintenance -RequiredVersion 1.2.0

Yerel olarak yüklüyorsanız Azure PowerShell isteminizi yönetici olarak açtığınızdan emin olun.

Güvenilmeyen bir depodan yüklemek istediğinizi onaylamanız istenebilir. Modülü yüklemek için Y girin veya Tümüne Evet'i seçin.

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.

New-AzResourceGroup `
   -Location eastus `
   -Name myMaintenanceRG

Azure güncelleştirmeleri kaynaklarınıza tekrar tekrar uygulayacağı zamanlanmış bir pencere bildirebilirsiniz. Zamanlanmış bir pencere oluşturduktan sonra artık güncelleştirmeleri el ile uygulamanız gerekmez.

Bakım yinelenme durumunu günlük, haftalık veya aylık olarak ifade edebilirsiniz. Burada bazı örnekler verilmiştir:

  • Günlük: RecurEvery veya "3Days"değeri"Day".
  • Haftalık: RecurEvery veya "Week Saturday,Sunday"değeri"3Weeks".
  • Aylık: RecurEvery veya "Month Last Sunday""Month Fourth Monday"değeri"Month day23,day24".

Ana Bilgisayar

Bu örnek, kapsamı olarak belirlenmiş HostmyConfig 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. duration Bu kapsam için zamanlamanın değeri en az iki saat olmalıdır. Başlamak için New-AzMaintenanceConfigurationiçin parametrelerini tanımlayın:

$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "Host"
$location = "eastus"
$timeZone = "Pacific Standard Time" 
$duration = "05:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "Month Fourth Monday"

Parametreleri tanımladıktan sonra, yapılandırmanızı oluşturmak için cmdlet'ini New-AzMaintenanceConfiguration kullanabilirsiniz:

New-AzMaintenanceConfiguration
   -ResourceGroup $RGName `
   -Name $configName `
   -MaintenanceScope $scope `
   -Location $location `
   -StartDateTime $startDateTime `
   -TimeZone $timeZone `
   -Duration $duration `
   -RecurEvery $recurEvery

kullanmak $scope = "Host" , bakım yapılandırmasının konak makinelerindeki güncelleştirmeleri denetlemek için kullanılmasını sağlar. Hedeflediğiniz makinelerin belirli kapsamı için bir yapılandırma oluşturduğunuzdan emin olun. Kapsamlar hakkında daha fazla bilgi edinin.

İşletim sistemi görüntüsü

Bu örnek, kapsamı olarak belirlenmiş myConfigosimageadlı bir bakım yapılandırması oluşturur ve her 5 günde bir 8 saatlik zamanlanmış bir pencere oluşturur. duration Bu kapsam için zamanlama değeri en az 5 saat olmalıdır. Bu kapsam, zamanlama yinelenmeleri için en fazla 7 gün izin verir.

$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "osimage"
$location = "eastus"
$timeZone = "Pacific Standard Time" 
$duration = "08:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "5days"

Parametreleri tanımladıktan sonra, yapılandırmanızı oluşturmak için cmdlet'ini New-AzMaintenanceConfiguration kullanabilirsiniz:

New-AzMaintenanceConfiguration
   -ResourceGroup $RGName `
   -Name $configName `
   -MaintenanceScope $scope `
   -Location $location `
   -StartDateTime $startDateTime `
   -TimeZone $timeZone `
   -Duration $duration `
   -RecurEvery $recurEvery

Konuk

Bakım Yapılandırmaları özelliğine en son eklenen kapsamdır InGuestPatch . Bu örnekte, Azure PowerShell kullanarak konuk kapsamı için bakım yapılandırması oluşturma adımları gösterilmektedir. Bu kapsam hakkında daha fazla bilgi için bkz . Konuk.

$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "InGuestPatch"
$location = "eastus"
$timeZone = "Pacific Standard Time" 
$duration = "04:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "Week Saturday, Sunday"
$WindowsParameterClassificationToInclude = "FeaturePack","ServicePack";
$WindowParameterKbNumberToInclude = "KB123456","KB123466";
$WindowParameterKbNumberToExclude = "KB123456","KB123466";
$RebootOption = "IfRequired";
$LinuxParameterClassificationToInclude = "Other";
$LinuxParameterPackageNameMaskToInclude = "apt","httpd";
$LinuxParameterPackageNameMaskToExclude = "ppt","userpk";

Parametreleri tanımladıktan sonra, yapılandırmanızı oluşturmak için cmdlet'ini New-AzMaintenanceConfiguration kullanabilirsiniz:

New-AzMaintenanceConfiguration
   -ResourceGroup $RGName `
   -Name $configName `
   -MaintenanceScope $scope `
   -Location $location `
   -StartDateTime $startDateTime `
   -TimeZone $timeZone `
   -Duration $duration `
   -RecurEvery $recurEvery `
   -WindowParameterClassificationToInclude $WindowsParameterClassificationToInclude `
   -WindowParameterKbNumberToInclude $WindowParameterKbNumberToInclude `
   -WindowParameterKbNumberToExclude $WindowParameterKbNumberToExclude `
   -InstallPatchRebootSetting $RebootOption `
   -LinuxParameterPackageNameMaskToInclude $LinuxParameterPackageNameMaskToInclude `
   -LinuxParameterClassificationToInclude $LinuxParameterClassificationToInclude `
   -LinuxParameterPackageNameMaskToExclude $LinuxParameterPackageNameMaskToExclude `
   -ExtensionProperty @{"InGuestPatchMode"="User"}

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.

Get-AzMaintenanceConfiguration komutunu kullanarak bakım yapılandırmalarını başarıyla oluşturup oluşturmadığınız denetlenebilir:

Get-AzMaintenanceConfiguration | Format-Table -Property Name,Id

Yapılandırmayı atama

Yapılandırmanızı oluşturduktan sonra Azure PowerShell kullanarak da makineler atamak isteyebilirsiniz. New-AzConfigurationAssignment cmdlet'ini kullanabilirsiniz.

Yalıtılmış VM

Yapılandırma kimliğini kullanarak yapılandırmayı bir VM'ye atayın. -ResourceType VirtualMachines belirtin. için VM'nin adını ve için -ResourceNameVM'nin -ResourceGroupNamekaynak grubunu sağlayın.

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVM" `
   -ResourceType "VirtualMachines" `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Ayrılmış konak

Ayrılmış bir konağa yapılandırma uygulamak için, konak grubunun -ResourceParentType hostGroupsadıyla ve öğesini eklemeniz -ResourceType hosts-ResourceParentName gerekir:

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName myHostGroup `
   -ResourceParentType hostGroups `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Sanal makine ölçek kümeleri

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Konuk

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myGuest" `
   -ResourceType "VirtualMachines" `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Bekleyen güncelleştirmeleri denetleme

Bekleyen güncelleştirmeleri denetleme, Get-AzMaintenanceUpdate kullanın. Oturum açtığınız sanal makinenin Azure aboneliğini belirtmek için kullanın -subscription .

Gösterilecek güncelleştirme yoksa, bu komut hiçbir şey döndürmez. Aksi takdirde, bir PSApplyUpdate nesne döndürür:

{
   "maintenanceScope": "Host",
   "impactType": "Freeze",
   "status": "Pending",
   "impactDurationInSec": 9,
   "notBefore": "2020-02-21T16:47:44.8728029Z",
   "properties": {
      "resourceId": "/subscriptions/39c6cced-4d6c-4dd5-af86-57499cd3f846/resourcegroups/Ignite2019/providers/Microsoft.Compute/virtualMachines/MCDemo3"
} 

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:

Get-AzMaintenanceUpdate `
  -ResourceGroupName "myResourceGroup" `
  -ResourceName "myVM" `
  -ResourceType "VirtualMachines" `
  -ProviderName "Microsoft.Compute" | Format-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:

Get-AzMaintenanceUpdate `
   -ResourceGroupName "myResourceGroup" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName "myHostGroup" `
   -ResourceParentType "hostGroups" `
   -ProviderName "Microsoft.Compute" | Format-Table

Sanal makine ölçek kümeleri

Get-AzMaintenanceUpdate `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute" | Format-Table

Güncelleştirme uygulama

Bekleyen güncelleştirmeleri uygulamak için New-AzApplyUpdate kullanın. Güncelleştirme çağrılarının uygulanması 2 saate kadar sürebilir.

Bu cmdlet yalnızca konak ve işletim sistemi görüntüsü kapsamları için çalışır. Konuk kapsamı için çalışmaz.

Yalıtılmış VM

Yalıtılmış bir VM'ye güncelleştirmeleri uygulamak için bir istek oluşturun:

New-AzApplyUpdate `
  -ResourceGroupName "myResourceGroup" `
  -ResourceName "myVM" `
  -ResourceType "VirtualMachines" `
  -ProviderName "Microsoft.Compute"

Başarılı olduğunda, bu komut bir PSApplyUpdate nesne döndürür. Bu makalenin NameGet-AzApplyUpdateilerleyen bölümlerinde açıklandığı gibi güncelleştirme durumunu denetlemek için komutundaki özniteliğini kullanabilirsiniz.

Ayrılmış konak

Güncelleştirmeleri ayrılmış bir konağa uygulayın:

New-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName "myHostGroup" `
   -ResourceParentType "hostGroups" `
   -ProviderName Microsoft.Compute

Sanal makine ölçek kümeleri

New-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute"

Güncelleştirme durumunu denetleme

Güncelleştirmenin durumunu denetlemek için Get-AzApplyUpdate kullanın. Aşağıdaki komutlar parametresi için kullanarak default en son güncelleştirmenin -ApplyUpdateName durumunu gösterir. Belirli bir güncelleştirmenin durumunu almak için güncelleştirmenin adını (New-AzApplyUpdate komutu tarafından döndürülür) değiştirebilirsiniz.

Bu cmdlet yalnızca konak ve işletim sistemi görüntüsü kapsamları için çalışır. Konuk kapsamı için çalışmaz.

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

Belirli bir sanal makineye yönelik güncelleştirmeleri denetleyin:

Get-AzApplyUpdate `
  -ResourceGroupName "myResourceGroup" `
  -ResourceName "myVM" `
  -ResourceType "VirtualMachines" `
  -ProviderName "Microsoft.Compute" `
  -ApplyUpdateName "applyUpdateName"

Ayrılmış konak

Ayrılmış konak güncelleştirmelerini denetleyin:

Get-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName "myHostGroup" `
   -ResourceParentType "hostGroups" `
   -ProviderName "Microsoft.Compute" `
   -ApplyUpdateName "applyUpdateName"

Sanal makine ölçek kümeleri

New-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute" `
   -ApplyUpdateName "applyUpdateName"

Bakım yapılandırmasını silme

Bakım yapılandırmasını silmek için Remove-AzMaintenanceConfiguration komutunu kullanın:

Remove-AzMaintenanceConfiguration `
   -ResourceGroupName "myResourceGroup" `
   -Name "configName"

Sonraki adımlar

Daha fazla bilgi edinmek için bkz . Azure'da sanal makineler için bakım.