Azure Arc özellikli sunucular için güncelleştirmeleri program aracılığıyla yönetme

Bu makale, Azure'da Azure Update Manager ile Azure Arc özellikli sunucularınızda bir değerlendirme ve güncelleştirme dağıtımı tetikleme amacıyla Azure REST API'sini kullanma işleminde size yol gösterir. Azure Update Manager'ı yeni kullanıyorsanız ve daha fazla bilgi edinmek istiyorsanız bkz . Güncelleştirme Yöneticisi'ne genel bakış. Azure sanal makinelerini yönetmek üzere Azure REST API'sini kullanmak için bkz . Azure sanal makineleriyle program aracılığıyla çalışma.

Azure'daki Güncelleştirme Yöneticisi, 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 Arc özellikli sunucuları 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 Arc özellikli sunucunuzda bir güncelleştirme değerlendirmesi tetikleme için aşağıdaki POST isteğini belirtin:

POST isteğini belirtmek için Azure CLI az rest komutunu kullanabilirsiniz.

az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json

Dağıtımı güncelleştirme

Azure Arc özellikli sunucunuza 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.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`

İstek içeriği

Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:

Özellik Açıklama
maximumDuration İşletim sistemi güncelleştirme işleminin dakika cinsinden en uzun süresi. GIBI PT100MISO 8601 uyumlu bir süre dizesi olmalıdır.
rebootSetting Makineyi yeniden başlatmanız gerekiyorsa durum bayrağı, Azure Update Manager'ın (AUM) güncelleştirme işinin bir parçası olarak makineyi yeniden başlatması gerekip gerekmediğini gösterir. Kabul edilebilir değerler şunlardır: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Desteklenen bir Microsoft Windows Server işletim sistemi çalıştıran makinede Konuk işletim sistemi güncelleştirmesi için parametre seçenekleri.
windowsParameters - classificationsToInclude Windows Server işletim sistemi tarafından desteklendiği ve sağlandığı şekilde uygulanacak işletim sistemi güncelleştirmelerinin kategorileri veya sınıflandırmaları listesi. Kabul edilebilir değerler şunlardır: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Makinede kullanılabilen ve yüklemeniz gereken Windows Update KB kimliklerinin listesi. Herhangi bir 'classificationsToInclude' eklediyseniz, kategoride mevcut olan KB'ler yüklenir. 'kbNumbersToInclude', yüklenmesini istediğiniz belirli KB kimliklerinin listesini mevcut listenize eklemenizi sağlayan bir seçenektir. Örneğin: 1234
windowsParameters - kbNumbersToExclude Makinede kullanılabilen ve yüklenmemesi gereken Windows Update KB kimliklerinin listesi. Eğer herhangi bir "dahil edilecek sınıflandırma" eklediyseniz, bu kategoride mevcut olan KB'ler yüklenecektir. 'kbNumbersToExclude', yüklenmediğinden emin olmak istediğiniz belirli KB kimliklerinin listesini sağlayan bir seçenektir. Örneğin: 5678
maxPatchPublishDate Bu, belirtilen en fazla yayımlama tarihinde veya öncesinde yayımlanan düzeltme eklerini yüklemek için kullanılır.
linuxParameters Makine desteklenen Linux dağıtımı çalıştırırken Konuk işletim sistemi güncelleştirmesi için parametre seçenekleri
linuxParameters - classificationsToInclude Linux işletim sisteminin paket yöneticisi tarafından desteklenen ve kullanılan işletim sistemi güncelleştirmelerinin kategorilerinin veya sınıflandırmalarının listesi. Kabul edilebilir değerler şunlardır: Critical, Security, Others. Daha fazla bilgi için bkz . Linux paket yöneticisi ve işletim sistemi desteği.
linuxParameters - packageNameMasksToInclude Makinede kullanılabilen ve yüklenmesi gereken Linux paketlerinin listesi. Herhangi bir 'classificationsToInclude' eklediyseniz, kategoride mevcut olan paketler yüklenecektir. 'packageNameMasksToInclude', yüklemek istediğiniz paketlerin dışında ek olarak sağlayabileceğiniz bir seçenek sunar. Örneğin: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Makinede kullanılabilen ve yüklenmemesi gereken Linux paketlerinin listesi. Herhangi bir 'classificationsToInclude' eklediyseniz, kategoride mevcut olan paketler yüklenecektir. 'packageNameMasksToExclude', yüklenmediğinden emin olmak istediğiniz belirli paketlerin listesini sağlayan bir seçenektir. Örneğin: mysql, libc=1.0.1.1, kernel*

POST isteğini belirtmek için Azure CLI az rest komutunu kullanabilirsiniz.

az rest --method post --url https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/Test/providers/Microsoft.HybridCompute/machines/WIN-8/installPatches?api-version=2020-08-15-preview @body.json

Sürüm 2020-08-15 için istek gövdesinin biçimi aşağıdaki gibidir:

{
        "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`

İstek içeriği

Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:

Özellik Açıklama
id Kaynağın tam nitelikli tanımlayıcısı
location Kaynağın konumunu alır veya ayarlar
name Kaynağın adı
properties.extensionProperties bakım yapılandırmasının uzantı özelliklerini alır veya ayarlar
properties.maintenanceScope Yapılandırmanın bakımKapsamını alır veya ayarlar.
properties.maintenanceWindow.duration Bakım penceresinin HH:mm formatındaki 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 hh: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 tarihini gelecekteki bir tarihe ayarlamanız gerekir. Sağlanmadıysa, en fazla 9999-12-31 23:59:59 tarih saatine ayarlanır.
properties.maintenanceWindow.recurEvery Bakım penceresinin tekrarlanma sıklığı. 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çimlendirebilirsiniz. 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 programlar recurEvery: [Sıklık bir tam sayı olarak]['Hafta/lar'] [İsteğe bağlı olarak pazartesi-pazar arası virgülle ayrılmış hafta günleri listesi] şeklinde biçimlendirilir. 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çimlendirebilirsiniz. Aylık zamanlama örnekleri recurEvery: Ay, recurEvery: 2Ay, recurEvery: Ay gün23, gün24, recurEvery: Ay Son Pazar, recurEvery: Ay Dördüncü Pazartesi.
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, belirtilen saat diliminde oluşturulacak ve bu saat dilimine göre yaz saati uygulamasına göre ayarlanacaktır.
properties.maintenanceWindow.timeZone Saat diliminin adı. PowerShell'de [System.TimeZoneInfo]:GetSystemTimeZones() komutunu yürüterek saat dilimlerinin listesini alabilirsiniz. Ö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ü
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"

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`
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"

Makineyi programdan kaldır

Bir makineyi zamanlamadan kaldırmak için, makineyi Azure Kaynak Grafı aracılığıyla geçerli zamanlamayla ilişkilendirmek üzere oluşturduğunuz makinenin tüm yapılandırma atama adlarını aşağıda listelendiği şekilde alın:

az maintenance configuration delete \
   --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"

Sonraki adımlar