Sdílet prostřednictvím


Řízení aktualizací pomocí konfigurací údržby a Azure CLI

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 CLI pro použití této funkce. Další informace o výhodách používání konfigurací údržby, jejích omezení a dalších možností správy najdete v tématu Správa aktualizací platformy pomocí konfigurací údržby.

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č.

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.

az group create \
   --location eastus \
   --name myMaintenanceRG

Po vytvoření skupiny prostředků použijte az maintenance configuration create k vytvoření konfigurace údržby.

Hostitelský počítač

Tento příklad vytvoří konfiguraci údržby s názvem myConfig vymezenou na hostitelské počítače s naplánovaným oknem 5 hodin v čtvrtém pondělí každého měsíce:

az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope host \
   --location eastus \
   --maintenance-window-duration "05:00" \
   --maintenance-window-recur-every "Month Fourth Monday" \
   --maintenance-window-start-date-time "2020-12-30 08:00" \
   --maintenance-window-time-zone "Pacific Standard Time" 

Použití --maintenance-scope host zajišťuje, že se konfigurace údržby používá k řízení aktualizací hostitelské infrastruktury. 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ů.

Pokud chcete zkontrolovat, jestli jste konfiguraci údržby úspěšně vytvořili, můžete pomocí následujícího příkazu zadat dotaz na dostupné konfigurace údržby az maintenance configuration list:

az maintenance configuration list 
   --query "[].{Name:name, ID:id}" 
   --output table 

Opakování údržby můžete vyjádřit jako denní, týdenní nebo měsíční. Několik příkladů:

  • Denně: maintenance-window-recur-every Hodnota "Day" nebo "3Days".
  • Týdně: maintenance-window-recur-every Hodnota nebo "Week Saturday,Sunday"."3Weeks"
  • Měsíčně: maintenance-window-recur-every Hodnota "Month day23,day24" nebo "Month Last Sunday" Month Fourth Monday.

Škálovací sady virtuálních počítačů

Tento příklad vytvoří konfiguraci údržby s názvem myConfig s oborem image operačního systému pro škálovací sady virtuálních počítačů s naplánovaným oknem 5 hodin v čtvrtém pondělí každého měsíce:

az maintenance configuration create \
   --resource-group myMaintenanceRG \
   --resource-name myConfig \
   --maintenance-scope osimage \
   --location eastus \
   --maintenance-window-duration "05:00" \
   --maintenance-window-recur-every "Month Fourth Monday" \
   --maintenance-window-start-date-time "2020-12-30 08:00" \
   --maintenance-window-time-zone "Pacific Standard Time" 

Hostovaný virtuální počítač

Tento příklad vytvoří konfiguraci údržby s názvem myConfig vymezenou na hostované počítače (virtuální počítače a servery s podporou Azure Arc) s naplánovaným oknem 2 hodiny každých 20 dnů. Přečtěte si další informace o konfiguracích údržby na hostujících virtuálních počítačích.

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řiřazení konfigurace

Slouží az maintenance assignment create k přiřazení konfigurace k počítači.

Izolovaný virtuální počítač

Použijte konfiguraci na izolovaný hostitelský virtuální počítač pomocí ID konfigurace. Zadejte --resource-type virtualMachines. Zadejte název virtuálního počítače pro --resource-nameskupinu prostředků --resource-groupvirtuálního počítače a umístění virtuálního počítače pro --location.

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"

Vyhrazený hostitel

Pokud chcete použít konfiguraci pro vyhrazeného hostitele, musíte zahrnout --resource-type hosts, --resource-parent-name s názvem skupiny hostitelů a --resource-parent-type hostGroups.

--resource-id Parametr je ID hostitele. K získání ID vyhrazeného hostitele můžete použít az-vm-host-get-instance-view .

az maintenance assignment create \
   --resource-group myDHResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
   --location eastus \
   --resource-parent-name myHostGroup \
   --resource-parent-type hostGroups 

Škálovací sady virtuálních počítačů

az maintenance assignment create \
   --resource-group myMaintenanceRG \
   --location eastus \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute \
   --configuration-assignment-name myConfig \
   --maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"

Hostovaný virtuální počítač

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"

Kontrola konfigurace

Pomocí příkazu az maintenance assignment list

Izolovaný virtuální počítač

az maintenance assignment list \
   --provider-name Microsoft.Compute \
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Vyhrazený hostitel

az maintenance assignment list \
   --resource-group myDHResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parent-name myHostGroup \
   --resource-parent-type hostGroups \
   --query "[].{ResourceGroup:resourceGroup,configName:name}" \
   --output table

Škálovací sady virtuálních počítačů

az maintenance assignment list \
   --provider-name Microsoft.Compute \
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachines \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Hostovaný virtuální počítač

az maintenance assignment list \
   --provider-name Microsoft.Compute \
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Kontrola čekajících aktualizací

Umožňuje az maintenance update list zjistit, jestli nejsou čekající aktualizace. Aktualizujte --subscription id předplatného, které obsahuje virtuální počítač.

Pokud nejsou k dispozici žádné aktualizace, příkaz vrátí chybovou zprávu obsahující text Resource not found...StatusCode: 404.

Pokud existují aktualizace, příkaz vrátí pouze jeden, i když čeká na vyřízení více aktualizací. Data pro tuto aktualizaci se vrátí v objektu:

[
  {
    "impactDurationInSec": 9,
    "impactType": "Freeze",
    "maintenanceScope": "Host",
    "notBefore": "2020-03-03T07:23:04.905538+00:00",
    "resourceId": "/subscriptions/9120c5ff-e78e-4bd0-b29f-75c19cadd078/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
    "status": "Pending"
  }
]

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:

az maintenance update list \
   --subscription {subscription ID} \
   --resource-group myMaintenanceRg \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --output 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. Nahraďte hodnoty prostředků vlastními.

az maintenance update list \
   --subscription {subscription ID} \
   --resource-group myHostResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parentname myHostGroup \
   --resource-parent-type hostGroups \
   --output table

Instalace aktualizací

Slouží az maintenance apply update k instalaci čekajících aktualizací. V případě úspěchu vrátí tento příkaz JSON, který obsahuje podrobnosti o aktualizaci. Dokončení volání k instalaci aktualizací může trvat až 2 hodiny.

Izolovaný virtuální počítač

Vytvořte žádost o použití aktualizací na izolovaný virtuální počítač:

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute

Vyhrazený hostitel

Aktualizace použijte u vyhrazeného hostitele:

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myHostResourceGroup \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parent-name myHostGroup \
   --resource-parent-type hostGroups

Škálovací sady virtuálních počítačů

Použití aktualizací pro škálovací sadu:

az maintenance applyupdate create \
   --subscription {subscriptionID} \
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute

Kontrola stavu instalace aktualizací

Průběh aktualizací můžete zkontrolovat pomocí funkce az maintenance applyupdate get.

Pokud chcete zobrazit výsledky poslední aktualizace, použijte default jako název aktualizace. Nebo nahraďte myUpdateName názvem aktualizace, která byla vrácena při spuštění az maintenance applyupdate create.

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č

az maintenance applyupdate get \
   --subscription {subscriptionID} \ 
   --resource-group myMaintenanceRG \
   --resource-name myVM \
   --resource-type virtualMachines \
   --provider-name Microsoft.Compute \
   --apply-update-name myUpdateName \
   --query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
   --output table

Vyhrazený hostitel

az maintenance applyupdate get \
   --subscription {subscriptionID} \ 
   --resource-group myMaintenanceRG \
   --resource-name myHost \
   --resource-type hosts \
   --provider-name Microsoft.Compute \
   --resource-parent-name myHostGroup \ 
   --resource-parent-type hostGroups \
   --apply-update-name myUpdateName \
   --query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
   --output table

Škálovací sady virtuálních počítačů

az maintenance applyupdate get \
   --subscription {subscriptionID} \ 
   --resource-group myMaintenanceRG \
   --resource-name myVMSS \
   --resource-type virtualMachineScaleSets \
   --provider-name Microsoft.Compute \
   --apply-update-name myUpdateName \
   --query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
   --output table

Odstranění konfigurace údržby

Pokud chcete odstranit konfiguraci údržby, použijte az maintenance configuration delete. Odstraněním konfigurace odeberete ovládací prvek údržby z přidružených prostředků.

az maintenance configuration delete \
   --subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
   -resource-group myResourceGroup \
   --resource-name myConfig

Další kroky

Další informace najdete v tématu Údržba virtuálních počítačů v Azure.