Frissítések szabályozása karbantartási konfigurációkkal és Azure PowerShell-lel

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows rendszerű virtuális gépek Rugalmas méretezési ✔️ csoportok ✔️ Egységes méretezési csoportok

A Karbantartási konfigurációk funkcióval szabályozhatja, hogy mikor kell platformfrissítéseket alkalmazni a különböző Azure-erőforrásokra. Ez a cikk a dedikált gazdagépek és izolált virtuális gépek (VM-ek) Azure PowerShell-beállításait ismerteti. A Karbantartási konfigurációk funkció használatának előnyeiről, korlátairól és egyéb kezelési lehetőségeiről további információt a platformfrissítések kezelése karbantartási konfigurációkkal című témakörben talál.

Ha a méretezési csoportok karbantartási konfigurációinak használatáról szeretne információt keresni, tekintse meg az Azure virtuálisgép-méretezési csoportok karbantartási vezérlőit.

Fontos

Bizonyos hatókörök támogatnak bizonyos géptípusokat és ütemezéseket. Ügyeljen arra, hogy a virtuális gép megfelelő hatókörét válassza ki.

Az Azure PowerShell-modul engedélyezése

Győződjön meg arról, hogy PowerShellGet naprakész:

Install-Module -Name PowerShellGet -Repository PSGallery -Force

Telepítse az Az.Maintenance Azure PowerShell-modult:

Install-Module -Name Az.Maintenance

Ellenőrizze, hogy a legújabb (1.2.0-s) verziót Az.Maintenance futtatja-e:

Get-Module -ListAvailable -Name Az.Maintenance

Győződjön meg arról, hogy a következő megfelelő verzióját futtatja Az.Maintenance:

Import-Module -Name Az.Maintenance -RequiredVersion 1.2.0

Ha helyi telepítést használ, mindenképpen rendszergazdaként nyissa meg az Azure PowerShell-parancssort.

Előfordulhat, hogy a rendszer megkéri, hogy erősítse meg, hogy nem megbízható adattárból szeretné telepíteni a telepítést. Írja be az Y értéket, vagy válassza az Igen mindenkinek lehetőséget a modul telepítéséhez.

Karbantartási konfiguráció létrehozása

A karbantartási konfiguráció létrehozásának első lépése egy erőforráscsoport létrehozása tárolóként a konfigurációhoz. Ez a példa létrehoz egy myMaintenanceRG nevű erőforráscsoportot az eastusban. Ha már van egy használni kívánt erőforráscsoportja, kihagyhatja ezt a részt, és lecserélheti az erőforráscsoport nevét a saját nevére a többi példában.

New-AzResourceGroup `
   -Location eastus `
   -Name myMaintenanceRG

Deklarálhat egy ütemezett időszakot, amikor az Azure ismétlődően alkalmazza a frissítéseket az erőforrásokon. Az ütemezett ablak létrehozása után már nem kell manuálisan alkalmaznia a frissítéseket.

A karbantartás ismétlődését napi, heti vagy havi szinten is kifejezheti. Íme néhány példa:

  • Naponta: Az RecurEvery érték vagy "3Days"a "Day" .
  • Heti: A RecurEvery (vagy"Week Saturday,Sunday") érték."3Weeks"
  • Havonta: Egy RecurEvery vagy "Month Last Sunday""Month Fourth Monday"több érték"Month day23,day24".

Gazdagép

Ez a példa létrehoz egy myConfig hatókörrel Hostrendelkező karbantartási konfigurációt, amely minden hónap negyedik hétfőjén 5 órás ütemezett időszakkal rendelkezik. A duration hatókör ütemezésének értéke legalább két óra lehet. Először adja meg a következő paramétereket New-AzMaintenanceConfiguration:

$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "Host"
$location = "eastus"
$timeZone = "Pacific Standard Time" 
$duration = "05:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "Month Fourth Monday"

A paraméterek definiálása után a New-AzMaintenanceConfiguration parancsmaggal létrehozhatja a konfigurációt:

New-AzMaintenanceConfiguration
   -ResourceGroup $RGName `
   -Name $configName `
   -MaintenanceScope $scope `
   -Location $location `
   -StartDateTime $startDateTime `
   -TimeZone $timeZone `
   -Duration $duration `
   -RecurEvery $recurEvery

A használat $scope = "Host" biztosítja, hogy a karbantartási konfiguráció a gazdagépek frissítéseinek vezérléséhez legyen használva. Mindenképpen hozzon létre egy konfigurációt a megcélzott gépek adott hatóköréhez. További információ a hatókörökről.

Operációs rendszer képe

Ez a példa létrehoz egy myConfig hatókörrel osimagerendelkező karbantartási konfigurációt, amelynek ütemezett időszaka 5 naponta 8 óra. A duration hatókör ütemezésének értéke legalább 5 óra lehet. Ez a hatókör legfeljebb 7 napot tesz lehetővé az ütemezés ismétlődéséhez.

$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "osimage"
$location = "eastus"
$timeZone = "Pacific Standard Time" 
$duration = "08:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "5days"

A paraméterek definiálása után a New-AzMaintenanceConfiguration parancsmaggal létrehozhatja a konfigurációt:

New-AzMaintenanceConfiguration
   -ResourceGroup $RGName `
   -Name $configName `
   -MaintenanceScope $scope `
   -Location $location `
   -StartDateTime $startDateTime `
   -TimeZone $timeZone `
   -Duration $duration `
   -RecurEvery $recurEvery

Vendég

A Karbantartási konfigurációk funkció legújabb kiegészítése a InGuestPatch hatókör. Ez a példa bemutatja, hogyan hozhat létre karbantartási konfigurációt egy vendéghatókörhöz az Azure PowerShell használatával. A hatókörrel kapcsolatos további információkért lásd: Vendég.

$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "InGuestPatch"
$location = "eastus"
$timeZone = "Pacific Standard Time" 
$duration = "04:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "Week Saturday, Sunday"
$WindowsParameterClassificationToInclude = "FeaturePack","ServicePack";
$WindowParameterKbNumberToInclude = "KB123456","KB123466";
$WindowParameterKbNumberToExclude = "KB123456","KB123466";
$RebootOption = "IfRequired";
$LinuxParameterClassificationToInclude = "Other";
$LinuxParameterPackageNameMaskToInclude = "apt","httpd";
$LinuxParameterPackageNameMaskToExclude = "ppt","userpk";

A paraméterek definiálása után a New-AzMaintenanceConfiguration parancsmaggal létrehozhatja a konfigurációt:

New-AzMaintenanceConfiguration
   -ResourceGroup $RGName `
   -Name $configName `
   -MaintenanceScope $scope `
   -Location $location `
   -StartDateTime $startDateTime `
   -TimeZone $timeZone `
   -Duration $duration `
   -RecurEvery $recurEvery `
   -WindowParameterClassificationToInclude $WindowsParameterClassificationToInclude `
   -WindowParameterKbNumberToInclude $WindowParameterKbNumberToInclude `
   -WindowParameterKbNumberToExclude $WindowParameterKbNumberToExclude `
   -InstallPatchRebootSetting $RebootOption `
   -LinuxParameterPackageNameMaskToInclude $LinuxParameterPackageNameMaskToInclude `
   -LinuxParameterClassificationToInclude $LinuxParameterClassificationToInclude `
   -LinuxParameterPackageNameMaskToExclude $LinuxParameterPackageNameMaskToExclude `
   -ExtensionProperty @{"InGuestPatchMode"="User"}

Ha ugyanazzal a névvel, de egy másik helyen próbál létrehozni egy konfigurációt, hibaüzenet jelenik meg. A konfigurációneveknek egyedinek kell lenniük az erőforráscsoportban.

A Get-AzMaintenanceConfiguration használatával ellenőrizheti, hogy sikeresen létrehozta-e a karbantartási konfigurációkat:

Get-AzMaintenanceConfiguration | Format-Table -Property Name,Id

A konfiguráció hozzárendelése

A konfiguráció létrehozása után érdemes lehet gépeket is hozzárendelni hozzá az Azure PowerShell használatával. Használhatja a New-AzConfigurationAssignment parancsmagot.

Izolált virtuális gép

Rendelje hozzá a konfigurációt egy virtuális géphez a konfiguráció azonosítójával. Adja meg a következőt: -ResourceType VirtualMachines. Adja meg a virtuális -ResourceNamegép nevét, és adja meg a virtuális gép -ResourceGroupNameerőforráscsoportját.

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVM" `
   -ResourceType "VirtualMachines" `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Dedikált gazdagép

Ha egy konfigurációt egy dedikált gazdagépre szeretne alkalmazni, a gazdagépcsoport -ResourceParentType hostGroupsnevével együtt a következőket kell tartalmaznia:-ResourceType hosts-ResourceParentName

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName myHostGroup `
   -ResourceParentType hostGroups `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Virtuálisgép-méretezési csoportok

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Vendég

New-AzConfigurationAssignment `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myGuest" `
   -ResourceType "VirtualMachines" `
   -ProviderName "Microsoft.Compute" `
   -ConfigurationAssignmentName "configName" `
   -MaintenanceConfigurationId "configID"

Függőben lévő frissítések keresése

A függőben lévő frissítések ellenőrzéséhez használja a Get-AzMaintenanceUpdate parancsot. A virtuális gép Azure-előfizetésének megadására használható -subscription , ha az eltér attól, amelyikbe bejelentkezett.

Ha nincsenek megjelenítendő frissítések, a parancs semmit sem ad vissza. Ellenkező esetben egy objektumot PSApplyUpdate ad vissza:

{
   "maintenanceScope": "Host",
   "impactType": "Freeze",
   "status": "Pending",
   "impactDurationInSec": 9,
   "notBefore": "2020-02-21T16:47:44.8728029Z",
   "properties": {
      "resourceId": "/subscriptions/39c6cced-4d6c-4dd5-af86-57499cd3f846/resourcegroups/Ignite2019/providers/Microsoft.Compute/virtualMachines/MCDemo3"
} 

Izolált virtuális gép

Ellenőrizze, hogy van-e függőben lévő frissítés egy izolált virtuális géphez. Ebben a példában a kimenet táblázatként van formázva az olvashatóság érdekében:

Get-AzMaintenanceUpdate `
  -ResourceGroupName "myResourceGroup" `
  -ResourceName "myVM" `
  -ResourceType "VirtualMachines" `
  -ProviderName "Microsoft.Compute" | Format-Table

Dedikált gazdagép

Dedikált gazdagép függőben lévő frissítéseinek keresése. Ebben a példában a kimenet táblázatként van formázva az olvashatóság érdekében:

Get-AzMaintenanceUpdate `
   -ResourceGroupName "myResourceGroup" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName "myHostGroup" `
   -ResourceParentType "hostGroups" `
   -ProviderName "Microsoft.Compute" | Format-Table

Virtuálisgép-méretezési csoportok

Get-AzMaintenanceUpdate `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute" | Format-Table

Frissítések alkalmazása

Függőben lévő frissítések alkalmazásához használja a New-AzApplyUpdate parancsot. A frissítési hívások alkalmazása akár 2 órát is igénybe vehet.

Ez a parancsmag csak a gazdagép és az operációs rendszer rendszerképeinek hatóköreihez használható. Ez nem működik a vendég hatókörében.

Izolált virtuális gép

Hozzon létre egy kérést, amely frissítéseket alkalmaz egy izolált virtuális gépre:

New-AzApplyUpdate `
  -ResourceGroupName "myResourceGroup" `
  -ResourceName "myVM" `
  -ResourceType "VirtualMachines" `
  -ProviderName "Microsoft.Compute"

Siker esetén ez a parancs egy objektumot PSApplyUpdate ad vissza. A parancsban található attribútummal Name ellenőrizheti a frissítés állapotát a cikk későbbi részében leírtak szerint.Get-AzApplyUpdate

Dedikált gazdagép

Frissítések alkalmazása dedikált gazdagépre:

New-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName "myHostGroup" `
   -ResourceParentType "hostGroups" `
   -ProviderName Microsoft.Compute

Virtuálisgép-méretezési csoportok

New-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute"

Frissítés állapotának ellenőrzése

A frissítés állapotának ellenőrzéséhez használja a Get-AzApplyUpdate parancsot. Az alábbi parancsok a legújabb frissítés állapotát mutatják a -ApplyUpdateName paraméter használatávaldefault. Egy adott frissítés állapotának lekéréséhez helyettesítheti a frissítés nevét (amelyet a New-AzApplyUpdate parancs ad vissza).

Ez a parancsmag csak a gazdagép és az operációs rendszer rendszerképeinek hatóköreihez használható. Ez nem működik a vendég hatókörében.

Status         : Completed
ResourceId     : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id             : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name           : default
Type           : Microsoft.Maintenance/applyUpdates

LastUpdateTime Az az idő, amikor a frissítés befejeződött, függetlenül attól, hogy ön kezdeményezte-e a frissítést, vagy a platform azért indította el, mert nem használta az önkarbantartási ablakot. Ha egy frissítés soha nem lett alkalmazva a karbantartási konfigurációkon keresztül, LastUpdateTime az alapértelmezett érték jelenik meg.

Izolált virtuális gép

Adott virtuális gép frissítéseinek keresése:

Get-AzApplyUpdate `
  -ResourceGroupName "myResourceGroup" `
  -ResourceName "myVM" `
  -ResourceType "VirtualMachines" `
  -ProviderName "Microsoft.Compute" `
  -ApplyUpdateName "applyUpdateName"

Dedikált gazdagép

Egy dedikált gazdagép frissítéseinek keresése:

Get-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -ResourceName "myHost" `
   -ResourceType "hosts" `
   -ResourceParentName "myHostGroup" `
   -ResourceParentType "hostGroups" `
   -ProviderName "Microsoft.Compute" `
   -ApplyUpdateName "applyUpdateName"

Virtuálisgép-méretezési csoportok

New-AzApplyUpdate `
   -ResourceGroupName "myResourceGroup" `
   -Location "eastus" `
   -ResourceName "myVMSS" `
   -ResourceType "VirtualMachineScaleSets" `
   -ProviderName "Microsoft.Compute" `
   -ApplyUpdateName "applyUpdateName"

Karbantartási konfiguráció törlése

Karbantartási konfiguráció törléséhez használja a Remove-AzMaintenanceConfiguration parancsot:

Remove-AzMaintenanceConfiguration `
   -ResourceGroupName "myResourceGroup" `
   -Name "configName"

Következő lépések

További információ: Azure-beli virtuális gépek karbantartása.