Parametry upgradu aplikace
Tento článek popisuje různé parametry, které se použijí při upgradu aplikace Azure Service Fabric. Parametry upgradu aplikace řídí vypršení časového limitu 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 pomocí:
- PowerShell
- Visual Studio
- SFCTL
- REST
Upgrady aplikací se inicialují prostřednictvím jednoho ze tří režimů upgradu s možností výběru uživatele. Každý režim má vlastní sadu parametrů aplikace:
- Monitorovaný
- Automaticky nesledované
- Nesledovaný ruční
Příslušné povinné a volitelné parametry jsou popsány v každé části následujícím způsobem.
Parametry sady Visual Studio a PowerShellu
Upgrady aplikací Service Fabric pomocí PowerShellu používají příkaz Start-ServiceFabricApplicationUpgrade . Režim upgradu je vybrán předáním monitorovaného, nemonitorovanéhoAuto nebo nemonitorovanéhoManual parametru 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 je vybrán 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.
Povinné parametry
Parametr | Platí pro | Popis |
---|---|---|
NázevAplikace | PowerShell | Název aplikace, která se upgraduje. Příklady: fabric:/VisualObjects, fabric:/ClusterMonitor. |
ApplicationTypeVersion | PowerShell | Verze typu aplikace, na kterou cílí upgrade. |
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 zásady monitorování nebo porušení zásad stavu. Vrácení zpět určuje, že se upgrade automaticky vrátí do verze před upgradem. Ruční indikuje, že upgrade se přepne do režimu nemonitorovanéhomanuálního upgradu. Neplatná indikuje, že akce selhání je neplatná. |
Monitorovaný | PowerShell | Označuje, že je monitorovaný režim upgradu. Jakmile rutina dokončí upgrade domény upgradu, pokud stav domény upgradu a cluster splňují zásady stavu, které definujete, Service Fabric upgraduje další upgradovanou doménu. Pokud doména nebo cluster upgradu nesplňuje zásady stavu, upgrade selže a Service Fabric vrátí upgrade pro doménu upgradu zpět nebo se vrátí do ručního režimu podle zadané zásady. 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 parametrech PowerShellu pro každý režim v tomto článku. |
NemonitorovanýAuto | PowerShell | Označuje, že režim upgradu není monitorovaný automaticky. Po upgradu domény upgradu Service Fabric Service Fabric upgraduje další doménu upgradu 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ýmanuální | PowerShell | Označuje, že režim upgradu není sledován ručně. Po upgradu domény upgradu Service Fabric počká, až upgradujete další doménu upgradu pomocí rutiny Resume-ServiceFabricApplicationUpgrade . |
Volitelné parametry
Parametry vyhodnocení stavu jsou volitelné. Pokud se při spuštění upgradu nezadají kritéria vyhodnocení stavu, Service Fabric použije zásady stavu aplikace 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ázvu a hodnoty 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 se zobrazí výzva k potvrzení. |
ConsiderWarningAsError | PowerShell, Visual Studio | Povolené hodnoty jsou True a False. Výchozí hodnotou je False. Zacházejte s událostmi stavu upozornění pro aplikaci jako s chybami při vyhodnocování stavu aplikace během upgradu. 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 událostem upozornění. |
DefaultServiceTypeHealthPolicy | PowerShell, Visual Studio | Určuje zásady stavu pro výchozí typ služby, které se mají použít pro monitorovaný upgrade ve formátu MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Například 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í, které způsobuje výpadky a potenciální ztrátu dat. |
ForceRestart | PowerShell, Visual Studio | Pokud aktualizujete konfigurační nebo datový balíček bez aktualizace kódu služby, služba se restartuje pouze v případě, že je vlastnost ForceRestart nastavena na Hodnotu True. Po dokončení aktualizace Service Fabric upozorní službu, že je k dispozici nový konfigurační balíček nebo datový balíček. Služba zodpovídá za použití změn. V případě potřeby se služba může restartovat sama. |
HealthCheckRetryTimeoutSec | PowerShell, Visual Studio | Doba trvání (v sekundách), kterou Service Fabric nadále provádí vyhodnocení stavu, než deklaruje upgrade jako neúspěšný. 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 více kontrol stavu stavu aplikace. Výchozí hodnota je 10 minut a měla by se přizpůsobit odpovídajícím způsobem pro vaši aplikaci. |
HealthCheckStableDurationSec | PowerShell, Visual Studio | Doba trvání (v sekundách) k ověření, že je aplikace stabilní před přechodem na další doménu upgradu nebo dokončením upgradu. Tato doba čekání slouží k zabránění nedetekovaným změnám stavu ihned po provedení kontroly stavu. Výchozí hodnota je 120 sekund a měla by se přizpůsobit odpovídajícím způsobem pro vaši aplikaci. |
HealthCheckWaitDurationSec | PowerShell, Visual Studio | Doba čekání (v sekundách) po dokončení upgradu v doméně upgradu, než Service Fabric vyhodnotí stav aplikace. Tuto dobu trvání je také možné považovat za dobu, po které by měla aplikace běžet, než bude považována za v pořádku. Pokud kontrola stavu projde, proces upgradu přejde na další doménu upgradu. Pokud kontrola stavu selže, Service Fabric počká na UpgradeHealthCheckInterval , než se kontrola stavu znovu opakuje, 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ůže být v pořádku, než bude aplikace považována za poškozenou a upgrade selže. Tento parametr definuje stav aplikace na 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 byla v pořádku, takže upgrade může pokračovat. Zadáním striktního stavu MaxPercentUnhealthyDeployedApplications dokáže Service Fabric rychle zjistit problém s balíčkem aplikace a pomoct vytvořit rychlý upgrade, který selže. |
MaxPercentUnhealthyServices | PowerShell, Visual Studio | Parametr 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 poškozenou a upgrade selže. |
MaxPercentUnhealthyPartitionsPerService | PowerShell, Visual Studio | Parametr 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 poškozenou. |
MaxPercentUnhealthyReplicasPerPartition | PowerShell, Visual Studio | Parametr 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ž se oddíl považuje za v pořádku. |
ServiceTypeHealthPolicyMap | PowerShell, Visual Studio | Představuje zásadu stavu použitou k vyhodnocení stavu služeb patřících k typu služby. Přijímá vstup tabulky hash v následujícím formátu: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Například: @{ "ServiceTypeName01" = "5,10;5"; "ServiceTypeName02" = "5,5,5" } |
TimeoutSec | PowerShell , Visual Studio | Určuje časový limit v sekundách operace. |
UpgradeDomainTimeoutSec | PowerShell, Visual Studio | Maximální doba (v sekundách) pro upgrade domény s jedním upgradem Pokud dojde k dosažení tohoto časového limitu, upgrade se zastaví a pokračuje na základě nastavení pro FailureAction. Výchozí hodnota není 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 pokusí zajistit, aby byly k dispozici další instance služby. Pokud je počet cílových instancí více než jeden, Service Fabric čeká na dostupnost více instancí až do maximální hodnoty časového limitu. Tento časový limit je určen pomocí UpgradeReplicaSetCheckTimeoutSec vlastnost. Pokud vyprší časový limit, Service Fabric provede upgrade 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 s upgradem. Stavová služba – v rámci jedné domény upgradu se Service Fabric pokusí zajistit, aby sada replik má kvorum. Service Fabric čeká, až bude kvorum k dispozici, až maximální hodnota časového limitu (určená vlastností UpgradeReplicaSetCheckTimeoutSec ). Pokud vyprší časový limit, Service Fabric provede upgrade bez ohledu na kvorum. Toto nastavení je při posouvání vpřed nastaveno jako nikdy (nekonečné) 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 ChybaAction . Výchozí hodnota není 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. |
Kritéria MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService a MaxPercentUnhealthyReplicasPerPartition lze zadat pro jednotlivé typy služeb pro instanci aplikace. Nastavení těchto parametrů pro jednotlivé služby umožňuje aplikaci, aby obsahovala různé typy služeb s různými zásadami vyhodnocení. Například bezstavová služba brány může mít MaxPercentUnhealthyPartitionsPerService , který se liší od typu služby stavového stroje pro konkrétní instanci aplikace.
Parametry SFCTL
Upgrady aplikací Service Fabric pomocí Service Fabric CLI používají příkaz sfctl application upgrade spolu s následujícími povinnými a volitelnými parametry.
Povinné parametry
Parametr | Popis |
---|---|
ID aplikace | ID aplikace, která se upgraduje. Obvykle se jedná o úplný název aplikace bez schématu URI fabric:. Od verze 6.0 jsou hierarchické názvy oddělené znakem ~. Pokud je například název aplikace fabric:/myapp/app1, identita aplikace by byla myapp~app1 v 6.0+ a myapp/app1 v předchozích verzích. |
verze aplikace | Verze typu aplikace, na kterou cílí upgrade. |
parametry | Seznam přepsání parametrů aplikace kódovaný kódem JSON, které se použijí 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 zásady monitorování nebo porušení zásad stavu. Vrácení zpět určuje, že se upgrade automaticky vrátí do verze před upgradem. Ruční indikuje, že upgrade se přepne do režimu nemonitorovanéhomanuálního upgradu. Neplatná indikuje, že akce selhání je neplatná. |
vynucené restartování | Pokud aktualizujete konfigurační nebo datový balíček bez aktualizace kódu služby, služba se restartuje pouze v případě, že je vlastnost ForceRestart nastavena na Hodnotu True. Po dokončení aktualizace Service Fabric upozorní službu, že je k dispozici nový konfigurační balíček nebo datový balíček. Služba zodpovídá za použití změn. V případě potřeby se služba může restartovat sama. |
vypršení časového limitu kontroly stavu | Doba opakování vyhodnocení stavu, kdy aplikace nebo cluster nejsou v pořádku před spuštěním FailureAction . 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 přejde na další doménu upgradu. 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 – 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í: 0. |
maximální počet 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ůže být v pořádku, než bude aplikace považována za poškozenou a upgrade selže. Tento parametr definuje stav aplikace na 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 byla v pořádku, takže upgrade může pokračovat. Zadáním přísného stavu aplikace, který není v pořádku , dokáže Service Fabric rychle rozpoznat problém s balíčkem aplikace a pomoct vytvořit rychlý upgrade se selháním. Představuje se jako číslo v rozmezí od 0 do 100. |
režim | Povolené hodnoty jsou Monitorované, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Výchozí hodnota je UnmonitoredAuto. Popis těchto hodnot najdete v části Požadované parametry sady Visual Studio a PowerShellu. |
vypršení časového limitu sady replik-set-check-out | Měřeno v sekundách. Bezstavová služba – v rámci jedné upgradované domény se Service Fabric pokusí zajistit, aby byly k dispozici další instance služby. Pokud je počet cílových instancí více než jeden, Service Fabric čeká na dostupnost více instancí až do maximální hodnoty časového limitu. Tento časový limit je určen pomocí vlastnosti replica-set-check-timeout . Pokud vyprší časový limit, Service Fabric provede upgrade 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 s upgradem. Stavová služba – v rámci jedné domény upgradu se Service Fabric pokusí zajistit, aby sada replik má kvorum. Service Fabric čeká, až bude kvorum k dispozici, až maximální hodnota časového limitu (určená vlastností časového limitu sady replik-set-check-timeout ). Pokud vyprší časový limit, Service Fabric provede upgrade bez ohledu na kvorum. Toto nastavení je při posouvání vpřed nastaveno jako nikdy (nekonečné) a 1200 sekund při vrácení zpět. |
service-health-policy | Mapa kódovaná ve formátu JSON se zásadami stavu typu služby na název typu služby Mapa je 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 v sekundách operace. Výchozí hodnota: 60. |
upgrade -domain-timeout | Doba, po kterou se musí každá upgradovaná doména dokončit, než se provede FailureAction . 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 není nikdy (nekonečná) a měla by být přizpůsobena odpovídajícím způsobem pro vaši aplikaci. Výchozí hodnota: P10675199DT02H48M05.4775807S. |
vypršení časového limitu upgradu | Doba, po kterou se musí každá upgradovaná doména dokončit, než se provede FailureAction . 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 není nikdy (nekonečná) a měla by být přizpůsobena odpovídajícím způsobem pro vaši aplikaci. Výchozí hodnota: P10675199DT02H48M05.4775807S. |
warning-as-error | Povolené hodnoty jsou True a False. Výchozí hodnotou je False. Dá se předat jako příznak. Zacházejte s událostmi stavu upozornění pro aplikaci jako s chybami při vyhodnocování stavu aplikace během upgradu. 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 událostem 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
Díky tomu, že se naučíte používat serializaci dat, vaše aplikace upgraduje.
Informace o používání pokročilých funkcí při upgradu aplikace najdete v části Pokročilá témata.
Při řešení běžných problémů s upgrady aplikací postupujte podle kroků v tématu Řešení potíží s upgrady aplikací.