Parametry upgradu aplikace

Tento článek popisuje různé parametry, které platí při upgradu aplikace Azure Service Fabric. Parametry upgradu aplikace řídí časové limity a kontroly stavu, které se použijí během upgradu, a určují zásady, které se musí použít při selhání upgradu. Parametry aplikace se vztahují na upgrady s využitím:

  • PowerShell
  • Visual Studio
  • SFCTL
  • REST

Upgrady aplikací se iniciují prostřednictvím jednoho ze tří uživatelsky vybraných režimů upgradu. Každý režim má vlastní sadu parametrů aplikace:

  • Sledovat
  • Automaticky nemonitorováno
  • Nemonitorovaný ruční

Příslušné požadované a volitelné parametry jsou popsány v každé části následujícím způsobem.

Parametry sady Visual Studio a PowerShellu

Při upgradu aplikací Service Fabric pomocí PowerShellu se používá příkaz Start-ServiceFabricApplicationUpgrade . Režim upgradu se vybere předáním parametru Monitorované, UnmonitoredAuto nebo UnmonitoredManual do rutiny Start-ServiceFabricApplicationUpgrade.

Parametry upgradu aplikace Service Fabric sady Visual Studio se nastavují prostřednictvím dialogového okna Nastavení upgradu sady Visual Studio. Režim upgradu sady Visual Studio se vybere pomocí rozevíracího seznamu Režim upgradu na Monitorované, NemonitorovanéAuto nebo NemonitorovanéManual. Další informace najdete v tématu Konfigurace upgradu aplikace Service Fabric v sadě Visual Studio.

Požadované parametry

Parametr Platí pro Popis
ApplicationName PowerShell Název upgradované aplikace. Příklady: fabric:/VisualObjects, fabric:/ClusterMonitor.
ApplicationTypeVersion PowerShell Verze typu aplikace, na kterou upgrade cílí.
FailureAction PowerShell, Visual Studio Povolené hodnoty jsou Vrácení zpět, Ruční a Neplatné. Kompenzační akce, která se má provést, když monitorovaný upgrade narazí na porušení zásad monitorování nebo zásad stavu.
Vrácení zpět určuje, že se upgrade automaticky vrátí na verzi před upgradem.
Ruční indikuje, že upgrade se přepne do režimu nemonitorovanéhomanuálního upgradu.
Neplatná znamená, že akce selhání je neplatná.
Sledovat PowerShell Označuje, že se monitoruje režim upgradu. Pokud po dokončení upgradu domény pro upgrade rutiny stav upgradové domény a clusteru splňují vámi definované zásady stavu, Service Fabric upgraduje další upgradovanou doménu. Pokud upgradovaná doména nebo cluster nesplňuje zásady stavu, upgrade se nezdaří a Service Fabric vrátí upgrade pro doménu upgradu nebo se vrátí do ručního režimu podle zadaných zásad. Toto je doporučený režim pro upgrady aplikací v produkčním prostředí.
UpgradeMode Visual Studio Povolené hodnoty jsou Monitorované (výchozí), UnmonitoredAuto nebo UnmonitoredManual. Podrobnosti najdete v tématu Parametry PowerShellu pro jednotlivé režimy v tomto článku.
UnmonitoredAuto PowerShell Označuje, že režim upgradu není sledován automaticky. Jakmile Service Fabric upgraduje upgradovanou doménu, Service Fabric upgraduje další upgradovanou doménu bez ohledu na stav aplikace. Tento režim se nedoporučuje pro produkční prostředí a je užitečný pouze při vývoji aplikace.
NemonitorovanýManual PowerShell Označuje, že režim upgradu není sledován ručně. Jakmile Service Fabric upgraduje upgradovanou doménu, počká na další upgradovanou doménu pomocí rutiny Resume-ServiceFabricApplicationUpgrade .

Volitelné parametry

Parametry vyhodnocení stavu jsou volitelné. Pokud při spuštění upgradu nejsou zadána kritéria vyhodnocení stavu, Service Fabric použije zásady stavu aplikací zadané v ApplicationManifest.xml instance aplikace.

Parametr Platí pro Popis
ApplicationParameter PowerShell, Visual Studio Určuje přepsání parametrů aplikace.
Parametry aplikace PowerShellu se zadají jako páry název/hodnota hashovací tabulky. Například @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Parametry aplikace sady Visual Studio je možné zadat v dialogovém okně Publikovat aplikaci Service Fabric v poli Soubor parametrů aplikace .
Confirm PowerShell Povolené hodnoty jsou True a False. Před spuštěním rutiny zobrazí výzvu k potvrzení.
Zvažte chybuWarningAsError PowerShell, Visual Studio Povolené hodnoty jsou True a False. Výchozí hodnota je False. Při vyhodnocování stavu aplikace během upgradu považovat události stavu upozornění aplikace za chyby. Ve výchozím nastavení Service Fabric nevyhodnocuje události stavu upozornění jako selhání (chyby), takže upgrade může pokračovat i v případě, že dojde k událostem upozornění.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Určuje zásadu stavu pro výchozí typ služby, která se má použít pro monitorovaný upgrade ve formátu MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Například hodnota 5,10,15 označuje následující hodnoty: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Force PowerShell, Visual Studio Povolené hodnoty jsou True a False. Označuje, že proces upgradu přeskočí zprávu upozornění a vynutí upgrade i v případě, že se číslo verze nezměnilo. To je užitečné pro místní testování, ale nedoporučuje se používat v produkčním prostředí, protože vyžaduje odebrání stávajícího nasazení, což způsobuje výpadky a potenciální ztrátu dat.
ForceRestart PowerShell, Visual Studio Pokud aktualizujete konfiguraci nebo datový balíček bez aktualizace kódu služby, služba se restartuje pouze v případě, že je vlastnost ForceRestart nastavená na hodnotu True. Po dokončení aktualizace Service Fabric službu upozorní, že je k dispozici nový konfigurační balíček nebo datový balíček. Za použití změn zodpovídá služba. V případě potřeby se služba může restartovat sama.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio Doba trvání (v sekundách), po kterou Service Fabric bude dál vyhodnocovat stav před deklarováním upgradu jako neúspěšného. Výchozí hodnota je 600 sekund. Tato doba trvání začíná po dosažení hodnoty HealthCheckWaitDurationSec . V rámci tohoto HealthCheckRetryTimeout může Service Fabric provádět několik kontrol stavu aplikace. Výchozí hodnota je 10 minut a měla by být přizpůsobena odpovídajícím způsobem pro vaši aplikaci.
HealthCheckStableDurationSec PowerShell, Visual Studio Doba trvání (v sekundách) ověření, že je aplikace stabilní před přechodem na další doménu upgradu nebo dokončením upgradu. Tato doba čekání se používá k zabránění nezjištěným změnám stavu hned po provedení kontroly stavu. Výchozí hodnota je 120 sekund a měla by být přizpůsobena odpovídajícím způsobem pro vaši aplikaci.
HealthCheckWaitDurationSec PowerShell, Visual Studio Doba čekání (v sekundách) po dokončení upgradu na upgradovanou doménu, než Service Fabric vyhodnotí stav aplikace. Tato doba trvání může být také považována za dobu, po které by měla být aplikace spuštěna, než bude považována za v pořádku. Pokud kontrola stavu projde, proces upgradu pokračuje do další upgradové domény. Pokud kontrola stavu selže, Service Fabric počká na UpgradeHealthCheckInterval a pak znovu zkusí kontrolu stavu, dokud se nedosáhne hodnoty HealthCheckRetryTimeoutSec . Výchozí a doporučená hodnota je 0 sekund.
MaxPercentUnhealthyDeployedApplications PowerShell, Visual Studio Výchozí a doporučená hodnota je 0. Zadejte maximální počet nasazených aplikací (viz část Stav), které můžou být v pořádku předtím, než se aplikace považuje za v pořádku a upgrade se nezdaří. Tento parametr definuje stav aplikace v uzlu a pomáhá zjišťovat problémy během upgradu. Repliky aplikace obvykle získávají vyrovnávání zatížení do druhého uzlu, což umožňuje, aby aplikace vypadala jako v pořádku, což umožňuje pokračovat v upgradu. Zadáním striktního stavu MaxPercentUnhealthyDeployedApplications může Service Fabric rychle zjistit problém s balíčkem aplikace a pomoct s rychlým upgradem.
MaxPercentUnhealthyServices PowerShell, Visual Studio Parametr pro DefaultServiceTypeHealthPolicy a ServiceTypeHealthPolicyMap. Výchozí a doporučená hodnota je 0. Zadejte maximální počet služeb v instanci aplikace, které můžou být v pořádku, než se aplikace považuje za špatnou a upgrade se nezdaří.
MaxPercentUnhealthyPartitionsPerService PowerShell, Visual Studio Parametr pro DefaultServiceTypeHealthPolicy a ServiceTypeHealthPolicyMap. Výchozí a doporučená hodnota je 0. Zadejte maximální počet oddílů ve službě, které mohou být v pořádku, než bude služba považována za špatnou.
MaxPercentUnhealthyReplicasPerPartition PowerShell, Visual Studio Parametr pro DefaultServiceTypeHealthPolicy a ServiceTypeHealthPolicyMap. Výchozí a doporučená hodnota je 0. Zadejte maximální počet replik v oddílu, které můžou být v pořádku, než bude oddíl považován za oddíl, který není v pořádku.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Představuje zásady stavu používané k vyhodnocení stavu služeb patřících do typu služby. Přebírá vstup tabulky hash v následujícím formátu: @ {"ServiceTypeName": "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Příklad: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
TimeoutSec PowerShell , Visual Studio Určuje časový limit operace v sekundách.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Maximální doba (v sekundách) pro upgrade jedné upgradové domény Pokud dojde k dosažení tohoto časového limitu, upgrade se zastaví a pokračuje na základě nastavení pro FailureAction. Výchozí hodnota je nikdy (nekonečná) a měla by být přizpůsobena odpovídajícím způsobem pro vaši aplikaci.
UpgradeReplicaSetCheckTimeoutSec PowerShell, Visual Studio Měřeno v sekundách.
Bezstavová služba – v rámci jedné upgradované domény se Service Fabric snaží zajistit, aby byly k dispozici další instance služby. Pokud je počet cílových instancí větší než jeden, Service Fabric počká, až bude k dispozici více než jedna instance, a to až do maximální hodnoty časového limitu. Tento časový limit je určen pomocí vlastnosti UpgradeReplicaSetCheckTimeoutSec . Pokud časový limit vyprší, Service Fabric bude pokračovat v upgradu bez ohledu na počet instancí služby. Pokud je počet cílových instancí jeden, Service Fabric nečeká a okamžitě pokračuje v upgradu.

Stavová služba – v rámci domény s jedním upgradem se Service Fabric snaží zajistit, aby sada replik má kvorum. Service Fabric čeká na dostupnost kvora až do maximální hodnoty časového limitu (určenou vlastností UpgradeReplicaSetCheckTimeoutSec ). Pokud časový limit vyprší, Service Fabric bude pokračovat v upgradu bez ohledu na kvorum. Toto nastavení je nastaveno jako nikdy (nekonečné) při posouvání dopředu a 1200 sekund při vrácení zpět.
UpgradeTimeoutSec PowerShell, Visual Studio Časový limit (v sekundách), který platí pro celý upgrade. Pokud dojde k dosažení tohoto časového limitu, upgrade se zastaví a aktivuje se akce FailureAction . Výchozí hodnota je nikdy (nekonečná) a měla by být přizpůsobena odpovídajícím způsobem pro vaši aplikaci.
WhatIf PowerShell Povolené hodnoty jsou True a False. Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Pro instanci aplikace lze zadat kritéria MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService a MaxPercentUnhealthyReplicasPerPartition . Nastavení těchto parametrů pro jednotlivé služby umožňuje, aby aplikace obsahovala různé typy služeb s různými zásadami vyhodnocení. Například typ služby bezstavové brány může mít hodnotu MaxPercentUnhealthyPartitionsPerService , která se liší od typu služby stavového modulu pro konkrétní instanci aplikace.

Parametry SFCTL

Při upgradech aplikací Service Fabric pomocí rozhraní příkazového řádku Service Fabric se používá příkaz sfctl pro upgrade aplikace spolu s následujícími povinnými a volitelnými parametry.

Požadované parametry

Parametr Popis
id aplikace ID upgradované aplikace.
Obvykle se jedná o úplný název aplikace bez schématu identifikátoru URI fabric:. Od verze 6.0 jsou hierarchické názvy oddělené znakem ~. Pokud je například název aplikace fabric:/myapp/app1, bude identita aplikace ve verzi 6.0 nebo novější myapp/app1 a v předchozích verzích myapp/app1.
verze aplikace Verze typu aplikace, na kterou upgrade cílí.
parameters Seznam přepsání parametrů aplikace zakódovaný ve formátu JSON, který se má použít při upgradu aplikace.

Volitelné parametry

Parametr Popis
default-service-health-policy Specifikace zásad stavu zakódovaná ve formátu JSON, která se ve výchozím nastavení používá k vyhodnocení stavu typu služby. Mapa je ve výchozím nastavení prázdná.
akce selhání Povolené hodnoty jsou Vrácení zpět, Ruční a Neplatné. Kompenzační akce, která se má provést, když monitorovaný upgrade narazí na porušení zásad monitorování nebo zásad stavu.
Vrácení zpět určuje, že se upgrade automaticky vrátí na verzi před upgradem.
Ruční indikuje, že upgrade se přepne do režimu nemonitorovanéhomanuálního upgradu.
Neplatná znamená, že akce selhání je neplatná.
vynucené restartování Pokud aktualizujete konfiguraci nebo datový balíček bez aktualizace kódu služby, služba se restartuje pouze v případě, že je vlastnost ForceRestart nastavená na hodnotu True. Po dokončení aktualizace Service Fabric oznámí službě, že je k dispozici nový konfigurační balíček nebo balíček dat. Služba zodpovídá za použití změn. V případě potřeby se služba může restartovat sama.
kontrola stavu – vypršení časového limitu opakování Doba potřebná k opakování vyhodnocení stavu, kdy aplikace nebo cluster nejsou v pořádku, před spuštěním Akce selhání . Nejprve se interpretuje jako řetězec představující dobu trvání ISO 8601. Pokud se to nezdaří, pak se interpretuje jako číslo představující celkový počet milisekund. Výchozí hodnota: PT0H10M0S.
kontrola stavu – stabilní doba trvání Doba, po kterou musí aplikace nebo cluster zůstat v pořádku, než upgrade pokračuje na další upgradovanou doménu. Nejprve se interpretuje jako řetězec představující dobu trvání ISO 8601. Pokud se to nezdaří, pak se interpretuje jako číslo představující celkový počet milisekund. Výchozí hodnota: PT0H2M0S.
kontrola stavu a doba čekání Doba čekání po dokončení upgradovací domény před použitím zásad stavu. Nejprve se interpretuje jako řetězec představující dobu trvání ISO 8601. Pokud se to nezdaří, pak se interpretuje jako číslo představující celkový počet milisekund. Výchozí hodnota: 0.
maximum aplikací, které nejsou v pořádku Výchozí a doporučená hodnota je 0. Zadejte maximální počet nasazených aplikací (viz část Stav), které můžou být v pořádku, než bude aplikace považována za aplikaci, která není v pořádku, a upgrade se nezdaří. Tento parametr definuje stav aplikace na uzlu a pomáhá zjišťovat problémy během upgradu. Obvykle repliky aplikace získávají vyrovnávání zatížení na druhém uzlu, což umožňuje, aby aplikace vypadala jako v pořádku, což umožňuje pokračovat v upgradu. Zadáním striktního stavu maximálního stavu aplikací, které nejsou v pořádku , může Service Fabric rychle zjistit problém s balíčkem aplikace a pomoct při rychlém upgradu, který selže. Reprezentováno jako číslo mezi 0 a 100.
režim Povolené hodnoty jsou Monitorované, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Výchozí hodnota je UnmonitoredAuto. Popisy těchto hodnot najdete v části Visual Studio a Požadované parametry PowerShellu.
replica-set-check-timeout Měřeno v sekundách.
Bezstavová služba – V rámci jedné upgradované domény se Service Fabric snaží zajistit dostupnost dalších instancí služby. Pokud je počet cílových instancí více než jedna, Service Fabric čeká na dostupnost více instancí, a to až do maximální hodnoty časového limitu. Tento časový limit se určuje pomocí vlastnosti replica-set-check-timeout . Pokud časový limit vyprší, Service Fabric bude pokračovat v upgradu bez ohledu na počet instancí služby. Pokud je počet cílových instancí jeden, Service Fabric nečeká a okamžitě pokračuje v upgradu.

Stavová služba – V rámci domény s jedním upgradem se Service Fabric pokusí zajistit, aby sada replik má kvorum. Service Fabric čeká na dostupnost kvora až do maximální hodnoty časového limitu (určenou vlastností replica-set-check-timeout ). Pokud časový limit vyprší, Service Fabric bude pokračovat v upgradu bez ohledu na kvorum. Toto nastavení je nastaveno jako nikdy (nekonečné) při posouvání dopředu a 1200 sekund při vrácení zpět.
service-health-policy Mapa v kódování JSON se zásadami stavu typu služby na název typu služby. Ve výchozím nastavení je mapa prázdná. Formát JSON parametru. Json pro část Value obsahuje MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService a MaxPercentUnhealthyReplicasPerPartition. Popis těchto parametrů najdete v části Volitelné parametry sady Visual Studio a PowerShellu.
timeout Určuje časový limit operace v sekundách. Výchozí hodnota: 60.
upgrade časového limitu domény Doba, po kterou musí každá doména provést upgrade, než se provede Akce selhání . Nejprve se interpretuje jako řetězec představující dobu trvání ISO 8601. Pokud se to nezdaří, pak se interpretuje jako číslo představující celkový počet milisekund. Výchozí hodnota je never (Infinite) a měla by být odpovídajícím způsobem přizpůsobena pro vaši aplikaci. Výchozí hodnota: P10675199DT02H48M05.4775807S.
vypršení časového limitu upgradu Doba, po kterou musí každá doména provést upgrade, než se provede Akce selhání . Nejprve se interpretuje jako řetězec představující dobu trvání ISO 8601. Pokud se to nezdaří, pak se interpretuje jako číslo představující celkový počet milisekund. Výchozí hodnota je never (Infinite) a měla by být odpovídajícím způsobem přizpůsobena pro vaši aplikaci. Výchozí hodnota: P10675199DT02H48M05.4775807S.
warning-as-error Povolené hodnoty jsou True a False. Výchozí hodnota je False. Lze předat jako příznak. Při vyhodnocování stavu aplikace během upgradu zacházejte s událostmi upozornění na stav aplikace jako s chybami. Service Fabric ve výchozím nastavení nevyhodnocuje události stavu upozornění jako selhání (chyby), takže upgrade může pokračovat i v případě, že dojde k upozornění.

Další kroky

Upgrade aplikace pomocí sady Visual Studio vás provede upgradem aplikace pomocí sady Visual Studio.

Upgrade aplikace pomocí PowerShellu vás provede upgradem aplikace pomocí PowerShellu.

Upgrade aplikace pomocí Service Fabric CLI v Linuxu vás provede upgradem aplikace pomocí Service Fabric CLI.

Upgrade aplikace pomocí modulu plug-in Service Fabric Eclipse

Naučte se používat serializaci dat tak, aby upgrady aplikací byly kompatibilní.

Informace o používání pokročilých funkcí při upgradu aplikace najdete v pokročilých tématech.

Při řešení běžných problémů s upgrady aplikací postupujte podle kroků v tématu Řešení potíží s upgrady aplikací.