Automatické upgrady imagí operačního systému Azure Virtual Machine Scale Set

Poznámka:

Mnoho kroků uvedených v tomto dokumentu platí pro škálovací sady virtuálních počítačů pomocí režimu Uniform Orchestraation. Pro nové úlohy doporučujeme používat flexibilní orchestraci. Další informace najdete v tématu Režimy orchestrace pro škálovací sady virtuálních počítačů v Azure.

Povolení automatických upgradů imagí operačního systému ve škálovací sadě pomáhá bezpečně a automaticky upgradovat disk s operačním systémem pro všechny instance ve škálovací sadě.

Automatický upgrade operačního systému má následující charakteristiky:

  • Po nakonfigurování se na škálovací sadu automaticky použije nejnovější image operačního systému publikovaná vydavateli imagí image bez zásahu uživatele.
  • Upgraduje dávky instancí postupným způsobem pokaždé, když vydavatel publikuje novou image.
  • Integruje se se sondami stavu aplikace a rozšířením služby Application Health.
  • Funguje pro všechny velikosti virtuálních počítačů a pro image Windows i Linuxu, včetně vlastních imagí prostřednictvím Galerie výpočetních prostředků Azure.
  • Automatické upgrady můžete kdykoli zrušit (upgrade operačního systému je možné zahájit i ručně).
  • Disk s operačním systémem virtuálního počítače se nahradí novým diskem s operačním systémem vytvořeným s nejnovější verzí image. Nakonfigurovaná rozšíření a vlastní datové skripty se spouštějí, zatímco se uchovávají trvalé datové disky.
  • Podporuje se sekvencování rozšíření.
  • Je možné ji povolit ve škálovací sadě libovolné velikosti.

Poznámka:

Před povolením automatických upgradů imagí operačního systému si projděte část s požadavky této dokumentace.

Jak funguje automatický upgrade image operačního systému?

Upgrade funguje tak, že nahradí disk s operačním systémem virtuálního počítače novým diskem vytvořeným pomocí verze image. Všechna nakonfigurovaná rozšíření a vlastní datové skripty se spouštějí na disku s operačním systémem, zatímco datové disky se zachovají. Aby se minimalizoval výpadek aplikace, upgrady probíhají v dávkách, a to bez více než 20 % upgradu škálovací sady.

Pokud chcete sledovat stav aplikace po upgradu, musíte integrovat sondu stavu aplikace Azure Load Balancer nebo rozšíření Stavu aplikace. To platformě umožňuje ověřit stav virtuálního počítače, aby se zajistilo bezpečné použití aktualizací. Doporučujeme začlenit prezenčních signálů aplikace k ověření úspěšnosti upgradu.

Aktualizace první dostupnosti

Model dostupnosti pro aktualizace orchestrované platformou popsaný níže zajišťuje, že se konfigurace dostupnosti v Azure respektují napříč několika úrovněmi dostupnosti.

Napříč oblastmi:

  • Aktualizace se globálně přesune napříč Azure postupně, aby se zabránilo selháním nasazení v rámci Celého Azure.
  • Fáze může mít jednu nebo více oblastí a aktualizace se přesune mezi fázemi pouze v případě, že oprávněné virtuální počítače v předchozí fázi úspěšně aktualizují.
  • Geograficky spárované oblasti nebudou aktualizovány souběžně a nemohou být ve stejné regionální fázi.
  • Úspěch aktualizace se měří sledováním stavu virtuálního počítače po aktualizaci.

V rámci oblasti:

  • Virtuální počítače v různých Zóny dostupnosti se neaktualizují souběžně se stejnou aktualizací.

V rámci sady:

  • Všechny virtuální počítače ve společné škálovací sadě se neaktualizují souběžně.
  • Virtuální počítače v běžné škálovací sadě virtuálních počítačů se seskupují v dávkách a aktualizují se v rámci hranic aktualizační domény, jak je popsáno níže.

Po procesu orchestrace aktualizací platformy se každý měsíc zavádí podporované upgrady imagí platformy operačního systému. U vlastních imagí prostřednictvím Galerie výpočetních prostředků Azure se upgrade image spustí jenom pro konkrétní oblast Azure, když se nová image publikuje a replikuje do oblasti této škálovací sady.

Upgrade virtuálních počítačů ve škálovací sadě

Oblast škálovací sady má nárok na upgrade imagí prostřednictvím procesu první dostupnosti pro image platformy nebo replikace nových vlastních verzí imagí pro Galerii imagí sdílené složky. Upgrade image se pak použije na jednotlivé škálovací sady dávkově následujícím způsobem:

  1. Než zahájíte proces upgradu, orchestrátor zajistí, že není v pořádku více než 20 % instancí v celé škálovací sadě (z jakéhokoli důvodu).
  2. Orchestrátor upgradu identifikuje dávku instancí virtuálních počítačů, které se mají upgradovat, přičemž každá dávka má maximálně 20 % celkového počtu instancí, a to v závislosti na minimální velikosti dávky jednoho virtuálního počítače. Neexistuje žádný požadavek na minimální velikost škálovací sady a škálovací sady s 5 nebo méně instancemi budou mít 1 virtuální počítač na dávku upgradu (minimální velikost dávky).
  3. Disk s operačním systémem každého virtuálního počítače ve vybrané dávce upgradu se nahradí novým diskem s operačním systémem vytvořeným z image. U upgradované instance se použijí všechna zadaná rozšíření a konfigurace v modelu škálovací sady.
  4. U škálovacích sad s nakonfigurovanými sondami stavu aplikace nebo rozšířením služby Application Health upgrade čeká až 5 minut, než se instance stane v pořádku, a teprve potom přejde na upgrade další dávky. Pokud instance po upgradu neobnoví stav za 5 minut, obnoví se ve výchozím nastavení předchozí disk s operačním systémem pro instanci.
  5. Orchestrátor upgradu také sleduje procento instancí, které nejsou v pořádku po upgradu. Upgrade se zastaví, pokud během procesu upgradu není v pořádku více než 20 % upgradovaných instancí.
  6. Výše uvedený proces pokračuje, dokud nebudou upgradovány všechny instance ve škálovací sadě.

Orchestrátor upgradu operačního systému škálovací sady před upgradem každé dávky kontroluje celkový stav škálovací sady. Během upgradu dávky může existovat další souběžné plánované nebo neplánované aktivity údržby, které by mohly ovlivnit stav instancí škálovací sady. Pokud v takových případech není v pořádku více než 20 % instancí škálovací sady, upgrade škálovací sady se zastaví na konci aktuální dávky.

Pokud chcete upravit výchozí nastavení přidružená k postupným upgradům, projděte si zásady postupného upgradu Azure.

Poznámka:

Automatický upgrade operačního systému neupgraduje skladovou položku referenční image ve škálovací sadě. Pokud chcete změnit skladovou položku (například Ubuntu 18.04-LTS na 20.04-LTS), musíte model škálovací sady aktualizovat přímo s požadovanou skladovou jednotkou image. Vydavatel imagí a nabídka nelze u existující škálovací sady změnit.

Upgrade imagí operačního systému a opětovného nastavení

Upgrade i obnovení image operačního systému jsou metody používané k aktualizaci virtuálních počítačů ve škálovací sadě, ale slouží různým účelům a mají odlišné dopady.

Upgrade image operačního systému zahrnuje aktualizaci základní image operačního systému, která se používá k vytváření nových instancí ve škálovací sadě. Když provedete upgrade image operačního systému, Azure vytvoří nové instance virtuálních počítačů s aktualizovanou imagí operačního systému a postupně nahradí staré instance virtuálních počítačů ve škálovací sadě novými instancemi. Tento proces se obvykle provádí ve fázích, aby se zajistila vysoká dostupnost. Upgrady imagí operačního systému představují nenarušující způsob, jak použít aktualizace nebo změny základního operačního systému virtuálních počítačů ve škálovací sadě. Stávající instance virtuálních počítačů nejsou ovlivněné, dokud se nenahradí novými instancemi.

Změna instance virtuálního počítače ve škálovací sadě je okamžitější a rušivější akce. Když se rozhodnete znovu vytvořit instanci virtuálního počítače, Azure zastaví vybranou instanci virtuálního počítače, provede operaci opětovného vytvoření image a pak virtuální počítač restartuje pomocí stejné image operačního systému. Tím se na konkrétní instanci virtuálního počítače efektivně přeinstaluje operační systém. Opětovná příprava se obvykle používá v případě, že potřebujete řešit potíže nebo resetovat konkrétní instanci virtuálního počítače kvůli problémům s danou instancí.

Hlavní rozdíly:

  • Upgrade imagí operačního systému je postupný a nenarušující proces, který aktualizuje image operačního systému pro celou škálovací sadu virtuálních počítačů v průběhu času a zajišťuje minimální dopad na spuštěné úlohy.
  • Reimage je okamžitější a rušivější akce, která ovlivňuje pouze vybranou instanci virtuálního počítače, zastaví ji dočasně a přeinstaluje operační systém.

Kdy použít každou metodu:

  • Upgrade imagí operačního systému použijte, když chcete aktualizovat image operačního systému pro celou škálovací sadu při zachování vysoké dostupnosti.
  • Pokud potřebujete řešit potíže nebo resetovat konkrétní instanci virtuálního počítače v rámci škálovací sady virtuálních počítačů, použijte funkci Reimage.

Je nezbytné pečlivě naplánovat a zvolit odpovídající metodu na základě konkrétních požadavků, abyste minimalizovali případné přerušení aplikací a služeb spuštěných ve škálovací sadě virtuálních počítačů.

Podporované image operačního systému

V současné době se podporují jenom některé image platformy operačního systému. Vlastní image se podporují , pokud škálovací sada používá vlastní image prostřednictvím Galerie výpočetních prostředků Azure.

Aktuálně se podporují následující skladové položky platformy (a pravidelně se přidávají další položky):

Publisher Nabídka operačního systému Skladová jednotka (SKU)
Canonical UbuntuServer 18.04-LTS
Canonical UbuntuServer 18_04-LTS-Gen2
Canonical 0001-com-ubuntu-server-fokus 20_04-LTS
Canonical 0001-com-ubuntu-server-fokus 20_04-LTS-Gen2
Canonical 0001-com-ubuntu-server-jammy 22_04-LTS
Canonical 0001-com-ubuntu-server-jammy 22_04-LTS-Gen2
MicrosoftCblMariner Cbl-Mariner cbl-mariner-1
MicrosoftCblMariner Cbl-Mariner 1–Gen2
MicrosoftCblMariner Cbl-Mariner cbl-mariner-2
MicrosoftCblMariner Cbl-Mariner cbl-mariner-2-Gen2
MicrosoftSqlServer Sql2017-ws2019 velká firma
MicrosoftWindowsServer WindowsServer 2012-R2-Datacenter
MicrosoftWindowsServer WindowsServer 2016-Datacenter
MicrosoftWindowsServer WindowsServer 2016-Datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2016-Datacenter-gs
MicrosoftWindowsServer WindowsServer 2016-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2016–Datacenter-with-Containers
MicrosoftWindowsServer WindowsServer 2016-Datacenter-with-containers-gs
MicrosoftWindowsServer WindowsServer 2019-Datacenter
MicrosoftWindowsServer WindowsServer 2019-Datacenter-Core
MicrosoftWindowsServer WindowsServer 2019-Datacenter-Core-with-Containers
MicrosoftWindowsServer WindowsServer 2019-Datacenter-gensecond
MicrosoftWindowsServer WindowsServer 2019-Datacenter-gs
MicrosoftWindowsServer WindowsServer 2019-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2019-Datacenter-with-Containers
MicrosoftWindowsServer WindowsServer 2019-Datacenter-with-Containers-gs
MicrosoftWindowsServer WindowsServer 2022-Datacenter
MicrosoftWindowsServer WindowsServer 2022-Datacenter-smalldisk
MicrosoftWindowsServer WindowsServer 2022-Datacenter-smalldisk-g2
MicrosoftWindowsServer WindowsServer 2022-Datacenter-core
MicrosoftWindowsServer WindowsServer 2022-Datacenter-core-smalldisk
MicrosoftWindowsServer WindowsServer 2022-Datacenter-g2
MicrosoftWindowsServer WindowsServer Datacenter-core-20h2-with-containers-smalldisk-gs
MicrosoftWindowsServer WindowsServer 2022-Datacenter-azure-edition
MicrosoftWindowsServer WindowsServer 2022-Datacenter-azure-edition-smalldisk
Mirantis Windows_with_Mirantis_Container_Runtime_2019 win_2019_mcr_23_0
Mirantis Windows_with_Mirantis_Container_Runtime_2019 win_2019_mcr_23_0_gen2

Požadavky na konfiguraci automatického upgradu image operačního systému

  • Vlastnost verze image musí být nastavená na nejnovější verzi.
  • Pro škálovací sady mimo Service Fabric je nutné použít sondy stavu aplikace nebo rozšíření Stavu aplikace. Požadavky Service Fabric najdete v tématu Požadavky Service Fabric.
  • Použijte výpočetní rozhraní API verze 2018-10-01 nebo vyšší.
  • Ujistěte se, že jsou dostupné a aktualizované externí prostředky zadané v modelu škálovací sady. Mezi příklady patří identifikátor URI SAS pro spouštění datové části ve vlastnostech rozšíření virtuálního počítače, datová část v účtu úložiště, odkazování na tajné kódy v modelu a další.
  • Pro škálovací sady používající virtuální počítače s Windows musí počínaje výpočetním rozhraním API verze 2019-03-01 nastavit vlastnost virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates v definici modelu škálovací sady na hodnotu false . Vlastnost enableAutomaticUpdates umožňuje opravám virtuálního počítače, kde "služba Windows Update" používá opravy operačního systému bez nahrazení disku s operačním systémem. S povolenými automatickými upgrady imagí operačního systému ve škálovací sadě, které je možné provést nastavením automaticOSUpgradePolicy.enableAutomaticOSUpgrade na true, není potřeba provést další proces oprav prostřednictvím služba Windows Update.
  • Režim orchestrace oprav nesmí být nastaven na AutomaticByPlatform definici modelu škálovací sady. U automatických upgradů imagí operačního systému povolených ve škálovací sadě se nevyžaduje proces oprav orchestrace platformy.

Poznámka:

Po nahrazení disku s operačním systémem prostřednictvím opětovného sestavení nebo upgradu můžou mít připojené datové disky znovu přiřazené písmena jednotek. Pokud chcete zachovat stejná písmena jednotek pro připojené disky, doporučujeme použít vlastní spouštěcí skript.

Požadavky Service Fabric

Pokud používáte Service Fabric, ujistěte se, že jsou splněny následující podmínky:

  • Úroveň odolnosti Service Fabric je Silver nebo Gold. Pokud je odolnost Service Fabric bronzová, podporují automatické upgrady imagí operačního systému pouze bezstavové typy uzlů.
  • Rozšíření Service Fabric v definici modelu škálovací sady musí mít TypeHandlerVersion 1.1 nebo vyšší.
  • Úroveň stálosti by měla být stejná v clusteru Service Fabric a rozšíření Service Fabric v definici modelu škálovací sady.
  • Pro odolnost Silver nebo Gold se nevyžaduje další sonda stavu nebo použití rozšíření stavu aplikace. Bronzová stálost s bezstavovými typy uzlů vyžaduje další sondu stavu.
  • Vlastnost virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates musí být nastavena na false v definici modelu škálovací sady. Vlastnost enableAutomaticUpdates umožňuje opravy virtuálních počítačů pomocí služba Windows Update a ve škálovacích sadách Service Fabric se nepodporuje. Místo toho byste měli použít vlastnost automaticOSUpgradePolicy.enableAutomaticOSUpgrade .

Ujistěte se, že nastavení stálosti neodpovídá clusteru Service Fabric a rozšíření Service Fabric, protože neshoda způsobí chyby upgradu. Úrovně stálosti lze upravit podle pokynů uvedených na této stránce.

Automatický upgrade image operačního systému pro vlastní image

Automatický upgrade image operačního systému se podporuje pro vlastní image nasazené prostřednictvím Galerie výpočetních prostředků Azure. Automatické upgrady imagí operačního systému nepodporují jiné vlastní image.

Další požadavky na vlastní image

  • Postup nastavení a konfigurace pro automatický upgrade image operačního systému je stejný pro všechny škálovací sady, jak je podrobně popsáno v části konfigurace této stránky.
  • Instance škálovacích sad nakonfigurované pro automatické upgrady imagí operačního systému se upgradují na verzi image Galerie výpočetních prostředků Azure, když se publikuje a replikuje nová verze image do oblasti této škálovací sady. Pokud se nová image nereplikuje do oblasti, ve které je škálování nasazené, instance škálovací sady se na verzi neupgradují. Místní replikace imagí umožňuje řídit zavedení nové image pro škálovací sady.
  • Nová verze image by neměla být vyloučena z verze této image galerie. Verze imagí vyloučené z verze image galerie se do škálovací sady nezahrnou prostřednictvím automatického upgradu image operačního systému.

Poznámka:

Spuštění prvního upgradu image může trvat až 3 hodiny, než se škálovací sada aktivuje po první konfiguraci škálovací sady pro automatické upgrady operačního systému kvůli určitým faktorům, jako jsou časové intervaly údržby nebo jiná omezení. Zákazníci na nejnovější imagi nemusí získat upgrade, dokud nebude k dispozici nová image.

Konfigurace automatického upgradu image operačního systému

Chcete-li nakonfigurovat automatický upgrade image operačního systému, ujistěte se, že vlastnost automaticOSUpgradePolicy.enableAutomaticOSUpgrade je nastavena na hodnotu true v definici modelu škálovací sady.

Poznámka:

Režim zásad upgradu a zásady automatického upgradu operačního systému jsou samostatná nastavení a řídí různé aspekty škálovací sady. Když v šabloně škálovací sady dojde ke změnám, zásada mode upgradu určí, co se stane s existujícími instancemi ve škálovací sadě. Zásady enableAutomaticOSUpgrade automatického upgradu operačního systému jsou ale specifické pro image operačního systému a sledují změny, které vydavatel image provedl, a určuje, co se stane, když dojde k aktualizaci image.

Poznámka:

Pokud enableAutomaticOSUpgrade je nastavená hodnota true, enableAutomaticUpdates je automaticky nastavena na hodnotu false a nelze ji nastavit na true.

REST API

Následující příklad popisuje, jak nastavit automatické upgrady operačního systému v modelu škálovací sady:

PUT or PATCH on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet?api-version=2021-03-01`
{
  "properties": {
    "upgradePolicy": {
      "automaticOSUpgradePolicy": {
        "enableAutomaticOSUpgrade":  true
      }
    }
  }
}

Azure PowerShell

Pomocí rutiny New-AzVmss nakonfigurujte automatické upgrady imagí operačního systému pro vaši škálovací sadu během zřizování. Následující příklad konfiguruje automatické upgrady pro škálovací sadu s názvem myScaleSet ve skupině prostředků myResourceGroup:

New-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -AutomaticOSUpgrade $true

Pomocí rutiny Update-AzVmss nakonfigurujte automatické upgrady imagí operačního systému pro vaši stávající škálovací sadu. Následující příklad konfiguruje automatické upgrady pro škálovací sadu s názvem myScaleSet ve skupině prostředků myResourceGroup:

Update-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -AutomaticOSUpgrade $true

Azure CLI 2.0

Pomocí příkazu az vmss create můžete nakonfigurovat automatické upgrady imagí operačního systému pro vaši škálovací sadu během zřizování. Použijte Azure CLI 2.0.47 nebo novější. Následující příklad konfiguruje automatické upgrady pro škálovací sadu s názvem myScaleSet ve skupině prostředků myResourceGroup:

az vmss create --name myScaleSet --resource-group myResourceGroup --enable-auto-os-upgrade true --upgrade-policy-mode Rolling

Pomocí příkazu az vmss update nakonfigurujte automatické upgrady imagí operačního systému pro vaši stávající škálovací sadu. Použijte Azure CLI 2.0.47 nebo novější. Následující příklad konfiguruje automatické upgrady pro škálovací sadu s názvem myScaleSet ve skupině prostředků myResourceGroup:

az vmss update --name myScaleSet --resource-group myResourceGroup --enable-auto-os-upgrade true --upgrade-policy-mode Rolling

Poznámka:

Po konfiguraci automatických upgradů imagí operačního systému pro vaši škálovací sadu musíte virtuální počítače škálovací sady přenést na nejnovější model škálovací sady, pokud vaše škálovací sada používá zásady ručního upgradu.

Šablony ARM

Následující příklad popisuje, jak nastavit automatické upgrady operačního systému v modelu škálovací sady prostřednictvím šablon Azure Resource Manageru (šablony ARM):

"properties": {
   "upgradePolicy": {
     "mode": "Automatic",
     "RollingUpgradePolicy": {
         "BatchInstancePercent": 20,
         "MaxUnhealthyInstancePercent": 25,
         "MaxUnhealthyUpgradedInstancePercent": 25,
         "PauseTimeBetweenBatches": "PT0S"
     },
    "automaticOSUpgradePolicy": {
      "enableAutomaticOSUpgrade": true,
        "useRollingUpgradePolicy": true,
        "disableAutomaticRollback": false
    }
  },
  },
"imagePublisher": {
   "type": "string",
   "defaultValue": "MicrosoftWindowsServer"
 },
 "imageOffer": {
   "type": "string",
   "defaultValue": "WindowsServer"
 },
 "imageSku": {
   "type": "string",
   "defaultValue": "2022-datacenter"
 },
 "imageOSVersion": {
   "type": "string",
   "defaultValue": "latest"
 }

Bicep

Následující příklad popisuje, jak nastavit automatické upgrady operačního systému v modelu škálovací sady prostřednictvím Bicep:

properties: {
    overprovision: overProvision
    upgradePolicy: {
      mode: 'Automatic'
      automaticOSUpgradePolicy: {
        enableAutomaticOSUpgrade: true
      }
    }
}

Použití rozšíření Stavu aplikace

Během upgradu operačního systému se instance virtuálních počítačů ve škálovací sadě upgradují po jedné dávce. Upgrade by měl pokračovat pouze v případě, že je aplikace zákazníka v pořádku na upgradovaných instancích virtuálních počítačů. Doporučujeme, aby aplikace poskytovala signály stavu modulu upgradu operačního systému škálovací sady. Při upgradech operačního systému platforma ve výchozím nastavení považuje stav napájení virtuálního počítače a stav zřizování rozšíření k určení, jestli je instance virtuálního počítače po upgradu v pořádku. Během upgradu operačního systému instance virtuálního počítače se disk s operačním systémem na instanci virtuálního počítače nahradí novým diskem na základě nejnovější verze image. Po dokončení upgradu operačního systému se na těchto virtuálních počítačích spustí nakonfigurovaná rozšíření. Aplikace je považována za v pořádku pouze v případě, že jsou všechna rozšíření v instanci úspěšně zřízena.

Škálovací sadu je možné volitelně nakonfigurovat pomocí sond stavu aplikace, aby platforma poskytovala přesné informace o probíhajícím stavu aplikace. Sondy stavu aplikace jsou vlastní sondy nástroje pro vyrovnávání zatížení, které se používají jako signál stavu. Aplikace spuštěná na instanci virtuálního počítače škálovací sady může reagovat na externí požadavky HTTP nebo TCP označující, jestli je v pořádku. Další informace o tom, jak fungují vlastní sondy nástroje pro vyrovnávání zatížení, najdete v tématu Vysvětlení sond nástroje pro vyrovnávání zatížení. Sondy stavu aplikace nejsou podporovány pro škálovací sady Service Fabric. Škálovací sady mimo Service Fabric vyžadují sondy stavu aplikace Load Balancer nebo rozšíření Stavu aplikace.

Pokud je škálovací sada nakonfigurovaná tak, aby používala více skupin umístění, je potřeba použít sondy používající Load Balancer úrovně Standard.

Poznámka:

Pro škálovací sadu virtuálních počítačů lze použít pouze jeden zdroj monitorování stavu, a to buď rozšíření stavu aplikace, nebo sondu stavu. Pokud máte obě možnosti povolené, budete ho muset před použitím služeb orchestrace, jako jsou opravy instancí nebo automatické upgrady operačního systému, odebrat.

Konfigurace vlastní sondy nástroje pro vyrovnávání zatížení jako sondy stavu aplikace ve škálovací sadě

Osvědčeným postupem je vytvořit sondu nástroje pro vyrovnávání zatížení explicitně pro stav škálovací sady. Stejný koncový bod pro existující sondu HTTP nebo sondu PROTOKOLU TCP je možné použít, ale sonda stavu může vyžadovat jiné chování než tradiční sonda nástroje pro vyrovnávání zatížení. Například tradiční sonda nástroje pro vyrovnávání zatížení by mohla vracet problém, pokud je zatížení instance příliš vysoké, ale to by nebylo vhodné pro určení stavu instance během automatického upgradu operačního systému. Nakonfigurujte sondu tak, aby měla vysokou rychlost sondy kratší než dvě minuty.

Na sondu nástroje pro vyrovnávání zatížení lze odkazovat v souboru networkProfile škálovací sady a je možné ji přidružit k internímu nebo veřejně přístupnému nástroji pro vyrovnávání zatížení následujícím způsobem:

"networkProfile": {
  "healthProbe" : {
    "id": "[concat(variables('lbId'), '/probes/', variables('sshProbeName'))]"
  },
  "networkInterfaceConfigurations":
  ...
}

Poznámka:

Při použití automatických upgradů operačního systému se Service Fabric zavádí nová image operačního systému update domain by Update Domain, aby se zachovala vysoká dostupnost služeb spuštěných v Service Fabric. Pokud chcete v Service Fabric použít automatické upgrady operačního systému, musí být typ uzlu clusteru nakonfigurovaný tak, aby používal úroveň Silver Durability nebo vyšší. Pro úroveň bronzové stálosti je automatický upgrade image operačního systému podporován pouze pro typy bezstavových uzlů. Další informace o vlastnostech odolnosti clusterů Service Fabric najdete v této dokumentaci.

Použití rozšíření Application Health

Rozšíření Stav aplikace se nasadí v instanci škálovací sady virtuálních počítačů a hlásí stav virtuálního počítače z instance škálovací sady. Rozšíření můžete nakonfigurovat tak, aby testovali koncový bod aplikace a aktualizovali stav aplikace v dané instanci. Azure zkontroluje stav této instance a určí, jestli má instance nárok na operace upgradu.

Vzhledem k tomu, že rozšíření hlásí stav z virtuálního počítače, můžete ho použít v situacích, kdy se nedají použít externí sondy, jako jsou sondy stavu aplikace (které využívají vlastní sondy Azure Load Balanceru).

Rozšíření Služby Application Health můžete do škálovacích sad nasadit několika způsoby, jak je podrobně popsáno v příkladech v tomto článku.

Poznámka:

Pro škálovací sadu virtuálních počítačů lze použít pouze jeden zdroj monitorování stavu, a to buď rozšíření stavu aplikace, nebo sondu stavu. Pokud máte obě možnosti povolené, budete ho muset před použitím služeb orchestrace, jako jsou opravy instancí nebo automatické upgrady operačního systému, odebrat.

Získání historie automatických upgradů imagí operačního systému

Historii nejnovějšího upgradu operačního systému provedeného ve škálovací sadě můžete zkontrolovat pomocí Azure PowerShellu, Azure CLI 2.0 nebo rozhraní REST API. Během posledních dvou měsíců můžete získat historii posledních pěti pokusů o upgrade operačního systému.

Udržování přihlašovacích údajů v aktualizovaném stavu

Pokud vaše škálovací sada používá pro přístup k externím prostředkům nějaké přihlašovací údaje, jako je rozšíření virtuálního počítače nakonfigurované tak, aby používalo token SAS pro účet úložiště, ujistěte se, že se přihlašovací údaje aktualizují. Pokud vypršela platnost jakýchkoli přihlašovacích údajů, včetně certifikátů a tokenů, upgrade selže a první dávka virtuálních počítačů zůstane ve stavu selhání.

Doporučený postup obnovení virtuálních počítačů a opětovné povolení automatického upgradu operačního systému v případě selhání ověřování prostředků:

  • Znovu vygenerujte token (nebo jakékoli jiné přihlašovací údaje) předané do vašich rozšíření.
  • Ujistěte se, že všechny přihlašovací údaje používané z virtuálního počítače pro komunikaci s externími entitami jsou aktuální.
  • Aktualizujte rozšíření v modelu škálovací sady s použitím nových tokenů.
  • Nasaďte aktualizovanou škálovací sadu, která aktualizuje všechny instance virtuálních počítačů, včetně těch, které selhaly.

REST API

Následující příklad používá rozhraní REST API ke kontrole stavu škálovací sady s názvem myScaleSet ve skupině prostředků myResourceGroup:

GET on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/osUpgradeHistory?api-version=2021-03-01`

Volání GET vrátí vlastnosti podobné následujícímu příkladu výstupu:

{
	"value": [
		{
			"properties": {
        "runningStatus": {
          "code": "RollingForward",
          "startTime": "2018-07-24T17:46:06.1248429+00:00",
          "completedTime": "2018-04-21T12:29:25.0511245+00:00"
        },
        "progress": {
          "successfulInstanceCount": 16,
          "failedInstanceCount": 0,
          "inProgressInstanceCount": 4,
          "pendingInstanceCount": 0
        },
        "startedBy": "Platform",
        "targetImageReference": {
          "publisher": "MicrosoftWindowsServer",
          "offer": "WindowsServer",
          "sku": "2016-Datacenter",
          "version": "2016.127.20180613"
        },
        "rollbackInfo": {
          "successfullyRolledbackInstanceCount": 0,
          "failedRolledbackInstanceCount": 0
        }
      },
      "type": "Microsoft.Compute/virtualMachineScaleSets/rollingUpgrades",
      "location": "westeurope"
    }
  ]
}

Azure PowerShell

Pomocí rutiny Get-AzVmss zkontrolujte historii upgradu operačního systému pro vaši škálovací sadu. Následující příklad podrobně popisuje, jak zkontrolujete stav upgradu operačního systému pro škálovací sadu s názvem myScaleSet ve skupině prostředků myResourceGroup:

Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -OSUpgradeHistory

Azure CLI 2.0

Pomocí příkazu az vmss get-os-upgrade-history zkontrolujte historii upgradu operačního systému pro vaši škálovací sadu. Použijte Azure CLI 2.0.47 nebo novější. Následující příklad podrobně popisuje, jak zkontrolujete stav upgradu operačního systému pro škálovací sadu s názvem myScaleSet ve skupině prostředků myResourceGroup:

az vmss get-os-upgrade-history --resource-group myResourceGroup --name myScaleSet

Jak získat nejnovější verzi image operačního systému platformy?

Dostupné verze imagí pro automatický upgrade operačního systému můžete získat pomocí následujících příkladů:

REST API

GET on `/subscriptions/subscription_id/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions?api-version=2021-03-01`

Azure PowerShell

Get-AzVmImage -Location "westus" -PublisherName "Canonical" -offer "0001-com-ubuntu-server-jammy" -sku "22_04-lts"

Azure CLI 2.0

az vm image list --location "westus" --publisher "Canonical" --offer "0001-com-ubuntu-server-jammy" --sku "22_04-lts" --all

Ruční aktivace upgradů imagí operačního systému

Pokud je ve škálovací sadě povolen automatický upgrade imagí operačního systému, nemusíte aktualizace imagí ve škálovací sadě aktivovat ručně. Orchestrátor upgradu operačního systému automaticky použije nejnovější dostupnou verzi image na instance škálovací sady bez jakéhokoli ručního zásahu.

V konkrétních případech, kdy nechcete čekat, až orchestrátor použije nejnovější image, můžete upgrade image operačního systému aktivovat ručně pomocí následujících příkladů.

Poznámka:

Ruční aktivace upgradů imagí operačního systému neposkytuje možnosti automatického vrácení zpět. Pokud instance po operaci upgradu neobnoví stav, předchozí disk s operačním systémem se nedá obnovit.

REST API

Pomocí volání rozhraní API pro spuštění upgradu operačního systému spusťte postupný upgrade a přesuňte všechny instance škálovací sady virtuálních počítačů na nejnovější dostupnou verzi operačního systému image. Instance, na kterých už běží nejnovější dostupná verze operačního systému, se to netýká. Následující příklad podrobně popisuje, jak spustit postupný upgrade operačního systému ve škálovací sadě s názvem myScaleSet ve skupině prostředků myResourceGroup:

POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/osRollingUpgrade?api-version=2021-03-01`

Azure PowerShell

Pomocí rutiny Start-AzVmssRollingOSUpgrade zkontrolujte historii upgradu operačního systému pro vaši škálovací sadu. Následující příklad podrobně popisuje, jak spustit postupný upgrade operačního systému ve škálovací sadě s názvem myScaleSet ve skupině prostředků myResourceGroup:

Start-AzVmssRollingOSUpgrade -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Azure CLI 2.0

Pomocí příkazu az vmss rolling-upgrade start zkontrolujte historii upgradu operačního systému pro vaši škálovací sadu. Použijte Azure CLI 2.0.47 nebo novější. Následující příklad podrobně popisuje, jak spustit postupný upgrade operačního systému ve škálovací sadě s názvem myScaleSet ve skupině prostředků myResourceGroup:

az vmss rolling-upgrade start --resource-group "myResourceGroup" --name "myScaleSet" --subscription "subscriptionId"

Využití protokolů aktivit k oznámením o upgradu a přehledům

Protokol aktivit je protokol předplatného, který poskytuje přehled o událostech na úrovni předplatného, ke kterým došlo v Azure. Zákazníci můžou:

  • Zobrazení událostí souvisejících s operacemi provedenými s jejich prostředky na webu Azure Portal
  • Vytvoření skupin akcí pro ladění metod oznámení, jako jsou e-maily, sms, webhooky nebo ITSM
  • Nastavení vhodných upozornění s využitím různých kritérií pomocí portálu, šablony prostředků ARM, PowerShellu nebo rozhraní příkazového řádku pro odesílání do skupin akcí

Zákazníci dostanou tři typy oznámení souvisejících s operací automatického upgradu operačního systému:

  • Odeslání žádosti o upgrade pro konkrétní prostředek
  • Výsledek žádosti o odeslání spolu s podrobnostmi o chybě
  • Výsledek dokončení upgradu spolu s podrobnostmi o chybách

Nastavení skupin akcí pro upozornění protokolu aktivit

Skupina akcí je kolekce předvoleb oznámení definovaných vlastníkem předplatného Azure. Upozornění služby Azure Monitor a Service Health používají skupiny akcí k upozorňování uživatelů na aktivaci výstrahy.

Skupiny akcí je možné vytvářet a spravovat pomocí:

Zákazníci můžou pomocí skupin akcí nastavit následující:

Zkoumání a řešení chyb automatického upgradu

Platforma může na virtuálních počítačích vracet chyby při automatickém upgradu imagí pomocí zásad postupného upgradu. Zobrazení získat instanci virtuálního počítače obsahuje podrobnou chybovou zprávu k prošetření a vyřešení chyby. Postupné upgrady – Získat nejnovější můžou poskytnout další podrobnosti o konfiguraci a stavu postupného upgradu. Historie získání upgradu operačního systému obsahuje podrobnosti o poslední operaci upgradu image ve škálovací sadě. Níže jsou uvedeny nejdůležitější chyby, které můžou vést k postupnému upgradu.

RollingUpgradeInProgressWithFailedUpgradedVMs

  • Chyba se aktivuje kvůli selhání virtuálního počítače.
  • Podrobná chybová zpráva uvádí, jestli bude zavedení pokračovat nebo pozastavit na základě nakonfigurované prahové hodnoty.

MaxUnhealthyUpgradedInstancePercentExceededInRollingUpgrade

  • Chyba se aktivuje, když procento upgradovaných virtuálních počítačů překročí maximální povolenou prahovou hodnotu pro virtuální počítače, které nejsou v pořádku.
  • Podrobná chybová zpráva agreguje nejběžnější chybu, která přispívá k virtuálním počítačům, které nejsou v pořádku. Viz MaxUnhealthyUpgradedInstancePercent.

MaxUnhealthyInstancePercentExceededInRollingUpgrade

  • Chyba se aktivuje, když procento virtuálních počítačů, které nejsou v pořádku, překročí maximální povolenou prahovou hodnotu pro virtuální počítače, které nejsou v pořádku během upgradu.
  • Podrobná chybová zpráva zobrazuje aktuální procento špatného stavu a nakonfigurované povolené procento virtuálních počítačů, které není v pořádku. Viz maxUnhealthyInstancePercent.

MaxUnhealthyInstancePercentExceededBeforeRollingUpgrade

  • Chyba se aktivuje, když procento virtuálních počítačů, které nejsou v pořádku, překročí maximální povolenou prahovou hodnotu pro virtuální počítače, které nejsou v pořádku, než proběhne upgrade.
  • Podrobná chybová zpráva zobrazuje aktuální procento špatného stavu a nakonfigurované povolené procento virtuálních počítačů, které není v pořádku. Viz maxUnhealthyInstancePercent.

InternalExecutionError

  • Chyba se aktivuje, když během provádění dojde k neošetřené, neformátované nebo neočekávané chybě.
  • Podrobná chybová zpráva zobrazuje příčinu chyby.

RollingUpgradeTimeoutError

  • Při vypršení časového limitu procesu postupného upgradu se aktivuje chyba.
  • Podrobná chybová zpráva zobrazuje dobu vypršení časového limitu systému po pokusu o aktualizaci.

Další kroky