Sdílet prostřednictvím


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:

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

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:

Nemovitost / Majetek 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 je třeba počítač restartovat, nastavte příznak, který určuje, zda má Azure Update Manager (AUM) v rámci aktualizační úlohy počítač restartovat. 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 Seznam kategorií nebo klasifikací aktualizací operačního systému, které je možné aplikovat, jak podporuje a poskytuje Windows Server OS. Přijatelné hodnoty jsou: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update
windowsParameters - kbNumbersToInclude Seznam ID aktualizace Windows KB, které jsou k dispozici pro stroj a které potřebujete nainstalovat. Pokud jste zahrnuli nějaké „classificationsToInclude“, nainstalují se znalostní databáze dostupné v dané kategorii. "kbNumbersToInclude" je možnost zadat seznam konkrétních ID znalostní báze, které chcete nainstalovat navíc k těm obecným. Příklad: 1234
windowsParameters - kbNumbersToExclude Seznam ID kb služby Windows Update, které jsou k dispozici pro počítač a které by neměly být nainstalovány. Pokud jste zahrnuli nějaké „classificationsToInclude“, nainstalují se znalostní báze dostupné v kategorii. "kbNumbersToExclude" je možnost zadat seznam konkrétních ID KB, které chcete zajistit, aby se nenainstalovala. Příklad: 5678
maxPatchPublishDate Používá se k instalaci oprav publikovaných ke dni nebo před uvedeným maximálním datem publikace.
linuxParameters Možnosti parametrů pro aktualizaci hostovaného operačního systému, když počítač používá podporovanou distribuci Linuxu
linuxParameters - classificationsToInclude Seznam kategorií nebo klasifikací aktualizací OS, které se mají použít, jak je podporováno a poskytováno správcem balíčků Linuxového OS. 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', nainstalují se balíčky dostupné v dané kategorii. 'packageNameMasksToInclude' je nastavení, které umožňuje zadat seznam balíčků, které si přejete nainstalovat navíc k těm stávajícím. 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', nainstalují se balíčky dostupné v dané kategorii. 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 příkaz Azure CLI az rest .

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

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

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

Nemovitost / Majetek Popis
id Plně kvalifikovaný identifikátor zdroje
location Získá nebo nastaví umístění prostředku.
name Název prostředku
properties.extensionProperties Získá nebo nastaví vlastnost rozšíření v konfiguraci údržby.
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ří podle časového pásma a přihlédnutím k letnímu času v daném časovém pásmu. 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 může být vyjádřena jako denní, týdenní nebo měsíční rozvrhy. Denní plány můžete formátovat jako recurEvery: [Frequency jako celé číslo]['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ány jsou formátované jako recurEvery: [Frekvence jako celé číslo]['Týden/nů'] [Volitelný seznam dnů týdne oddělených čárkami pondělí-neděle]. Příklady týdenního plánu jsou recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Měsíční plány můžete formátovat jako [Frekvence jako celé číslo]['Měsíc(e)'] [Čárkou oddělený seznam dnů v měsíci] nebo [Frekvence jako celé číslo]['Měsíc(e)'] [Týden v měsíci (První, Druhý, Třetí, Čtvrtý, Poslední)] [Den v týdnu Pondělí-Neděle]. Příklady měsíčního plánu jsou opakování každý: měsíc, opakování každý: 2 měsíce, opakování každý: měsíc den 23, den 24, opakování každý: měsíc poslední neděli, opakování každý: měsíc čtvrtý pondělí.
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 služby Azure Resource Manager obsahující informace o tom, kdo jej vytvořil a upravil.
tags Získá nebo nastaví tagy prostředku.
type Typ prostředku
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"

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

Odebrat stroj 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:

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"

Další kroky