Jak programově spravovat aktualizace pro servery s podporou služby Azure Arc

Tento článek vás provede procesem použití rozhraní Azure REST API k aktivaci posouzení a nasazení aktualizací na serverech s podporou Azure Arc pomocí Azure Update Manageru v Azure. Pokud s Azure Update Managerem začínáte a chcete se dozvědět víc, podívejte se na přehled Update Manageru. Pokud chcete ke správě virtuálních počítačů Azure použít rozhraní Azure REST API, přečtěte si, jak programově pracovat s virtuálními počítači Azure.

Update Manager v Azure umožňuje programově používat rozhraní Azure REST API pro přístup. Kromě toho můžete použít příslušné příkazy REST z Azure PowerShellu a Azure CLI.

Podpora rozhraní Azure REST API pro správu serverů s podporou Služby Azure Arc je dostupná prostřednictvím rozšíření virtuálního počítače Update Manageru.

Posouzení aktualizací

Pokud chcete na serveru s podporou Azure Arc aktivovat posouzení aktualizací, zadejte následující požadavek POST:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview`
{
}

K zadání požadavku POST můžete použít příkaz Azure CLI az rest .

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

Formát textu požadavku pro verzi 2020-08-15 je následující:

{
}

Nasazení aktualizací

Pokud chcete aktivovat nasazení aktualizace na server s podporou Služby Azure Arc, zadejte následující požadavek POST:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`

Text požadavku

Následující tabulka popisuje prvky textu požadavku:

Vlastnost Popis
maximumDuration Maximální doba v minutách, po kterou může operace aktualizace operačního systému trvat. Musí se jednat o řetězec doby trvání vyhovující standardu ISO 8601, například PT100M.
rebootSetting Pokud chcete počítač restartovat, označte příznakem, a pokud instalace aktualizace hostovaného operačního systému vyžaduje dokončení. Přijatelné hodnoty jsou: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters Možnosti parametrů pro aktualizaci hostovaného operačního systému na počítači s podporovaným operačním systémem Microsoft Windows Server
windowsParameters - classificationsToInclude Seznamkategoriích Přijatelné hodnoty jsou: Critical, Security, UpdateRollUp, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Seznam ID služba Windows Update kB, které jsou k dispozici pro počítač a které potřebujete nainstalovat. Pokud jste zahrnuli nějaké klasifikaceToInclude, nainstalují se znalostní báze dostupné v kategorii. "kbNumbersToInclude" je možnost zadat seznam konkrétních ID znalostní báze a vyšší, které chcete nainstalovat. Příklad: 1234
windowsParameters - kbNumbersToExclude Seznam služba Windows Update ID znalostní báze, které jsou k dispozici pro počítač a které by se neměly instalovat. Pokud jste zahrnuli nějaké klasifikaceToInclude, nainstalují se znalostní báze dostupné v kategorii. "kbNumbersToExclude" je možnost zadat seznam konkrétních ID znalostní báze, které chcete zajistit, aby se nenainstaloval. Příklad: 5678
maxPatchPublishDate Používá se k instalaci oprav publikovaných dne nebo před tímto datem maximálního publikování.
linuxParameters Možnosti parametrů pro aktualizaci hostovaného operačního systému, když počítač používá podporovanou distribuci Linuxu
linuxParameters - classificationsToInclude Seznamkategoriích Přijatelné hodnoty jsou: Critical, Security, Others. Další informace najdete v tématu Správce balíčků Linuxu a podpora operačního systému.
linuxParameters - packageNameMasksToInclude Seznam linuxových balíčků, které jsou k dispozici pro počítač a je třeba je nainstalovat. Pokud jste zahrnuli nějaké klasifikaceToInclude, balíčky dostupné v kategorii se nainstalují. PackageNameMasksToInclude je možnost poskytnout seznam balíčků, které chcete nainstalovat. Příklad: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude Seznam linuxových balíčků, které jsou k dispozici pro počítač a neměly by být nainstalovány. Pokud jste zahrnuli nějaké klasifikaceToInclude, balíčky dostupné v kategorii se nainstalují. PackageNameMasksToExclude je možnost zadat seznam konkrétních balíčků, které chcete zajistit, aby se nenainstaloval. Příklad: mysql, libc=1.0.1.1, kernel*

K zadání požadavku POST můžete použít následující volání rozhraní Azure REST API s platnými parametry a hodnotami.

POST on 'subscriptions/subscriptionI/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview

{
        "maximumDuration": "PT120M",
        "rebootSetting": "IfRequired",
        "windowsParameters": {
          "classificationsToInclude": [
            "Security",
            "UpdateRollup",
            "FeaturePack",
            "ServicePack"
          ],
          "kbNumbersToInclude": [
            "11111111111",
            "22222222222222"
          ],
          "kbNumbersToExclude": [
            "333333333333",
            "55555555555"
          ]
        }
  }'

Vytvoření plánu konfigurace údržby

Pokud chcete vytvořit plán konfigurace údržby, zadejte následující požadavek PUT:

PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`

Text požadavku

Následující tabulka popisuje prvky textu požadavku:

Vlastnost Popis
id Plně kvalifikovaný identifikátor prostředku
location Získá nebo nastaví umístění prostředku.
name Název prostředku
properties.extensionProperties Získá nebo nastaví rozšířeníProperties údržbyConfiguration
properties.maintenanceScope Získá nebo nastaví maintenanceScope konfigurace.
properties.maintenanceWindow.duration Doba trvání časového období údržby ve formátu HH:mm. Pokud není zadaný, použije se výchozí hodnota na základě zadaného rozsahu údržby. Příklad: 05:00.
properties.maintenanceWindow.expirationDateTime Platné datum vypršení platnosti časového období údržby ve formátu RRRR-MM-DD hh:MM. Okno se vytvoří v časovém pásmu poskytnutém letnímu času podle daného časového pásma. Datum vypršení platnosti musíte nastavit na budoucí datum. Pokud není zadáno, nastaví se na maximální datum a čas 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery Míra, s jakou se očekává, že se bude opakovat časové období údržby. Sazba se dá vyjádřit jako denní, týdenní nebo měsíční plány. Denní plány můžete formátovat jako recurEvery: [Frequency as integer]['Day(s)]. Pokud není zadána žádná frekvence, výchozí frekvence je 1. Příklady denního plánu jsou recurEvery: Day, recurEvery: 3Days. Týdenní plán je formátovaný jako recurEvery: [Frequency as integer]['Week(s)' [Optional comma separated list of weekdays Monday-Sunday]. Příklady týdenního plánu jsou recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Měsíční plány můžete formátovat jako [Frequency as integer]['Month(s)'] [Čárka oddělený seznam dnů měsíce] nebo [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Příklady měsíčního plánu jsou recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.
properties.maintenanceWindow.startDateTime Platné datum zahájení časového období údržby ve formátu RRRR-MM-DD hh:mm. Počáteční datum můžete nastavit na aktuální datum nebo budoucí datum. Okno se vytvoří v poskytnutém časovém pásmu a upraví se na letní čas podle daného časového pásma.
properties.maintenanceWindow.timeZone Název časového pásma. Seznam časových pásem můžete získat spuštěním příkazu [System.TimeZoneInfo]:GetSystemTimeZones() v PowerShellu. Příklad: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Austrálie – standardní čas.
properties.namespace Získá nebo nastaví obor názvů prostředku.
properties.visibility Získá nebo nastaví viditelnost konfigurace. Výchozí hodnota je Custom.
systemData Metadata Azure Resource Manageru obsahující informace createdBy a modifiedBy
tags Získá nebo nastaví značky prostředku.
type Typ prostředku

K zadání požadavku POST můžete použít následující volání rozhraní Azure REST API s platnými parametry a hodnotami.

PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/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"
        ]
      }
    }
  }
}'

Přidružení virtuálního počítače k plánu

Pokud chcete virtuální počítač přidružit k plánu konfigurace údržby, zadejte následující požadavek PUT:

PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

K zadání požadavku PUT můžete použít následující volání rozhraní Azure REST API s platnými parametry a hodnotami.

PUT on '/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview

{
  "properties": {
    "maintenanceConfigurationId": "/subscriptions/0f55bb56-6089-4c7e-9306-41fb78fc5844/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
  },
  "location": "eastus2euap"
}'

Odebrání počítače z plánu

Pokud chcete počítač z plánu odebrat, získejte všechny názvy přiřazení konfigurace pro počítač, který jste vytvořili pro přidružení počítače k aktuálnímu plánu z Azure Resource Graphu, jak je uvedeno v seznamu:

maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id

Po získání výše uvedeného názvu odstraňte přiřazení konfigurace podle požadavku DELETE –

DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`

Další kroky

  • Pokud chcete zobrazit protokoly posouzení aktualizací a nasazení vygenerované nástrojem Update Manager, podívejte se na protokoly dotazů.
  • Pokud chcete řešit problémy, prohlédnou si správce aktualizací.