Parameters toepassingsupgrade

In dit artikel worden de verschillende parameters beschreven die van toepassing zijn tijdens de upgrade van een Azure Service Fabric-toepassing. Parameters voor toepassingsupgrade bepalen de time-outs en statuscontroles die worden toegepast tijdens de upgrade, en ze specificeren het beleid dat moet worden toegepast wanneer een upgrade mislukt. Toepassingsparameters zijn van toepassing op upgrades met behulp van:

  • PowerShell
  • Visual Studio
  • SFCTL
  • REST

Toepassingsupgrades worden gestart via een van de drie door de gebruiker te selecteren upgrademodi. Elke modus heeft een eigen set toepassingsparameters:

  • Gecontroleerd
  • Niet-bewaakte auto
  • Niet-bewaakte handleiding

De toepasselijke vereiste en optionele parameters worden in elke sectie als volgt beschreven.

Visual Studio- en PowerShell-parameters

Service Fabric-toepassingsupgrade met PowerShell maakt gebruik van de opdracht Start-ServiceFabricApplicationUpgrade . De upgrademodus wordt geselecteerd door de parameter Monitored, UnmonitoredAuto of UnmonitoredManual door te geven aan Start-ServiceFabricApplicationUpgrade.

Upgradeparameters voor Visual Studio Service Fabric-toepassingen worden ingesteld via het dialoogvenster Upgrade-instellingen voor Visual Studio. De Visual Studio-upgrademodus is geselecteerd met behulp van de vervolgkeuzelijst Upgrademodus op Monitor, UnmonitoredAuto of UnmonitoredManual. Zie De upgrade van een Service Fabric-toepassing configureren in Visual Studio voor meer informatie.

Vereiste parameters

Parameter Van toepassing op Description
ApplicationName PowerShell Naam van de toepassing die wordt bijgewerkt. Voorbeelden: fabric:/VisualObjects, fabric:/ClusterMonitor.
ApplicationTypeVersion PowerShell De versie van het toepassingstype waarop de upgrade is gericht.
FailureAction PowerShell, Visual Studio Toegestane waarden zijn Terugdraaien, Handmatig en Ongeldig. De compenserende actie die moet worden uitgevoerd wanneer een bewaakte upgrade een controlebeleid of schendingen van het statusbeleid tegenkomt.
Terugdraaien geeft aan dat de upgrade automatisch wordt teruggezet naar de versie van vóór de upgrade.
Handmatig geeft aan dat de upgrade wordt overgeschakeld naar de modus UnmonitoredManual upgrade.
Ongeldig geeft aan dat de foutactie ongeldig is.
Gecontroleerd PowerShell Geeft aan dat de upgrademodus wordt bewaakt. Nadat de cmdlet een upgrade voor een upgradedomein heeft voltooid en als de status van het upgradedomein en het cluster voldoen aan het statusbeleid dat u definieert, wordt het volgende upgradedomein door Service Fabric bijgewerkt. Als het upgradedomein of cluster niet voldoet aan het statusbeleid, mislukt de upgrade en schakelt Service Fabric de upgrade voor het upgradedomein terug of keert terug naar de handmatige modus volgens het opgegeven beleid. Dit is de aanbevolen modus voor toepassingsupgrades in een productieomgeving.
UpgradeMode Visual Studio Toegestane waarden zijn Bewaakt (standaard), UnmonitoredAuto of UnmonitoredManual. Zie PowerShell-parameters voor elke modus in dit artikel voor meer informatie.
UnmonitoredAuto PowerShell Geeft aan dat de upgrademodus niet automatisch wordt bewaakt. Nadat Service Fabric een upgradedomein heeft bijgewerkt, werkt Service Fabric het volgende upgradedomein bij, ongeacht de status van de toepassing. Deze modus wordt niet aanbevolen voor productie en is alleen nuttig tijdens het ontwikkelen van een toepassing.
Niet-bewaaktManual PowerShell Geeft aan dat de upgrademodus niet handmatig wordt bewaakt. Nadat Service Fabric een upgradedomein heeft bijgewerkt, wacht het totdat u het volgende upgradedomein bijwerkt met behulp van de cmdlet Resume-ServiceFabricApplicationUpgrade .

Optionele parameters

De parameters voor de statusevaluatie zijn optioneel. Als de statusevaluatiecriteria niet worden opgegeven wanneer een upgrade wordt gestart, gebruikt Service Fabric het statusbeleid van de toepassing dat is opgegeven in de ApplicationManifest.xml van het toepassingsexemplaren.

Parameter Van toepassing op Description
ApplicationParameter PowerShell, Visual Studio Hiermee geeft u de onderdrukkingen voor toepassingsparameters.
PowerShell-toepassingsparameters worden opgegeven als hashtabelnaam/-waardeparen. Bijvoorbeeld: @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Visual Studio-toepassingsparameters kunnen worden opgegeven in het dialoogvenster Service Fabric-toepassing publiceren in het veld Toepassingsparametersbestand .
Bevestigen PowerShell Toegestane waarden zijn Waar en Onwaar. Vraagt om bevestiging voordat de cmdlet wordt uitgevoerd.
ConsiderWarningAsError PowerShell, Visual Studio Toegestane waarden zijn Waar en Onwaar. De standaardwaarde is False. Behandel de waarschuwingsstatusgebeurtenissen voor de toepassing als fouten bij het evalueren van de status van de toepassing tijdens de upgrade. Service Fabric evalueert standaard geen waarschuwingsstatusgebeurtenissen als fouten (fouten), zodat de upgrade kan worden voortgezet, zelfs als er waarschuwingsgebeurtenissen zijn.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Hiermee geeft u het statusbeleid voor het standaardservicetype te gebruiken voor de bewaakte upgrade in de indeling MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. 5,10,15 geeft bijvoorbeeld de volgende waarden aan: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Force PowerShell, Visual Studio Toegestane waarden zijn Waar en Onwaar. Geeft aan dat het upgradeproces het waarschuwingsbericht overslaat en de upgrade afding afd, zelfs wanneer het versienummer niet is gewijzigd. Dit is handig voor lokale tests, maar wordt niet aanbevolen voor gebruik in een productieomgeving, omdat hiervoor de bestaande implementatie moet worden verwijderd, wat uitvaltijd en mogelijk gegevensverlies veroorzaakt.
ForceRestart PowerShell, Visual Studio Als u een configuratie of gegevenspakket bijwerkt zonder de servicecode bij te werken, wordt de service alleen opnieuw gestart als de eigenschap ForceRestart is ingesteld op True. Wanneer de update is voltooid, meldt Service Fabric de service dat er een nieuw configuratiepakket of gegevenspakket beschikbaar is. De service is verantwoordelijk voor het toepassen van de wijzigingen. Indien nodig kan de service zichzelf opnieuw opstarten.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio De duur (in seconden) dat Service Fabric de statusevaluatie blijft uitvoeren voordat de upgrade als mislukt wordt verklaard. De standaardwaarde is 600 seconden. Deze duur begint nadat HealthCheckWaitDurationSec is bereikt. Binnen deze HealthCheckRetryTimeout kan Service Fabric meerdere statuscontroles van de toepassingsstatus uitvoeren. De standaardwaarde is 10 minuten en moet op de juiste manier worden aangepast voor uw toepassing.
HealthCheckStableDurationSec PowerShell, Visual Studio De duur (in seconden) om te controleren of de toepassing stabiel is voordat u naar het volgende upgradedomein gaat of de upgrade voltooit. Deze wachttijd wordt gebruikt om niet-gedetecteerde wijzigingen van de status te voorkomen direct nadat de statuscontrole is uitgevoerd. De standaardwaarde is 120 seconden en moet op de juiste manier worden aangepast voor uw toepassing.
HealthCheckWaitDurationSec PowerShell, Visual Studio De tijd die moet worden gewacht (in seconden) nadat de upgrade is voltooid in het upgradedomein voordat Service Fabric de status van de toepassing evalueert. Deze duur kan ook worden beschouwd als de tijd die een toepassing moet worden uitgevoerd voordat deze als in orde kan worden beschouwd. Als de statuscontrole is geslaagd, gaat het upgradeproces verder naar het volgende upgradedomein. Als de statuscontrole mislukt, wacht Service Fabric op UpgradeHealthCheckInterval voordat de statuscontrole opnieuw wordt uitgevoerd totdat HealthCheckRetryTimeoutSec is bereikt. De standaardwaarde en aanbevolen waarde is 0 seconden.
MaxPercentUnhealthyDeployedApplications PowerShell, Visual Studio De standaardwaarde en de aanbevolen waarde is 0. Geef het maximum aantal geïmplementeerde toepassingen op (zie de sectie Status) dat beschadigd kan zijn voordat de toepassing als beschadigd wordt beschouwd en de upgrade mislukt. Deze parameter definieert de toepassingsstatus op het knooppunt en helpt bij het detecteren van problemen tijdens de upgrade. Normaal gesproken krijgen de replica's van de toepassing taakverdeling naar het andere knooppunt, waardoor de toepassing in orde lijkt, waardoor de upgrade kan worden voortgezet. Door een strikte MaxPercentUnhealthyDeployedApplications-status op te geven, kan Service Fabric snel een probleem met het toepassingspakket detecteren en helpen bij het produceren van een mislukte snelle upgrade.
MaxPercentUnhealthyServices PowerShell, Visual Studio Een parameter voor DefaultServiceTypeHealthPolicy en ServiceTypeHealthPolicyMap. De standaardwaarde en de aanbevolen waarde is 0. Geef het maximum aantal services in het toepassingsexemplaar op dat beschadigd kan zijn voordat de toepassing als beschadigd wordt beschouwd en de upgrade mislukt.
MaxPercentUnhealthyPartitionsPerService PowerShell, Visual Studio Een parameter voor DefaultServiceTypeHealthPolicy en ServiceTypeHealthPolicyMap. De standaardwaarde en de aanbevolen waarde is 0. Geef het maximum aantal partities in een service op dat beschadigd kan zijn voordat de service als beschadigd wordt beschouwd.
MaxPercentUnhealthyReplicasPerPartition PowerShell, Visual Studio Een parameter voor DefaultServiceTypeHealthPolicy en ServiceTypeHealthPolicyMap. De standaardwaarde en de aanbevolen waarde is 0. Geef het maximum aantal replica's in de partitie op dat beschadigd kan zijn voordat de partitie als beschadigd wordt beschouwd.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Vertegenwoordigt het statusbeleid dat wordt gebruikt voor het evalueren van de status van services die behoren tot een servicetype. Gebruikt een hashtabelinvoer in de volgende indeling: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Bijvoorbeeld: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
TimeoutSec PowerShell , Visual Studio Hiermee geeft u de time-outperiode in seconden op voor de bewerking.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Maximale tijd (in seconden) voor het upgraden van één upgradedomein. Als deze time-out is bereikt, stopt de upgrade en wordt deze uitgevoerd op basis van de instelling voor FailureAction. De standaardwaarde is nooit (Oneindig) en moet op de juiste manier worden aangepast voor uw toepassing.
UpgradeReplicaSetCheckTimeoutSec PowerShell, Visual Studio Gemeten in seconden.
Stateless service: binnen één upgradedomein probeert Service Fabric ervoor te zorgen dat er extra exemplaren van de service beschikbaar zijn. Als het aantal doelexemplaren meer dan één is, wacht Service Fabric totdat er meer dan één exemplaar beschikbaar is, tot een maximale time-outwaarde. Deze time-out wordt opgegeven met behulp van de eigenschap UpgradeReplicaSetCheckTimeoutSec . Als de time-out verloopt, gaat Service Fabric verder met de upgrade, ongeacht het aantal service-exemplaren. Als het aantal doelexemplaren één is, wacht Service Fabric niet en wordt onmiddellijk de upgrade uitgevoerd.

Stateful service: binnen één upgradedomein probeert Service Fabric ervoor te zorgen dat de replicaset een quorum heeft. Service Fabric wacht tot er een quorum beschikbaar is, tot een maximale time-outwaarde (opgegeven door de eigenschap UpgradeReplicaSetCheckTimeoutSec ). Als de time-out verloopt, gaat Service Fabric verder met de upgrade, ongeacht het quorum. Deze instelling is ingesteld als nooit (oneindig) wanneer u vooruit rolt en 1200 seconden wanneer u terugdraait.
UpgradeTimeoutSec PowerShell, Visual Studio Een time-out (in seconden) die van toepassing is op de hele upgrade. Als deze time-out is bereikt, stopt de upgrade en wordt FailureAction geactiveerd. De standaardwaarde is nooit (Oneindig) en moet op de juiste manier worden aangepast voor uw toepassing.
WhatIf PowerShell Toegestane waarden zijn Waar en Onwaar. Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

De criteria MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService en MaxPercentUnhealthyReplicasPerPartition kunnen per servicetype voor een toepassingsexemplaar worden opgegeven. Als u deze parameters per service instelt, kan een toepassing verschillende typen services bevatten met verschillende evaluatiebeleidsregels. Een servicetype van een stateless gateway kan bijvoorbeeld een MaxPercentUnhealthyPartitionsPerService hebben die verschilt van een servicetype stateful engine voor een bepaald toepassingsexemplaar.

SFCTL-parameters

Service Fabric-toepassingsupgrades met behulp van de Service Fabric CLI gebruiken de opdracht sfctl-toepassingsupgrade , samen met de volgende vereiste en optionele parameters.

Vereiste parameters

Parameter Beschrijving
toepassings-id Id van de toepassing die wordt bijgewerkt.
Dit is doorgaans de volledige naam van de toepassing zonder het URI-schema 'fabric:'. Vanaf versie 6.0 worden hiërarchische namen gescheiden door het teken ~. Als de naam van de toepassing bijvoorbeeld 'fabric:/myapp/app1' is, is de toepassingsidentiteit 'myapp~app1' in 6.0+ en 'myapp/app1' in vorige versies.
application-version De versie van het toepassingstype waarop de upgrade is gericht.
parameters Een JSON-gecodeerde lijst met toepassingsparameteroverschrijvingen die moeten worden toegepast bij het upgraden van de toepassing.

Optionele parameters

Parameter Beschrijving
default-service-health-policy JSON-gecodeerde specificatie van het statusbeleid dat standaard wordt gebruikt om de status van een servicetype te evalueren. De kaart is standaard leeg.
failure-action Toegestane waarden zijn Terugdraaien, Handmatig en Ongeldig. De compenserende actie die moet worden uitgevoerd wanneer een bewaakte upgrade schendingen van het bewakingsbeleid of statusbeleid tegenkomt.
Terugdraaien geeft aan dat de upgrade automatisch wordt teruggezet naar de versie van vóór de upgrade.
Handmatig geeft aan dat de upgrade wordt overgeschakeld naar de modus UnmonitoredManual upgrade.
Ongeldig geeft aan dat de foutactie ongeldig is.
geforceerd opnieuw opstarten Als u een configuratie of gegevenspakket bijwerkt zonder de servicecode bij te werken, wordt de service alleen opnieuw gestart als de eigenschap ForceRestart is ingesteld op True. Wanneer de update is voltooid, meldt Service Fabric de service dat er een nieuw configuratiepakket of gegevenspakket beschikbaar is. De service is verantwoordelijk voor het toepassen van de wijzigingen. Indien nodig kan de service zichzelf opnieuw opstarten.
statuscontrole-time-out voor opnieuw proberen De tijdsduur voor het opnieuw proberen van de statusevaluatie wanneer de toepassing of het cluster niet in orde is voordat FailureAction wordt uitgevoerd. Het wordt eerst geïnterpreteerd als een tekenreeks die een ISO 8601-duur vertegenwoordigt. Als dat mislukt, wordt dit geïnterpreteerd als een getal dat het totale aantal milliseconden vertegenwoordigt. Standaardinstelling: PT0H10M0S.
statuscontrole stabiele duur De hoeveelheid tijd die de toepassing of het cluster in orde moet blijven voordat de upgrade naar het volgende upgradedomein gaat. Het wordt eerst geïnterpreteerd als een tekenreeks die een ISO 8601-duur vertegenwoordigt. Als dat mislukt, wordt dit geïnterpreteerd als een getal dat het totale aantal milliseconden vertegenwoordigt. Standaardinstelling: PT0H2M0S.
statuscontrole wachtduur De hoeveelheid tijd die moet worden gewacht na het voltooien van een upgradedomein voordat statusbeleid wordt toegepast. Het wordt eerst geïnterpreteerd als een tekenreeks die een ISO 8601-duur vertegenwoordigt. Als dat mislukt, wordt dit geïnterpreteerd als een getal dat het totale aantal milliseconden vertegenwoordigt. Standaardinstelling: 0.
max-beschadigde-apps De standaardwaarde en de aanbevolen waarde is 0. Geef het maximum aantal geïmplementeerde toepassingen op (zie de sectie Status) dat beschadigd kan zijn voordat de toepassing als beschadigd wordt beschouwd en de upgrade mislukt. Deze parameter definieert de toepassingsstatus op het knooppunt en helpt bij het detecteren van problemen tijdens de upgrade. Normaal gesproken krijgen de replica's van de toepassing taakverdeling naar het andere knooppunt, waardoor de toepassing in orde lijkt, waardoor de upgrade kan worden voortgezet. Door een strikte status van maximaal beschadigde apps op te geven, kan Service Fabric snel een probleem met het toepassingspakket detecteren en helpen bij het produceren van een mislukte snelle upgrade. Weergegeven als een getal tussen 0 en 100.
mode Toegestane waarden zijn Monitoring, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. De standaardwaarde is UnmonitoredAuto. Zie de sectie Vereiste parameters voor Visual Studio en PowerShell voor beschrijvingen van deze waarden.
time-out replica-set-check Gemeten in seconden.
Stateless service: binnen één upgradedomein probeert Service Fabric ervoor te zorgen dat er extra exemplaren van de service beschikbaar zijn. Als het aantal doelexemplaren meer dan één is, wacht Service Fabric totdat er meer dan één exemplaar beschikbaar is, tot een maximale time-outwaarde. Deze time-out wordt opgegeven met behulp van de eigenschap replica-set-check-timeout . Als de time-out verloopt, gaat Service Fabric verder met de upgrade, ongeacht het aantal service-exemplaren. Als het aantal doelexemplaren één is, wacht Service Fabric niet en wordt onmiddellijk de upgrade uitgevoerd.

Stateful service: binnen één upgradedomein probeert Service Fabric ervoor te zorgen dat de replicaset een quorum heeft. Service Fabric wacht tot een quorum beschikbaar is, tot een maximale time-outwaarde (opgegeven door de eigenschap replica-set-check-time-out ). Als de time-out verloopt, gaat Service Fabric verder met de upgrade, ongeacht het quorum. Deze instelling is ingesteld als nooit (oneindig) wanneer u vooruit rolt en 1200 seconden wanneer u terugdraait.
servicestatusbeleid JSON-gecodeerde toewijzing met servicetypestatusbeleid per servicetypenaam. De kaart is standaard leeg. JSON-indeling van parameter.. De JSON voor het gedeelte Value bevat MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService en MaxPercentUnhealthyReplicasPerPartition. Zie de sectie Optionele parameters van Visual Studio en PowerShell voor beschrijvingen van deze parameters.
timeout Hiermee geeft u de time-outperiode in seconden op voor de bewerking. Standaardwaarde: 60.
upgrade-domein-time-out De hoeveelheid tijd die elk upgradedomein moet voltooien voordat FailureAction wordt uitgevoerd. Het wordt eerst geïnterpreteerd als een tekenreeks die een ISO 8601-duur vertegenwoordigt. Als dat mislukt, wordt dit geïnterpreteerd als een getal dat het totale aantal milliseconden vertegenwoordigt. De standaardwaarde is nooit (Oneindig) en moet op de juiste manier worden aangepast voor uw toepassing. Standaardinstelling: P10675199DT02H48M05.4775807S.
upgrade-time-out De hoeveelheid tijd die elk upgradedomein moet voltooien voordat FailureAction wordt uitgevoerd. Het wordt eerst geïnterpreteerd als een tekenreeks die een ISO 8601-duur vertegenwoordigt. Als dat mislukt, wordt dit geïnterpreteerd als een getal dat het totale aantal milliseconden vertegenwoordigt. De standaardwaarde is nooit (Oneindig) en moet op de juiste manier worden aangepast voor uw toepassing. Standaardinstelling: P10675199DT02H48M05.4775807S.
waarschuwing als fout Toegestane waarden zijn Waar en Onwaar. De standaardwaarde is False. Kan worden doorgegeven als een vlag. Behandel de waarschuwingsstatusgebeurtenissen voor de toepassing als fouten bij het evalueren van de status van de toepassing tijdens de upgrade. Service Fabric evalueert standaard niet dat waarschuwingsstatusgebeurtenissen fouten (fouten) zijn, zodat de upgrade kan worden voortgezet, zelfs als er waarschuwingsgebeurtenissen zijn.

Volgende stappen

Uw toepassing upgraden met Visual Studio helpt u bij het uitvoeren van een toepassingsupgrade met behulp van Visual Studio.

Bij het upgraden van uw toepassing met behulp van PowerShell wordt u begeleid bij het uitvoeren van een toepassingsupgrade met behulp van PowerShell.

Het upgraden van uw toepassing met behulp van Service Fabric CLI in Linux begeleidt u bij het uitvoeren van een toepassingsupgrade met behulp van Service Fabric CLI.

Uw toepassing bijwerken met de Service Fabric Eclipse-invoegtoepassing

Maak uw toepassingsupgrades compatibel door te leren hoe u gegevensserialisatie gebruikt.

Raadpleeg Geavanceerde onderwerpen voor meer informatie over het gebruik van geavanceerde functionaliteit tijdens het upgraden van uw toepassing.

Los veelvoorkomende problemen bij toepassingsupgrades op door te verwijzen naar de stappen in Problemen met toepassingsupgrades oplossen.