Sdílet prostřednictvím


Automatické opravy instancí pro škálovací sady virtuálních počítačů Azure

Důležité

Akce Obnovení arestartování opravy jsou aktuálně ve verzi PREVIEW. Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview. Některé aspekty této funkce se můžou před zveřejněním změnit.

Povolení automatických oprav instancí pro škálovací sady virtuálních počítačů Azure pomáhá zajistit vysokou dostupnost pro aplikace udržováním sady instancí, které jsou v pořádku. Pokud rozšíření služby Application Health nebo sondy stavu nástroje pro vyrovnávání zatížení najde instanci, která není v pořádku, pokusí se automatická oprava instance obnovit aktivací akcí opravy, jako je odstranění instance, která není v pořádku, a vytvořením nové instance, která ji nahradí, opětovným nastavením instance, která není v pořádku (Preview) nebo restartováním instance, která není v pořádku (Preview).

Požadavky na používání automatických oprav instancí

Povolení monitorování stavu aplikace pro škálovací sadu

Škálovací sada by měla mít povolené monitorování stavu aplikace pro instance. Monitorování stavu je možné provést pomocí rozšíření Stavu aplikace nebo sond stavu nástroje pro vyrovnávání zatížení, kde je možné najednou povolit jenom jeden. Rozšíření stavu aplikace nebo nástroj pro vyrovnávání zatížení testuje příkaz ping na koncový bod aplikace nakonfigurovaný v instancích virtuálních počítačů, aby určil stav aplikace. Tento stav používá orchestrátor škálovací sady k monitorování stavu instance a provádění oprav v případě potřeby.

Konfigurace koncového bodu pro zajištění stavu

Před povolením zásad automatických oprav instancí se ujistěte, že instance škálovací sady mají nakonfigurovaný koncový bod aplikace pro generování stavu aplikace. Ke konfiguraci stavu rozšíření Stav aplikace můžete použít binární stavy stavu nebo bohaté stavy stavu. Pokud chcete nakonfigurovat stav pomocí sond stavu nástroje pro vyrovnávání zatížení, podívejte se na chování sondy.

U instancí označených jako "Není v pořádku" nebo "Neznámý" (Neznámý stav je k dispozici pouze s rozšířením služby Application Health – Rich Health States) se automatické opravy aktivují škálovací sadou. Před povolením zásad automatických oprav se ujistěte, že je koncový bod aplikace správně nakonfigurovaný, aby se zabránilo nechtěným opravám instancí, zatímco se koncový bod konfiguruje.

Verze rozhraní API

Zásady automatických oprav se podporují pro výpočetní rozhraní API verze 2018-10-01 nebo vyšší.

Nastavení repairAction pro reimage (Preview) a Restartování (Preview) je podporované pro výpočetní rozhraní API verze 2021–11–01 nebo vyšší.

Omezení přesunů prostředků nebo předplatného

Přesuny prostředků nebo předplatného se v současné době nepodporují pro škálovací sady, pokud je povolená funkce automatických oprav.

Omezení škálovacích sad Service Fabric

Tato funkce se v současné době nepodporuje pro škálovací sady Service Fabric.

Omezení pro virtuální počítače s chybami zřizování

Automatické opravy v současné době nepodporují scénáře, kdy je instance virtuálního počítače označena jako není v pořádku kvůli selhání zřizování. Aby bylo možné povolit monitorování stavu a možnosti automatické opravy, musí být virtuální počítače úspěšně inicializovány.

Jak fungují automatické opravy instancí?

Funkce automatické opravy instancí spoléhá na monitorování stavu jednotlivých instancí ve škálovací sadě. Instance virtuálních počítačů ve škálovací sadě je možné nakonfigurovat tak, aby generovaly stav aplikace pomocí rozšíření Stav aplikace nebo sond stavu nástroje pro vyrovnávání zatížení. Pokud se zjistí, že instance není v pořádku, škálovací sada provede u instance, která není v pořádku, předkonfigurovanou akci opravy. Automatické opravy instancí je možné povolit v modelu škálovací sady virtuálních počítačů pomocí objektu automaticRepairsPolicy .

Proces automatických oprav instancí probíhá takto:

  1. Rozšíření stavu aplikace nebo sondy stavu nástroje pro vyrovnávání zatížení testují příkazem ping koncový bod aplikace uvnitř každého virtuálního počítače ve škálovací sadě, aby se pro každou instanci získal stav aplikace.
  2. Pokud koncový bod odpoví stavem 200 (OK), instance se označí jako V pořádku. Ve všech ostatních případech (včetně toho, jestli je koncový bod nedostupný), je instance označena jako "Není v pořádku".
  3. Když zjistíte, že instance není v pořádku, škálovací sada použije nakonfigurovanou akci opravy (výchozí hodnota Nahradit) na instanci, která není v pořádku.
  4. Opravy instancí se provádějí v dávkách. V každém okamžiku se opraví maximálně 5 % celkového počtu instancí ve škálovací sadě. Pokud má škálovací sada méně než 20 instancí, opravují se po jedné instanci, která není v pořádku.
  5. Výše uvedený proces pokračuje, dokud se všechny instance, které nejsou ve škálovací sadě v pořádku, opraví.

Dostupné akce opravy

Upozornění

Nastavení repairAction je aktuálně ve verzi PREVIEW a není vhodné pro produkční úlohy. Pokud chcete zobrazit náhled akcí opravy restartování a obnovení image , musíte zaregistrovat předplatné Azure s příznakem AutomaticRepairsWithConfigurableRepairActions AFEC a verze výpočetního rozhraní API musí být 2021–11-01 nebo vyšší. Další informace najdete v tématu Nastavení funkcí preview v předplatném Azure.

Existují tři dostupné akce opravy pro automatické opravy instancí – nahrazení, obnovení (Preview) a restartování (Preview). Výchozí akce opravy je Nahradit, ale můžete přepnout na Obnovit (Preview) nebo Restartovat (Preview) tak, že se zaregistrujete do náhledu a upravíte nastavení v automaticRepairsPolicy objekturepairAction.

  • Nahradí instanci, která není v pořádku, a vytvoří novou instanci, která ji nahradí. K vytvoření nové instance se používá nejnovější model škálovací sady virtuálních počítačů. Tato akce opravy je výchozí.

  • Reimage použije operaci opětovného vytvoření image na instanci, která není v pořádku.

  • Restartování použije operaci restartování na instanci, která není v pořádku.

Následující tabulka porovnává rozdíly mezi všemi třemi akcemi opravy:

Akce opravy ID instance virtuálního počítače se zachovalo? Privátní IP adresa se zachovala? Spravovaný datový disk se zachoval? Spravovaný disk s operačním systémem se zachoval? Místní (dočasný) disk se zachová?
Nahradit No No No No Ne
Obnovit z image Ano Ano Ano Ne Ano
Restartovat Ano Ano Ano Ano Yes

Podrobnosti o aktualizaci akce opravy v rámci zásad automatických oprav najdete v části Konfigurace akce opravy pro zásady automatických oprav.

Dávkování

Operace automatické opravy instance se provádějí v dávkách. V každém okamžiku se prostřednictvím zásad automatických oprav oprav nevypraví více než 5 % instancí ve škálovací sadě. Tento proces pomáhá vyhnout se souběžnému odstranění a opětovnému vytvoření velkého počtu instancí, pokud ve stejnou dobu není v pořádku.

Poskytnutá lhůta

Když instance projde operací změny stavu z důvodu akce PUT, PATCH nebo POST provedené ve škálovací sadě, provede se jakákoli akce opravy této instance až po skončení období odkladu. Období odkladu je doba, po kterou se instance může vrátit do stavu v pořádku. Období odkladu začíná po dokončení změny stavu, což pomáhá vyhnout se jakýmkoli předčasně nebo nechtěným operacím opravy. Období odkladu se respektuje pro všechny nově vytvořené instance ve škálovací sadě, včetně té vytvořené v důsledku operace opravy. Období odkladu je zadáno v minutách ve formátu ISO 8601 a lze jej nastavit pomocí vlastnosti automaticRepairsPolicy.gracePeriod. Období odkladu může být v rozsahu 10 minut až 90 minut a má výchozí hodnotu 10 minut.

Pozastavení oprav

Škálovací sady virtuálních počítačů poskytují možnost dočasně pozastavit automatické opravy instancí v případě potřeby. ServiceState pro automatické opravy v orchestrationServices vlastnosti v zobrazení instance Virtual Machine Scale Set zobrazuje aktuální stav automatických oprav. Pokud je škálovací sada přihlášena k automatickým opravám, hodnota parametr serviceState je nastavena na Spuštěno. Pokud jsou automatické opravy pro škálovací sadu pozastavené, parametr serviceState je nastaven na Pozastaveno. Pokud je ve škálovací sadě definována funkce automaticRepairsPolicy , ale funkce automatických oprav není povolená, nastaví se parametr serviceState na Hodnotu Není spuštěno.

Pokud nově vytvořené instance pro nahrazení těch, které nejsou v pořádku ve škálovací sadě, zůstanou v pořádku i po opakovaném provádění operací opravy, pak jako bezpečnostní opatření platforma aktualizuje stav služby pro automatické opravy na Pozastaveno. Automatické opravy můžete znovu obnovit nastavením hodnoty serviceState pro automatické opravy na Hodnotu Spuštěno. Podrobné pokyny najdete v části o zobrazení a aktualizaci stavu služby zásad automatických oprav pro vaši škálovací sadu.

Můžete také nastavit pravidla upozornění Azure pro monitorování změn stavu služby a dostávat oznámení, pokud se ve škálovací sadě pozastaví automatické opravy. Podrobnosti najdete v tématu Použití pravidel upozornění Azure k monitorování změn ve stavu automatické opravy instancí.

Ochrana instancí a automatické opravy

Pokud je instance ve škálovací sadě chráněná použitím jedné ze zásad ochrany, neprovádí se v této instanci automatická oprava. Toto chování platí pro zásady ochrany: Ochrana před akcemi škálovací sady a Ochrana před akcemi škálovací sady .

Ukončení oznámení a automatických oprav

Pokud je funkce oznámení o ukončení ve škálovací sadě povolená, pak během operace Nahrazení se odstranění instance, která není v pořádku, řídí konfigurací ukončení oznámení. Oznámení o ukončení se odesílá prostřednictvím služby metadat Azure – naplánované události – a během nakonfigurovaného časového limitu zpoždění je odstranění instance zpožděné. Vytvoření nové instance, která nahradí chybnou instanci, ale nečeká na dokončení časového limitu zpoždění.

Povolení zásad automatických oprav při vytváření nové škálovací sady

Důležité

Od listopadu 2023 se škálovací sady virtuálních počítačů vytvořené pomocí PowerShellu a Azure CLI ve výchozím nastavení nastaví do flexibilního režimu orchestrace, pokud není zadaný žádný režim orchestrace. Další informace o této změně a akcích, které byste měli provést, najdete v tématu Zásadní změna pro zákazníky PowerShellu nebo rozhraní příkazového řádku VMSS – Microsoft Community Hub.

Pokud chcete povolit zásady automatických oprav při vytváření nové škálovací sady, ujistěte se, že jsou splněné všechny požadavky na vyjádření souhlasu s touto funkcí. Koncový bod aplikace by měl být správně nakonfigurovaný pro instance škálovací sady, aby se zabránilo aktivaci nezamýšlených oprav při konfiguraci koncového bodu. U nově vytvořených škálovacích sad se všechny opravy instancí provádějí až po dokončení období odkladu. Pokud chcete povolit automatickou opravu instance ve škálovací sadě, použijte objekt automaticRepairsPolicy v modelu škálovací sady virtuálních počítačů.

Tuto šablonu rychlého startu můžete použít také k nasazení škálovací sady virtuálních počítačů. Škálovací sada má sondu stavu nástroje pro vyrovnávání zatížení a povolené automatické opravy instancí s obdobím odkladu 30 minut.

Následující kroky umožňují při vytváření nové škálovací sady zásady automatických oprav.

  1. Přejděte do škálovacích sad virtuálních počítačů.
  2. Vyberte + Přidat a vytvořte novou škálovací sadu.
  3. Přejděte na kartu Stav .
  4. Vyhledejte oddíl Stav.
  5. Povolte možnost Monitorovat stav aplikace.
  6. Vyhledejte část Zásady automatické opravy.
  7. Zapněte možnost Automatické opravy.
  8. V období odkladu (min)zadejte období odkladu v minutách, povolené hodnoty jsou mezi 10 a 90 minut.
  9. Po vytvoření nové škálovací sady vyberte tlačítko Zkontrolovat a vytvořit .

Povolení zásad automatických oprav při aktualizaci existující škálovací sady

Před povolením zásad automatických oprav ve stávající škálovací sadě se ujistěte, že jsou splněné všechny požadavky na vyjádření souhlasu s touto funkcí. Koncový bod aplikace by měl být správně nakonfigurovaný pro instance škálovací sady, aby se zabránilo aktivaci nezamýšlených oprav při konfiguraci koncového bodu. Pokud chcete povolit automatickou opravu instance ve škálovací sadě, použijte objekt automaticRepairsPolicy v modelu škálovací sady virtuálních počítačů.

Po aktualizaci modelu existující škálovací sady se ujistěte, že se na všechny instance škálování použije nejnovější model. Přečtěte si pokyny k tomu, jak virtuální počítače aktualizovat pomocí nejnovějšího modelu škálovací sady.

Zásady automatických oprav existující škálovací sady můžete upravit prostřednictvím webu Azure Portal.

  1. Přechod na existující škálovací sadu virtuálních počítačů.0
  2. V části Nastavení v nabídce vlevo vyberte Stav a opravu.
  3. Povolte možnost Monitorovat stav aplikace.

Pokud monitorujete škálovací sadu pomocí rozšíření Stav aplikace:

  1. V rozevíracím seznamu Monitorování stavu aplikace zvolte rozšíření Stav aplikace.

  2. V rozevíracím seznamu Protokol zvolte síťový protokol používaný vaší aplikací k hlášení stavu. Vyberte odpovídající protokol na základě požadavků vaší aplikace. Možnosti protokolu jsou HTTP, HTTPS nebo TCP.

  3. Do pole Konfigurace čísla portu zadejte síťový port použitý k monitorování stavu aplikace.

  4. Jako cestu zadejte cestu ke koncovému bodu aplikace (například /) použitou k hlášení stavu aplikace.

    Poznámka:

    Rozšíření Stav aplikace provede příkazem ping tuto cestu uvnitř každého virtuálního počítače ve škálovací sadě, aby se pro každou instanci získal stav aplikace. Pokud používáte binární stavy stavu a koncový bod odpoví stavem 200 (OK), instance se označí jako V pořádku. Ve všech ostatních případech (včetně toho, jestli je koncový bod nedostupný), je instance označena jako "Není v pořádku". Další možnosti stavu najdete v tématu Rich Health States.

Pokud monitorujete škálovací sadu pomocí sond stavu SLB:

  • V rozevíracím seznamu Monitorování stavu aplikace zvolte sondu nástroje pro vyrovnávání zatížení.- Pro sondu stavu Load Balanceru vyberte existující sondu stavu nebo vytvořte novou sondu stavu pro monitorování.

Povolení automatických oprav:

  1. Vyhledejte část Zásady automatické opravy.
  2. Zapněte možnost Automatické opravy.
  3. V období odkladu (min)zadejte období odkladu v minutách. Povolené hodnoty jsou mezi 10 a 90 minut.
  4. Až budete hotovi, zvolte tlačítko Uložit.

Konfigurace akce opravy pro zásady automatických oprav

Upozornění

Nastavení repairAction je aktuálně ve verzi PREVIEW a není vhodné pro produkční úlohy. Pokud chcete zobrazit náhled akcí opravy restartování a obnovení image , musíte zaregistrovat předplatné Azure s příznakem AutomaticRepairsWithConfigurableRepairActions AFEC a verze výpočetního rozhraní API musí být 2021–11-01 nebo vyšší. Další informace najdete v tématu Nastavení funkcí preview v předplatném Azure.

Nastavení repairAction v části automaticRepairsPolicy umožňuje určit požadovanou akci opravy provedenou v reakci na instanci, která není v pořádku. Pokud aktualizujete akci opravy u existujících zásad automatických oprav, musíte nejprve zakázat automatické opravy ve škálovací sadě a znovu povolit aktualizovanou akci opravy. Tento proces je znázorněn v následujících příkladech.

Tento příklad ukazuje, jak aktualizovat akci opravy ve škálovací sadě pomocí stávajících zásad automatických oprav. Použijte rozhraní API verze 2021-11-01 nebo vyšší.

Zakázání existujících zásad automatických oprav ve škálovací sadě

PUT or PATCH on '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2021-11-01'
{
  "properties": {
    "automaticRepairsPolicy": {
            "enabled": "false"
        }
    }
}

Opětovné povolení zásad automatických oprav pomocí požadované akce opravy

PUT or PATCH on '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2021-11-01'
{
  "properties": {
    "automaticRepairsPolicy": {
            "enabled": "true",
            "gracePeriod": "PT40M",
            "repairAction": "Reimage"
        }
    }
}

Zobrazení a aktualizace stavu služby zásad automatických oprav instancí

Pomocí funkce Get Instance View s rozhraním API verze 2019-12-01 nebo vyšší pro virtual machine Scale Set můžete zobrazit stav služby pro automatické opravy v rámci služby OrchestraationServices.

GET '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2019-12-01'
{
  "orchestrationServices": [
    {
      "serviceName": "AutomaticRepairs",
      "serviceState": "Running"
    }
  ]
}

Pomocí funkce Nastavit stav služby Orchestraation můžete pozastavit nebo obnovit stav služby pro automatické opravy.

POST '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2023-07-01'

{
  "serviceName": "AutomaticRepairs",
  "action": "Suspend"
}

Odstraňování potíží

Nepovedlo se povolit zásady automatických oprav

Pokud se zobrazí chyba BadRequest se zprávou "Nepodařilo se najít člena automaticRepairsPolicy" u objektu typu Properties, zkontrolujte verzi rozhraní API použitou pro škálovací sadu virtuálních počítačů. Pro tuto funkci se vyžaduje rozhraní API verze 2018-10-01 nebo vyšší.

Instance se neopravy ani v případě, že je povolená zásada

Instance může být v období odkladu. Toto období je doba čekání po jakékoli změně stavu instance před provedením oprav, což pomáhá předejít jakýmkoli předčasně nebo náhodným opravám. Akce opravy by se měla provést po dokončení období odkladu pro instanci.

Zobrazení stavu aplikace pro instance škálovací sady

K zobrazení stavu aplikace můžete použít rozhraní API pro zobrazení instance pro instance ve škálovací sadě virtuálních počítačů. Pomocí Azure PowerShellu můžete použít rutinu Get-AzVmssVM s příznakem -InstanceView. Stav aplikace je k dispozici ve vlastnosti vmHealth.

Na webu Azure Portal můžete zobrazit také stav. Přejděte do existující škálovací sady, v nabídce vlevo vyberte Instance a podívejte se na sloupec Stav pro stav jednotlivých instancí škálovací sady.

Další kroky

Zjistěte, jak pro škálovací sady nakonfigurovat rozšíření služby Application Health nebo sondy stavu nástroje pro vyrovnávání zatížení.