Řízení aktualizací pomocí konfigurací údržby a Azure PowerShellu
Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️ ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️
Pomocí funkce Konfigurace údržby můžete řídit, kdy použít aktualizace platformy na různé prostředky Azure. Tento článek popisuje možnosti Azure PowerShellu pro vyhrazené hostitele a izolované virtuální počítače. Další informace o výhodách používání funkce Konfigurace údržby, jejích omezení a dalších možností správy najdete v tématu Správa aktualizací platformy pomocí konfigurací údržby.
Pokud hledáte informace o použití konfigurace údržby pro škálovací sady, přečtěte si téma Řízení údržby pro škálovací sady virtuálních počítačů Azure.
Důležité
Konkrétní obory podporují určité typy a plány počítačů. Nezapomeňte vybrat správný obor pro váš virtuální počítač.
Povolení modulu Azure PowerShellu
Ujistěte se, že PowerShellGet
je aktuální:
Install-Module -Name PowerShellGet -Repository PSGallery -Force
Nainstalujte modul Azure PowerShellu Az.Maintenance
:
Install-Module -Name Az.Maintenance
Zkontrolujte, že používáte nejnovější verzi Az.Maintenance
(verze 1.2.0):
Get-Module -ListAvailable -Name Az.Maintenance
Ujistěte se, že používáte odpovídající verzi Az.Maintenance
:
Import-Module -Name Az.Maintenance -RequiredVersion 1.2.0
Pokud instalujete místně, nezapomeňte otevřít výzvu Azure PowerShellu jako správce.
Může se zobrazit výzva k potvrzení, že chcete nainstalovat z nedůvěryhodného úložiště. Pokud chcete modul nainstalovat, zadejte Y nebo vyberte Ano všem.
Vytvoření konfigurace údržby
Prvním krokem při vytváření konfigurace údržby je vytvoření skupiny prostředků jako kontejneru pro vaši konfiguraci. Tento příklad vytvoří skupinu prostředků myMaintenanceRG v eastus. Pokud už máte skupinu prostředků, kterou chcete použít, můžete tuto část přeskočit a ve zbývajících příkladech nahradit název skupiny prostředků vlastním názvem.
New-AzResourceGroup `
-Location eastus `
-Name myMaintenanceRG
Naplánované okno můžete deklarovat, když Azure opakovaně použije aktualizace vašich prostředků. Po vytvoření naplánovaného okna už nemusíte aktualizace instalovat ručně.
Opakování údržby můžete vyjádřit jako denní, týdenní nebo měsíční. Několik příkladů:
- Denně:
RecurEvery
Hodnota"Day"
nebo"3Days"
. - Týdně:
RecurEvery
Hodnota nebo"Week Saturday,Sunday"
."3Weeks"
- Měsíčně:
RecurEvery
Hodnota"Month day23,day24"
nebo"Month Last Sunday"
"Month Fourth Monday"
.
Hostitelský počítač
Tento příklad vytvoří konfiguraci údržby s názvem myConfig vymezenou na Host
, s naplánovaným oknem 5 hodin čtvrtou pondělí každého měsíce. Hodnota duration
plánu pro tento obor by měla být aspoň dvě hodiny. Začněte definováním parametrů pro 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"
Po definování parametrů můžete pomocí rutiny New-AzMaintenanceConfiguration
vytvořit konfiguraci:
New-AzMaintenanceConfiguration
-ResourceGroup $RGName `
-Name $configName `
-MaintenanceScope $scope `
-Location $location `
-StartDateTime $startDateTime `
-TimeZone $timeZone `
-Duration $duration `
-RecurEvery $recurEvery
Použití $scope = "Host"
zajišťuje, že se konfigurace údržby používá k řízení aktualizací na hostitelských počítačích. Nezapomeňte vytvořit konfiguraci pro konkrétní rozsah počítačů, na které cílíte. Přečtěte si další informace o oborech.
Image operačního systému
Tento příklad vytvoří konfiguraci údržby s názvem myConfig vymezenou na osimage
, s naplánovaným oknem 8 hodin každých 5 dnů. Hodnota duration
plánu pro tento obor by měla být nejméně 5 hodin. Tento obor umožňuje pro opakování plánu maximálně 7 dnů.
$RGName = "myMaintenanceRG"
$configName = "myConfig"
$scope = "osimage"
$location = "eastus"
$timeZone = "Pacific Standard Time"
$duration = "08:00"
$startDateTime = "2022-11-01 00:00"
$recurEvery = "5days"
Po definování parametrů můžete pomocí rutiny New-AzMaintenanceConfiguration
vytvořit konfiguraci:
New-AzMaintenanceConfiguration
-ResourceGroup $RGName `
-Name $configName `
-MaintenanceScope $scope `
-Location $location `
-StartDateTime $startDateTime `
-TimeZone $timeZone `
-Duration $duration `
-RecurEvery $recurEvery
Host
Posledním doplňkem funkce Konfigurace údržby je InGuestPatch
obor. Tento příklad ukazuje, jak vytvořit konfiguraci údržby pro obor hosta pomocí Azure PowerShellu. Další informace o tomto oboru najdete v tématu Host.
$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";
Po definování parametrů můžete pomocí rutiny New-AzMaintenanceConfiguration
vytvořit konfiguraci:
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"}
Pokud se pokusíte vytvořit konfiguraci se stejným názvem, ale v jiném umístění, zobrazí se chyba. Názvy konfigurací musí být jedinečné pro vaši skupinu prostředků.
Pomocí rutiny Get-AzMaintenanceConfiguration můžete zkontrolovat, jestli jste úspěšně vytvořili konfigurace údržby:
Get-AzMaintenanceConfiguration | Format-Table -Property Name,Id
Přiřazení konfigurace
Po vytvoření konfigurace můžete chtít počítače také přiřadit pomocí Azure PowerShellu. Můžete použít rutinu New-AzConfigurationAssignment .
Izolovaný virtuální počítač
Přiřaďte konfiguraci k virtuálnímu počítači pomocí ID konfigurace. Zadejte -ResourceType VirtualMachines
. Zadejte název virtuálního počítače pro -ResourceName
a zadejte skupinu prostředků virtuálního počítače pro -ResourceGroupName
.
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Vyhrazený hostitel
Pokud chcete použít konfiguraci pro vyhrazeného hostitele, musíte zahrnout -ResourceType hosts
, -ResourceParentName
s názvem skupiny hostitelů a -ResourceParentType hostGroups
:
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName myHostGroup `
-ResourceParentType hostGroups `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Škálovací sady virtuálních počítačů
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Host
New-AzConfigurationAssignment `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myGuest" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" `
-ConfigurationAssignmentName "configName" `
-MaintenanceConfigurationId "configID"
Kontrola čekajících aktualizací
Kontrola čekajících aktualizací použijte Get-AzMaintenanceUpdate. Slouží -subscription
k určení předplatného Azure virtuálního počítače, pokud se liší od předplatného, ke kterému jste přihlášení.
Pokud se nezobrazí žádné aktualizace, tento příkaz nevrátí nic. V opačném případě vrátí PSApplyUpdate
objekt:
{
"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"
}
Izolovaný virtuální počítač
Zkontrolujte čekající aktualizace pro izolovaný virtuální počítač. V tomto příkladu je výstup formátován jako tabulka pro čitelnost:
Get-AzMaintenanceUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" | Format-Table
Vyhrazený hostitel
Zkontrolujte čekající aktualizace pro vyhrazeného hostitele. V tomto příkladu je výstup formátován jako tabulka pro čitelnost:
Get-AzMaintenanceUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName "myHostGroup" `
-ResourceParentType "hostGroups" `
-ProviderName "Microsoft.Compute" | Format-Table
Škálovací sady virtuálních počítačů
Get-AzMaintenanceUpdate `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute" | Format-Table
Instalace aktualizací
K instalaci čekajících aktualizací použijte New-AzApplyUpdate . Dokončení volání aktualizací může trvat až 2 hodiny.
Tato rutina funguje jenom pro obory imagí hostitele a operačního systému. Nefunguje pro obor hosta.
Izolovaný virtuální počítač
Vytvořte žádost o použití aktualizací na izolovaný virtuální počítač:
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute"
Při úspěchu vrátí tento příkaz PSApplyUpdate
objekt. Pomocí atributu Name
Get-AzApplyUpdate
v příkazu můžete zkontrolovat stav aktualizace, jak je popsáno dále v tomto článku.
Vyhrazený hostitel
Aktualizace použijte u vyhrazeného hostitele:
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName "myHostGroup" `
-ResourceParentType "hostGroups" `
-ProviderName Microsoft.Compute
Škálovací sady virtuálních počítačů
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute"
Kontrola stavu aktualizace
Pokud chcete zkontrolovat stav aktualizace, použijte Rutinu Get-AzApplyUpdate. Následující příkazy zobrazují stav nejnovější aktualizace pomocí default
parametru -ApplyUpdateName
. Název aktualizace (vrácený příkazem New-AzApplyUpdate ) můžete nahradit, abyste získali stav konkrétní aktualizace.
Tato rutina funguje jenom pro obory imagí hostitele a operačního systému. Nefunguje pro obor hosta.
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
je čas dokončení aktualizace, ať už jste zahájili aktualizaci nebo platformu, protože jste nepoužíli časové období samoobslužné údržby. Pokud se aktualizace nikdy nepoužila prostřednictvím konfigurace údržby, LastUpdateTime
zobrazí se výchozí hodnota.
Izolovaný virtuální počítač
Zkontrolujte aktualizace konkrétního virtuálního počítače:
Get-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myVM" `
-ResourceType "VirtualMachines" `
-ProviderName "Microsoft.Compute" `
-ApplyUpdateName "applyUpdateName"
Vyhrazený hostitel
Zkontrolujte aktualizace vyhrazeného hostitele:
Get-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-ResourceName "myHost" `
-ResourceType "hosts" `
-ResourceParentName "myHostGroup" `
-ResourceParentType "hostGroups" `
-ProviderName "Microsoft.Compute" `
-ApplyUpdateName "applyUpdateName"
Škálovací sady virtuálních počítačů
New-AzApplyUpdate `
-ResourceGroupName "myResourceGroup" `
-Location "eastus" `
-ResourceName "myVMSS" `
-ResourceType "VirtualMachineScaleSets" `
-ProviderName "Microsoft.Compute" `
-ApplyUpdateName "applyUpdateName"
Odstranění konfigurace údržby
Pokud chcete odstranit konfiguraci údržby, použijte Remove-AzMaintenanceConfiguration:
Remove-AzMaintenanceConfiguration `
-ResourceGroupName "myResourceGroup" `
-Name "configName"
Další kroky
Další informace najdete v tématu Údržba virtuálních počítačů v Azure.