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 - classificationsToInclude a 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 - packageNameMasksToExclude a 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/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"
]
}
}
}
}'
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/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"
}'
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
- Az Update Manager által létrehozott frissítésértékelési és üzembehelyezési naplók megtekintéséhez tekintse meg a lekérdezési naplókat.
- A problémák elhárításához tekintse meg az Update Manager hibaelhárítását .