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.Maintenance
emin 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ş Host
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. duration
Bu kapsam için zamanlamanın değeri en az iki saat olmalıdır. Başlamak için New-AzMaintenanceConfiguration
iç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ş myConfigosimage
adlı 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 -ResourceName
VM'nin -ResourceGroupName
kaynak 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 hostGroups
adı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 Name
Get-AzApplyUpdate
ilerleyen 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.