Megosztás a következőn keresztül:


Azure-beli virtuális gépek frissítéseinek programozott kezelése

Ez a cikk bemutatja, hogy az Azure REST API használatával egy felmérést és frissítéstelepítést indíthat el az Azure-beli virtuális gépen az Azure Update Managerrel az Azure-ban. Ha még nem ismerkedik az Update Managerrel, és szeretne többet megtudni, tekintse meg az Azure Update Manager áttekintését. Ha az Azure REST API-t szeretné használni az Arc-kompatibilis kiszolgálók kezeléséhez, olvassa el az Arc-kompatibilis kiszolgálók programozott módon történő használatát ismertető témakört.

Az Azure Update Manager programozott módon teszi lehetővé az Azure REST API használatát a hozzáféréshez. Emellett az Azure PowerShell és az Azure CLI megfelelő REST-parancsait is használhatja.

Az Azure REST API támogatása azure-beli virtuális gépek kezeléséhez az Update Manager virtuálisgép-bővítményen keresztül érhető el.

Frissítések felmérése

Ha frissítési értékelést szeretne indítani az Azure-beli virtuális gépen, adja meg a következő POST-kérést:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/assessPatches?api-version=2020-12-01`

A POST-kérés megadásához használhatja az Azure CLI az vm assess-patches parancsot.

az vm assess-patches -g MyResourceGroup -n MyVm

Központi telepítés frissítése

Ha frissítéstelepítést szeretne aktiválni az Azure-beli virtuális gépen, adja meg a következő POST-kérést:

POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.Compute/virtualMachines/virtualMachineName/installPatches?api-version=2020-12-01`

Kérés törzse

Az alábbi táblázat a kérelem törzsének elemeit ismerteti:

Tulajdonság Leírás
maximumDuration A művelet futtatásának maximális időtartama. Iso 8601 szabványnak megfelelő időtartam-sztringnek kell lennie, például PT4H (4 óra).
rebootSetting A jelölő jelzi, hogy a gépet újra kell-e indítani, és hogy a vendég operációs rendszer frissítésének telepítése megköveteli-e a befejezést. Elfogadható értékek: IfRequired, NeverReboot, AlwaysReboot.
windowsParameters A vendég operációs rendszer frissítésének paraméterbeállításai támogatott Microsoft Windows Server operációs rendszert futtató Azure-beli virtuális gépeken.
windowsParameters - classificationsToInclude A gépre telepíteni kívánt frissítések kiválasztásához használandó kategóriák/besorolások listája. Az elfogadható értékek a következők: Critical, Security, UpdateRollUp, FeaturePack, ServicePack, Definition, Tools, Updates
windowsParameters - kbNumbersToInclude A telepíteni kívánt Windows Update KB-azonosítók listája. A listában megadott classificationsToInclude besorolásokhoz tartozó összes frissítés telepítve lesz. kbNumbersToInclude a besorolásokon kívül telepíteni kívánt konkrét KB-k opcionális listája. Például: 1234
windowsParameters - kbNumbersToExclude Azon Windows Update KB-azonosítók listája, amelyeket nem szabad telepíteni. Ez a paraméter felülbírálja windowsParameters - classificationsToIncludea paramétert, ami azt jelenti, hogy az itt megadott Windows Update KB-azonosító akkor sem lesz telepítve, ha az a paraméterben classificationsToInclude megadott besoroláshoz tartozik.
maxPatchPublishDate Ez a megadott maximális közzétételi dátumon vagy azt megelőzően közzétett javítások telepítéséhez használható.
linuxParameters A vendég operációs rendszer frissítésének paraméterbeállításai támogatott Linux-kiszolgáló operációs rendszert futtató Azure-beli virtuális gépeken.
linuxParameters - classificationsToInclude A gépre telepíteni kívánt frissítések kiválasztásához használandó kategóriák/besorolások listája. Az elfogadható értékek a következők: Critical, Security, Other
linuxParameters - packageNameMasksToInclude A telepíteni kívánt Linux-csomagok listája. A listában megadott classificationsToInclude besorolásokhoz tartozó összes frissítés telepítve lesz. packageNameMasksToInclude a besorolásokon kívül telepíteni kívánt csomagnevek opcionális listája. Például: mysql, libc=1.0.1.1, kernel*
linuxParameters - packageNameMasksToExclude A nem telepíthető frissítések listája. Ez a paraméter felülbírálja linuxParameters - packageNameMasksToExcludea paramétert, ami azt jelenti, hogy az itt megadott csomag akkor sem lesz telepítve, ha az a paraméterben classificationsToInclude megadott besoroláshoz tartozik.

A POST-kérés megadásához az alábbi Azure REST API-hívást használhatja érvényes paraméterekkel és értékekkel.

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"
      ]
    }
  }'

Karbantartási konfiguráció ütemezésének létrehozása

Karbantartási konfigurációs ütemezés létrehozásához adja meg a következő PUT-kérést:

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

Kérés törzse

Az alábbi táblázat a kérelem törzsének elemeit ismerteti:

Tulajdonság Leírás
id Az erőforrás teljes azonosítója
location Az erőforrás helyének lekérdezése vagy beállítása
name Az erőforrás neve
properties.extensionProperties A maintenanceConfiguration bővítményének lekérdezése vagy beállítása
properties.maintenanceScope Lekéri vagy beállítja a karbantartást A konfiguráció hatóköre
properties.maintenanceWindow.duration A karbantartási időszak időtartama HH:MM formátumban. Ha nincs megadva, a rendszer a megadott karbantartási hatókör alapján használja az alapértelmezett értéket. Példa: 05:00.
properties.maintenanceWindow.expirationDateTime A karbantartási időszak érvényes lejárati dátuma YYYY-MM-DD hh:mm formátumban. Az ablak abban az időzónában jön létre, amelyet a nyári időszámítás az adott időzónának megfelelően biztosít. A lejárati dátumot későbbi dátumra kell állítani. Ha nincs megadva, akkor a maximális dátumidő 9999-12-31 23:59:59.
properties.maintenanceWindow.recurEvery A karbantartási időszak várható ismétlődési sebessége. A ráta kifejezhető napi, heti vagy havi ütemezésként. A napi ütemezések recurEvery formátumban vannak formázva: [Gyakoriság egész számként][Nap(ok)"). Ha nincs megadva gyakoriság, az alapértelmezett gyakoriság 1. A napi ütemezési példák a recurEvery: Day, recurEvery: 3Days. A heti ütemezések recurEvery formátumban vannak formázva: [Gyakoriság egész számként][Hét(ek)] [Nem kötelező vesszővel tagolt lista a hétköznapok hétfőtől vasárnapig]. A heti ütemezési példák a recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. A havi ütemezések [Gyakoriság egész számként][Hónap(ok)] [Havi napok vesszővel tagolt listája] vagy [Gyakoriság egész számként][Hónap(ok)] [Hónap(ok)] [Hónap hete (Első, Második, Harmadik, Negyedik, Utolsó)] [Hétköznap hétfő-vasárnap]. A havi ütemezési példák a recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.
properties.maintenanceWindow.startDateTime A karbantartási időszak érvényes kezdő dátuma YYYY-MM-DD hh:mm formátumban. Beállíthatja a kezdő dátumot az aktuális vagy a jövőbeli dátumra. Az ablak a megadott időzónában lesz létrehozva, és az adott időzóna szerint a nyári időszámításhoz lesz igazítva.
properties.maintenanceWindow.timeZone Az időzónap neve. Az időzónák listája a [System.TimeZoneInfo]:GetSystemTimeZones() PowerShellben történő végrehajtásával kérhető le. Példa: Csendes-óceáni téli idő, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Ausztráliai téli idő.
properties.namespace Lekéri vagy beállítja az erőforrás névterét
properties.visibility Lekéri vagy beállítja a konfiguráció láthatóságát. Az alapértelmezett érték az "Egyéni"
systemData A createdBy és a modifiedBy adatokat tartalmazó Azure Resource Manager-metaadatok.
tags Az erőforrás címkéinek lekérdezése vagy beállítása
type Az erőforrás típusa

A POST-kérés megadásához az alábbi Azure REST API-hívást használhatja érvényes paraméterekkel és értékekkel.

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"
        ]
      }
    }
  }
}'

Virtuális gép hozzárendelése ütemezéshez

Ha egy virtuális gépet karbantartási konfigurációs ütemezéshez szeretne társítani, adja meg a következő PUT-kérést:

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

A PUT-kérés megadásához az alábbi Azure REST API-hívást használhatja érvényes paraméterekkel és értékekkel.

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"
}'

Gép eltávolítása az ütemezésből

Ha el szeretne távolítani egy gépet az ütemezésből, kérje le annak a gépnek az összes konfiguráció-hozzárendelési nevét, amelyet azért hoztak létre, hogy a gépet az Azure Resource Graph aktuális ütemezéséhez társítsa az alábbiak szerint:

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

Miután lekérte a fenti nevet, törölje a konfigurációs hozzárendelést a DELETE kérés követésével –

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

Következő lépések