Azure VM'leri için güncelleştirmeleri program aracılığıyla yönetme
Bu makale, Azure'da Azure Update Manager ile Azure sanal makinenizde bir değerlendirme ve güncelleştirme dağıtımı tetikleme amacıyla Azure REST API'sini kullanma işleminde size yol gösterir. Update Manager'ı yeni kullanıyorsanız ve daha fazla bilgi edinmek istiyorsanız bkz . Azure Update Manager'a genel bakış. Arc özellikli sunucuları yönetmek için Azure REST API'sini kullanmak için bkz . Arc özellikli sunucularla program aracılığıyla çalışma.
Azure'daki Azure Update Manager, program aracılığıyla erişim için Azure REST API'sini kullanmanıza olanak tanır. Ayrıca, Azure PowerShell ve Azure CLI'dan uygun REST komutlarını kullanabilirsiniz.
Azure VM'lerini yönetmeye yönelik Azure REST API desteği, Update Manager sanal makine uzantısı aracılığıyla sağlanır.
Güncelleştirme değerlendirmesi
Azure VM'nizde bir güncelleştirme değerlendirmesi tetikleme için aşağıdaki POST isteğini belirtin:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/assessPatches?api-version=2020-12-01`
POST isteğini belirtmek için Azure CLI az vm assess-patches komutunu kullanabilirsiniz.
az vm assess-patches -g MyResourceGroup -n MyVm
Dağıtımı güncelleştirme
Azure VM'nize bir güncelleştirme dağıtımı tetikleme için aşağıdaki POST isteğini belirtin:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/installPatches?api-version=2020-12-01`
Request body
Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:
Özellik | Açıklama |
---|---|
maximumDuration |
İşlemin çalıştığı en uzun süre. (4 saat) gibi PT4H ISO 8601 uyumlu bir süre dizesi olmalıdır. |
rebootSetting |
Makinenin yeniden başlatılması gerekip gerekmediğini ve Konuk işletim sistemi güncelleştirme yüklemesinin tamamlanması gerekip gerekmediğini belirten bayrak. Kabul edilebilir değerler şunlardır: IfRequired, NeverReboot, AlwaysReboot . |
windowsParameters |
Desteklenen bir Microsoft Windows Server işletim sistemi çalıştıran Azure VM'lerinde Konuk İşletim Sistemi güncelleştirmesi için parametre seçenekleri. |
windowsParameters - classificationsToInclude |
Makineye yüklenecek güncelleştirmeleri seçmek için kullanılacak kategorilerin/sınıflandırmaların listesi. Kabul edilebilir değerler şunlardır: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Updates |
windowsParameters - kbNumbersToInclude |
Yüklenmesi gereken Windows Update KB Kimliklerinin listesi. Listede sağlanan classificationsToInclude sınıflandırmalara ait tüm güncelleştirmeler yüklenir. kbNumbersToInclude , sınıflandırmalara ek olarak yüklenecek belirli KB'lerin isteğe bağlı bir listesidir. Örneğin: 1234 |
windowsParameters - kbNumbersToExclude |
Yüklenmemesi gereken Windows Update KB Kimliklerinin listesi. Bu parametre geçersiz kılar windowsParameters - classificationsToInclude , yani burada belirtilen bir Windows Update KB kimliği parametresi altında classificationsToInclude sağlanan sınıflandırmaya ait olsa bile yüklenmez. |
maxPatchPublishDate |
Bu, belirtilen en fazla yayımlama tarihinde veya öncesinde yayımlanan düzeltme eklerini yüklemek için kullanılır. |
linuxParameters |
Desteklenen bir Linux sunucusu işletim sistemi çalıştıran Azure VM'lerinde Konuk İşletim Sistemi güncelleştirmesi için parametre seçenekleri. |
linuxParameters - classificationsToInclude |
Makineye yüklenecek güncelleştirmeleri seçmek için kullanılacak kategorilerin/sınıflandırmaların listesi. Kabul edilebilir değerler şunlardır: Critical, Security, Other |
linuxParameters - packageNameMasksToInclude |
Yüklenmesi gereken Linux paketlerinin listesi. Listede sağlanan classificationsToInclude sınıflandırmalara ait tüm güncelleştirmeler yüklenir. packageNameMasksToInclude , sınıflandırmalara ek olarak yüklenecek paket adlarının isteğe bağlı bir listesidir. Örneğin: mysql, libc=1.0.1.1, kernel* |
linuxParameters - packageNameMasksToExclude |
Yüklenmemesi gereken güncelleştirmelerin listesi. Bu parametre , linuxParameters - packageNameMasksToExclude parametresi altında classificationsToInclude sağlanan sınıflandırmaya ait olsa bile burada belirtilen bir paketin yüklenmeyeceği anlamına gelir. |
POST isteğini belirtmek için geçerli parametreler ve değerlerle aşağıdaki Azure REST API çağrısını kullanabilirsiniz.
POST on 'subscriptions/{subscriptionId}/resourceGroups/acmedemo/providers/Microsoft.Compute/virtualMachines/ameacr/installPatches?api-version=2020-12-01
{
"maximumDuration": "PT120M",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"UpdateRollup",
"FeaturePack",
"ServicePack"
],
"kbNumbersToInclude": [
"11111111111",
"22222222222222"
],
"kbNumbersToExclude": [
"333333333333",
"55555555555"
]
}
}'
Bakım yapılandırma zamanlaması oluşturma
Bakım yapılandırma zamanlaması oluşturmak için aşağıdaki PUT isteğini belirtin:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`
Request body
Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:
Özellik | Açıklama |
---|---|
id |
Kaynağın tam tanımlayıcısı |
location |
Kaynağın konumunu alır veya ayarlar |
name |
Kaynağın adı |
properties.extensionProperties |
maintenanceConfiguration uzantısını alır veya ayarlarÖzellikler |
properties.maintenanceScope |
Bakımı alır veya ayarlar Yapılandırmanın kapsamı |
properties.maintenanceWindow.duration |
Bakım penceresinin SS:MM biçimindeki süresi. Sağlanmadıysa, sağlanan bakım kapsamına göre varsayılan değer kullanılır. Örnek: 05:00. |
properties.maintenanceWindow.expirationDateTime |
Bakım penceresinin YYYY-AA-GG ss:mm biçiminde geçerli son kullanma tarihi. Pencere, söz konusu saat dilimine göre gün ışığından yararlanmaya sağlanan saat diliminde oluşturulur. Son kullanma tarihi gelecekteki bir tarihe ayarlanmalıdır. Sağlanmadıysa, en fazla 9999-12-31 23:59:59 tarih saatine ayarlanır. |
properties.maintenanceWindow.recurEvery |
Bakım penceresinin yineleniş hızı. Oran günlük, haftalık veya aylık zamanlamalar olarak ifade edilebilir. Günlük zamanlamalar recurEvery: [Frequency as integer]['Day(s)'] olarak biçimlendirilir. Hiçbir sıklık sağlanmazsa, varsayılan sıklık 1'dir. Günlük zamanlama örnekleri recurEvery: Day, recurEvery: 3Days şeklindedir. Haftalık zamanlamalar recurEvery olarak biçimlendirilirEvery: [Frequency as integer]['Week(s)'] [İsteğe bağlı virgülle ayrılmış hafta içi pazartesi-pazar listesi]. Haftalık zamanlama örnekleri recurEvery: 3Weeks, recurEvery: Hafta Cumartesi, Pazar. Aylık zamanlamalar [Frequency as integer]['Month(s)'] [Ay günlerinin virgülle ayrılmış listesi] veya [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday] olarak biçimlendirilir. Aylık zamanlama örnekleri recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday. |
properties.maintenanceWindow.startDateTime |
Bakım penceresinin YYYY-AA-GG ss:mm biçiminde geçerli başlangıç tarihi. Başlangıç tarihini geçerli tarihe veya gelecekteki tarihe ayarlayabilirsiniz. Pencere, sağlanan saat diliminde oluşturulur ve bu saat dilimine göre gün ışığından yararlanmaya göre ayarlanır. |
properties.maintenanceWindow.timeZone |
Saat diliminin adı. Saat dilimlerinin listesi PowerShell'de [System.TimeZoneInfo]:GetSystemTimeZones() yürütülerek elde edilebilir. Örnek: Pasifik Standart Saati, UTC, W. Avrupa Standart Saati, Kore Standart Saati, Cen. Avustralya Standart Saati. |
properties.namespace |
Kaynağın ad alanını alır veya ayarlar |
properties.visibility |
Yapılandırmanın görünürlüğünü alır veya ayarlar. Varsayılan değer :'Özel'. |
systemData |
createdBy ve modifiedBy bilgilerini içeren Azure Resource Manager meta verileri. |
tags |
Kaynağın etiketlerini alır veya ayarlar |
type |
Kaynağın türü |
POST isteğini belirtmek için geçerli parametreler ve değerlerle aşağıdaki Azure REST API çağrısını kullanabilirsiniz.
PUT on '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestAdv2?api-version=2021-09-01-preview
{
"location": "eastus2euap",
"properties": {
"namespace": null,
"extensionProperties": {
"InGuestPatchMode" : "User"
},
"maintenanceScope": "InGuestPatch",
"maintenanceWindow": {
"startDateTime": "2021-08-21 01:18",
"expirationDateTime": "2221-05-19 03:30",
"duration": "01:30",
"timeZone": "India Standard Time",
"recurEvery": "Day"
},
"visibility": "Custom",
"installPatches": {
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"Critical",
"UpdateRollup"
]
},
"linuxParameters": {
"classificationsToInclude": [
"Other"
]
}
}
}
}'
VM'leri zamanlamayla ilişkilendirme
Bir VM'yi bakım yapılandırma zamanlaması ile ilişkilendirmek için aşağıdaki PUT isteğini belirtin:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
PUT isteğini belirtmek için geçerli parametreler ve değerlerle aşağıdaki Azure REST API çağrısını kullanabilirsiniz.
PUT on '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview
{
"properties": {
"maintenanceConfigurationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
},
"location": "eastus2euap"
}'
Makineyi zamanlamadan kaldırma
Bir makineyi zamanlamadan kaldırmak için, makineyi azure Kaynak Grafı geçerli zamanlamayla ilişkilendirmek üzere oluşturulan makinenin tüm yapılandırma atama adlarını listelendiği gibi alın:
maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id
Yukarıdaki adı aldıktan sonra DELETE isteğini izleyerek yapılandırma atamasını silin -
DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Sonraki adımlar
- Güncelleştirme Yöneticisi tarafından oluşturulan güncelleştirme değerlendirmesini ve dağıtım günlüklerini görüntülemek için bkz . sorgu günlükleri.
- Sorunları gidermek için bkz . Güncelleştirme Yöneticisi sorunlarını giderme .