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

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Virtuální počítače s Windows ✔️ Flexibilní škálovací sady ✔️ Jednotné škálovací sady

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.

Hostitel

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í. Tady je několik příkladů:

  • Denně: maintenance-window-recur-every hodnota "Day" nebo "3Days".
  • Týdně: maintenance-window-recur-every hodnota "3Weeks" nebo "Week Saturday,Sunday".
  • Měsíčně: maintenance-window-recur-every hodnota "Month day23,day24" nebo "Month Last Sunday" nebo 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če

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řaďte konfiguraci

Použijte az maintenance assignment create k přiřazení konfigurace k vašemu 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če

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 můžete ověřit, jestli byla konfigurace použita správně, nebo zkontrolovat, jaká konfigurace se právě používá.

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 "virtualMachineScaleSets" \
   --query "[].{resource:resourceGroup, configName:name}" \
   --output table

Hostované virtuální počítače

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í

Použijte az maintenance update list k ověření, zda jsou nevyřízené aktualizace. Aktualizujte --subscription na 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 dojde k aktualizacím, příkaz vrátí pouze jednu z nich, i když na zpracování čeká 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/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/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-parent-name 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čů

Aktualizace škálovací sady:

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

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/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id             : /subscriptions/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2/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, kdy byla aktualizace dokončena, ať už jste ji zahájili vy, nebo ji zahájila platforma, protože jste nevyužili okno pro samoobslužnou údržbu. 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 show \
   --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 show \
   --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 show \
   --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

Smazat konfiguraci údržby

Pokud chcete odstranit konfiguraci údržby, použijte az maintenance configuration delete. Smazáním nastavení 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.