Programuppgraderingsparametrar

Den här artikeln beskriver de olika parametrar som gäller under uppgraderingen av ett Azure Service Fabric-program. Parametrarna för programuppgradering styr tidsgränserna och hälsokontrollerna som tillämpas under uppgraderingen, och de anger de principer som måste tillämpas när en uppgradering misslyckas. Programparametrar gäller för uppgraderingar med hjälp av:

  • PowerShell
  • Visual Studio
  • SFCTL
  • REST

Programuppgraderingar initieras via något av tre uppgraderingslägen som kan väljas av användaren. Varje läge har en egen uppsättning programparametrar:

  • Övervakas
  • Oövervakad automatisk
  • Obevakad manuell

Tillämpliga obligatoriska och valfria parametrar beskrivs i varje avsnitt på följande sätt.

Visual Studio- och PowerShell-parametrar

Service Fabric-programuppgraderingar med PowerShell använder kommandot Start-ServiceFabricApplicationUpgrade . Uppgraderingsläget väljs genom att antingen parametern Monitored, UnmonitoredAuto eller UnmonitoredManual skickas till Start-ServiceFabricApplicationUpgrade.

Uppgraderingsparametrar för Visual Studio Service Fabric-program anges via dialogrutan Uppgraderingsinställningar för Visual Studio. Visual Studio-uppgraderingsläget väljs med hjälp av listrutan Uppgraderingsläge till antingen Övervakad, OövervakadAuto eller OövervakadManual. Mer information finns i Konfigurera uppgraderingen av ett Service Fabric-program i Visual Studio.

Obligatoriska parametrar

Parameter Gäller för Beskrivning
ApplicationName PowerShell Namnet på programmet som uppgraderas. Exempel: fabric:/VisualObjects, fabric:/ClusterMonitor.
ApplicationTypeVersion PowerShell Den version av programtypen som uppgraderingen riktar sig mot.
FailureAction PowerShell, Visual Studio Tillåtna värden är Återställning, Manuell och Ogiltig. Den kompenserande åtgärd som ska utföras när en övervakad uppgradering påträffar överträdelser av övervakningsprinciper eller hälsoprinciper.
Återställning anger att uppgraderingen automatiskt återställs till föruppgraderingsversionen.
Manuellt anger att uppgraderingen växlar till läget UnmonitoredManual Upgrade.
Ogiltig anger att felåtgärden är ogiltig.
Övervakas PowerShell Anger att uppgraderingsläget övervakas. När cmdleten har slutfört en uppgradering för en uppgraderingsdomän uppgraderar Service Fabric nästa uppgraderingsdomän om uppgraderingsdomänens och klustrets hälsotillstånd uppfyller de hälsoprinciper som du definierar. Om uppgraderingsdomänen eller klustret inte uppfyller hälsoprinciperna misslyckas uppgraderingen och Service Fabric återställer uppgraderingen för uppgraderingsdomänen eller återgår till manuellt läge enligt den angivna principen. Det här är det rekommenderade läget för programuppgraderingar i en produktionsmiljö.
UpgradeMode Visual Studio Tillåtna värden är Övervakas (standard), UnmonitoredAuto eller UnmonitoredManual. Mer information finns i PowerShell-parametrar för varje läge i den här artikeln.
OövervakadAuto PowerShell Anger att uppgraderingsläget är oövervakat automatiskt. När Service Fabric har uppgraderat en uppgraderingsdomän uppgraderar Service Fabric nästa uppgraderingsdomän oavsett programmets hälsotillstånd. Det här läget rekommenderas inte för produktion och är endast användbart under utvecklingen av ett program.
UnmonitoredManual PowerShell Anger att uppgraderingsläget är oövervakat manuellt. När Service Fabric har uppgraderat en uppgraderingsdomän väntar den på att du ska uppgradera nästa uppgraderingsdomän med hjälp av cmdleten Resume-ServiceFabricApplicationUpgrade .

Valfria parametrar

Parametrarna för hälsoutvärdering är valfria. Om kriterierna för hälsoutvärdering inte anges när en uppgradering startar använder Service Fabric de principer för programhälsa som anges i ApplicationManifest.xml för programinstansen.

Parameter Gäller för Beskrivning
ApplicationParameter PowerShell, Visual Studio Anger åsidosättningar för programparametrar.
PowerShell-programparametrar anges som hashtabellnamn/värdepar. Till exempel @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Visual Studio-programparametrar kan anges i dialogrutan Publicera Service Fabric-program i fältet Programparametrar.
Bekräfta PowerShell Tillåtna värden är True och False. Uppmanar till bekräftelse innan du kör cmdleten.
ConsiderWarningAsError PowerShell, Visual Studio Tillåtna värden är True och False. Standardvärdet är False. Behandla varningshälsohändelserna för programmet som fel vid utvärdering av programmets hälsotillstånd under uppgraderingen. Som standard utvärderar Service Fabric inte varningshälsohändelser som fel, så uppgraderingen kan fortsätta även om det finns varningshändelser.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Anger hälsoprincipen för standardtjänsttypen som ska användas för den övervakade uppgraderingen i formatet MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Till exempel anger 5,10,15 följande värden: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Force PowerShell, Visual Studio Tillåtna värden är True och False. Anger att uppgraderingsprocessen hoppar över varningsmeddelandet och tvingar uppgraderingen även när versionsnumret inte har ändrats. Detta är användbart för lokal testning men rekommenderas inte för användning i en produktionsmiljö eftersom det kräver att du tar bort den befintliga distributionen som orsakar driftstopp och potentiell dataförlust.
ForceRestart PowerShell, Visual Studio Om du uppdaterar en konfiguration eller ett datapaket utan att uppdatera tjänstkoden startas tjänsten bara om egenskapen ForceRestart är inställd på True. När uppdateringen är klar meddelar Service Fabric tjänsten att ett nytt konfigurationspaket eller datapaket är tillgängligt. Tjänsten ansvarar för att tillämpa ändringarna. Om det behövs kan tjänsten starta om sig själv.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio Varaktigheten (i sekunder) som Service Fabric fortsätter att utföra hälsoutvärderingen innan uppgraderingen deklareras som misslyckad. Standardvärdet är 600 sekunder. Den här varaktigheten startar när HealthCheckWaitDurationSec har nåtts. I denna HealthCheckRetryTimeout kan Service Fabric utföra flera hälsokontroller av programmets hälsa. Standardvärdet är 10 minuter och bör anpassas på lämpligt sätt för ditt program.
HealthCheckStableDurationSec PowerShell, Visual Studio Varaktigheten (i sekunder) för att verifiera att programmet är stabilt innan du flyttar till nästa uppgraderingsdomän eller slutför uppgraderingen. Den här väntetiden används för att förhindra oupptäckta hälsoändringar direkt efter att hälsokontrollen har utförts. Standardvärdet är 120 sekunder och bör anpassas på lämpligt sätt för ditt program.
HealthCheckWaitDurationSec PowerShell, Visual Studio Tiden att vänta (i sekunder) när uppgraderingen har slutförts på uppgraderingsdomänen innan Service Fabric utvärderar programmets hälsotillstånd. Den här varaktigheten kan också betraktas som den tid då ett program ska köras innan det kan anses vara felfritt. Om hälsokontrollen godkänns fortsätter uppgraderingsprocessen till nästa uppgraderingsdomän. Om hälsokontrollen misslyckas väntar Service Fabric på UpgradeHealthCheckInterval innan hälsokontrollen görs igen tills HealthCheckRetryTimeoutSec har nåtts. Standardvärdet och det rekommenderade värdet är 0 sekunder.
MaxPercentUnhealthyDeployedApplications PowerShell, Visual Studio Standardvärdet och det rekommenderade värdet är 0. Ange det maximala antalet distribuerade program (se avsnittet Hälsa) som kan vara felaktiga innan programmet anses vara felfritt och misslyckas med uppgraderingen. Den här parametern definierar programhälsan på noden och hjälper till att identifiera problem under uppgraderingen. Normalt lastbalanseras programreplikerna till den andra noden, vilket gör att programmet kan se felfritt ut, vilket gör att uppgraderingen kan fortsätta. Genom att ange en strikt MaxPercentUnhealthyDeployedApplications-hälsa kan Service Fabric snabbt identifiera ett problem med programpaketet och hjälpa till att skapa en snabb uppgradering som misslyckas.
MaxPercentUnhealthyServices PowerShell, Visual Studio En parameter till DefaultServiceTypeHealthPolicy och ServiceTypeHealthPolicyMap. Standardvärdet och det rekommenderade värdet är 0. Ange det maximala antalet tjänster i programinstansen som kan vara felaktiga innan programmet anses vara felfritt och misslyckas med uppgraderingen.
MaxPercentUnhealthyPartitionsPerService PowerShell, Visual Studio En parameter till DefaultServiceTypeHealthPolicy och ServiceTypeHealthPolicyMap. Standardvärdet och det rekommenderade värdet är 0. Ange det maximala antalet partitioner i en tjänst som kan vara skadad innan tjänsten anses vara felaktig.
MaxPercentUnhealthyReplicasPerPartition PowerShell, Visual Studio En parameter till DefaultServiceTypeHealthPolicy och ServiceTypeHealthPolicyMap. Standardvärdet och det rekommenderade värdet är 0. Ange det maximala antalet repliker i partitionen som kan vara felaktiga innan partitionen anses vara felaktig.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Representerar den hälsoprincip som används för att utvärdera hälsotillståndet för tjänster som hör till en tjänsttyp. Tar en hash-tabell i följande format: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Till exempel: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
TimeoutSec PowerShell , Visual Studio Anger tidsgränsen i sekunder för åtgärden.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Maximal tid (i sekunder) för uppgradering av en enda uppgraderingsdomän. Om tidsgränsen nås stoppas uppgraderingen och fortsätter baserat på inställningen för FailureAction. Standardvärdet är aldrig (Oändligt) och bör anpassas på lämpligt sätt för ditt program.
UpgradeReplicaSetCheckTimeoutSec PowerShell, Visual Studio Mätt i sekunder.
Tillståndslös tjänst – I en enda uppgraderingsdomän försöker Service Fabric se till att ytterligare instanser av tjänsten är tillgängliga. Om antalet målinstanser är fler än en väntar Service Fabric på att fler än en instans ska vara tillgänglig, upp till ett högsta timeout-värde. Den här tidsgränsen anges med egenskapen UpgradeReplicaSetCheckTimeoutSec . Om tidsgränsen går ut fortsätter Service Fabric med uppgraderingen, oavsett antalet tjänstinstanser. Om antalet målinstanser är ett väntar inte Service Fabric och fortsätter omedelbart med uppgraderingen.

Tillståndskänslig tjänst – I en enda uppgraderingsdomän försöker Service Fabric se till att replikuppsättningen har ett kvorum. Service Fabric väntar på att ett kvorum ska vara tillgängligt, upp till ett högsta tidsgränsvärde (anges av egenskapen UpgradeReplicaSetCheckTimeoutSec ). Om tidsgränsen går ut fortsätter Service Fabric med uppgraderingen, oavsett kvorum. Den här inställningen anges som aldrig (oändlig) när du rullar framåt och 1200 sekunder när du återställer.
UpgradeTimeoutSec PowerShell, Visual Studio En tidsgräns (i sekunder) som gäller för hela uppgraderingen. Om tidsgränsen nås stoppas uppgraderingen och FailureAction utlöses. Standardvärdet är aldrig (Oändligt) och bör anpassas på lämpligt sätt för ditt program.
WhatIf PowerShell Tillåtna värden är True och False. Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Kriterierna MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService och MaxPercentUnhealthyReplicasPerPartition kan anges per tjänsttyp för en programinstans. Om du anger dessa parametrar per tjänst kan ett program innehålla olika tjänsttyper med olika utvärderingsprinciper. En tillståndslös gatewaytjänsttyp kan till exempel ha en MaxPercentUnhealthyPartitionsPerService som skiljer sig från en tillståndskänslig motortjänsttyp för en viss programinstans.

SFCTL-parametrar

Service Fabric-programuppgraderingar med Service Fabric CLI använder kommandot sfctl application upgrade tillsammans med följande obligatoriska och valfria parametrar.

Obligatoriska parametrar

Parameter Beskrivning
program-ID ID för det program som uppgraderas.
Detta är vanligtvis det fullständiga namnet på programmet utan URI-schemat "fabric:". Från och med version 6.0 avgränsas hierarkiska namn med tecknet ~. Om programnamnet till exempel är "fabric:/myapp/app1" skulle programidentiteten vara "myapp~app1" i 6.0+ och "myapp/app1" i tidigare versioner.
programversion Den version av programtypen som uppgraderingen riktar sig mot.
parametrar En JSON-kodad lista över åsidosättningar av programparametrar som ska tillämpas vid uppgradering av programmet.

Valfria parametrar

Parameter Beskrivning
default-service-health-policy JSON-kodad specifikation för hälsoprincipen som används som standard för att utvärdera hälsotillståndet för en tjänsttyp. Kartan är tom som standard.
failure-action Tillåtna värden är Återställning, Manuell och Ogiltig. Den kompenserande åtgärd som ska utföras när en övervakad uppgradering påträffar överträdelser av övervakningsprinciper eller hälsoprinciper.
Återställning anger att uppgraderingen automatiskt återställs till föruppgraderingsversionen.
Manuellt anger att uppgraderingen växlar till läget UnmonitoredManual Upgrade.
Ogiltig anger att felåtgärden är ogiltig.
force-restart Om du uppdaterar en konfiguration eller ett datapaket utan att uppdatera tjänstkoden startas tjänsten bara om egenskapen ForceRestart är inställd på Sant. När uppdateringen är klar meddelar Service Fabric tjänsten om att ett nytt konfigurationspaket eller datapaket är tillgängligt. Tjänsten ansvarar för att tillämpa ändringarna. Om det behövs kan tjänsten starta om sig själv.
health-check-retry-timeout Hur lång tid det tar att försöka utvärdera hälsotillståndet igen när programmet eller klustret är felfritt innan FailureAction körs. Den tolkas först som en sträng som representerar en ISO 8601-varaktighet. Om det misslyckas tolkas det som ett tal som representerar det totala antalet millisekunder. Standard: PT0H10M0S.
health-check-stable-duration Hur lång tid programmet eller klustret måste vara felfria innan uppgraderingen fortsätter till nästa uppgraderingsdomän. Den tolkas först som en sträng som representerar en ISO 8601-varaktighet. Om det misslyckas tolkas det som ett tal som representerar det totala antalet millisekunder. Standard: PT0H2M0S.
health-check-wait-duration Hur lång tid du ska vänta efter att du har slutfört en uppgraderingsdomän innan du tillämpar hälsoprinciper. Den tolkas först som en sträng som representerar en ISO 8601-varaktighet. Om det misslyckas tolkas det som ett tal som representerar det totala antalet millisekunder. Standard: 0.
max-unhealthy-apps Standardvärde och rekommenderat värde är 0. Ange det maximala antalet distribuerade program (se avsnittet Hälsa) som kan vara felfritt innan programmet anses vara felfritt och misslyckas med uppgraderingen. Den här parametern definierar programhälsan på noden och hjälper till att identifiera problem under uppgraderingen. Normalt lastbalanseras programreplikerna till den andra noden, vilket gör att programmet kan se felfritt ut, vilket gör att uppgraderingen kan fortsätta. Genom att ange en strikt hälsotillstånd för max-unhealthy-apps kan Service Fabric snabbt identifiera ett problem med programpaketet och hjälpa till att skapa en snabb uppgradering som misslyckas. Representeras som ett tal mellan 0 och 100.
mode Tillåtna värden är Övervakad, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Standardvärdet är UnmonitoredAuto. Se avsnittet Obligatoriska parametrar för Visual Studio och PowerShell för beskrivningar av dessa värden.
replica-set-check-timeout Mätt i sekunder.
Tillståndslös tjänst – I en enda uppgraderingsdomän försöker Service Fabric se till att ytterligare instanser av tjänsten är tillgängliga. Om antalet målinstanser är fler än en väntar Service Fabric på att fler än en instans ska vara tillgänglig, upp till ett maximalt timeout-värde. Den här tidsgränsen anges med hjälp av egenskapen replica-set-check-timeout . Om tidsgränsen går ut fortsätter Service Fabric med uppgraderingen, oavsett antalet tjänstinstanser. Om antalet målinstanser är ett väntar inte Service Fabric och fortsätter omedelbart med uppgraderingen.

Tillståndskänslig tjänst – I en enda uppgraderingsdomän försöker Service Fabric se till att replikuppsättningen har ett kvorum. Service Fabric väntar på att ett kvorum ska vara tillgängligt, upp till ett maximalt timeout-värde (anges av egenskapen replica-set-check-checkout ). Om tidsgränsen går ut fortsätter Service Fabric med uppgraderingen, oavsett kvorum. Den här inställningen anges som aldrig (oändlig) när du rullar framåt och 1200 sekunder när du rullar tillbaka.
service-health-policy JSON-kodad karta med hälsoprincip för tjänsttyp per namn på tjänsttyp. Kartan är tom som standard. Parameter-JSON-format.. JSON för "Value"-delen innehåller MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService och MaxPercentUnhealthyReplicasPerPartition. Se avsnittet Valfria parametrar i Visual Studio och PowerShell för beskrivningar av dessa parametrar.
timeout Anger tidsgränsen i sekunder för åtgärden. Standard: 60.
upgrade-domain-timeout Hur lång tid varje uppgraderingsdomän måste slutföras innan FailureAction körs. Den tolkas först som en sträng som representerar en ISO 8601-varaktighet. Om det misslyckas tolkas det som ett tal som representerar det totala antalet millisekunder. Standardvärdet är aldrig (Oändligt) och bör anpassas på lämpligt sätt för ditt program. Standard: P10675199DT02H48M05.4775807S.
uppgraderingstimeout Hur lång tid varje uppgraderingsdomän måste slutföras innan FailureAction körs. Den tolkas först som en sträng som representerar en ISO 8601-varaktighet. Om det misslyckas tolkas det som ett tal som representerar det totala antalet millisekunder. Standardvärdet är aldrig (Oändligt) och bör anpassas på lämpligt sätt för ditt program. Standard: P10675199DT02H48M05.4775807S.
varning som fel Tillåtna värden är True och False. Standardvärdet är Falskt. Kan skickas som en flagga. Behandla varningsstatushändelserna för programmet som fel när du utvärderar programmets hälsotillstånd under uppgraderingen. Som standard utvärderar Inte Service Fabric varningshälsohändelser som fel (fel), så uppgraderingen kan fortsätta även om det finns varningshändelser.

Nästa steg

När du uppgraderar ditt program med Visual Studio går vi igenom en programuppgradering med Hjälp av Visual Studio.

När du uppgraderar ditt program med PowerShell får du hjälp med en programuppgradering med Hjälp av PowerShell.

När du uppgraderar ditt program med Service Fabric CLI i Linux går du igenom en programuppgradering med Hjälp av Service Fabric CLI.

Uppgradera ditt program med hjälp av Service Fabric Eclipse-plugin-programmet

Gör dina programuppgraderingar kompatibla genom att lära dig hur du använder dataseriellisering.

Lär dig hur du använder avancerade funktioner när du uppgraderar ditt program med hjälp av Avancerade ämnen.

Åtgärda vanliga problem i programuppgraderingar med hjälp av stegen i Felsöka programuppgraderingar.