Delen via


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 toepassingsupgrades bepalen de time-outs en statuscontroles die tijdens de upgrade worden toegepast en geven de beleidsregels op die moeten 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 selecteerbare upgrademodi. Elke modus heeft een eigen set toepassingsparameters:

  • Gecontroleerd
  • Niet-bewaakt automatisch
  • Niet-bewaakte handleiding

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

Visual Studio- en PowerShell-parameters

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

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

Vereiste parameters

Parameter Van toepassing op Beschrijving
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 te maken krijgt met controlebeleid of schendingen van het statusbeleid.
Terugdraaien geeft aan dat de upgrade automatisch wordt teruggedraaid naar de versie vóór de upgrade.
Handmatig geeft aan dat de upgrade overschakelt 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, wordt het volgende upgradedomein bijgewerkt als de status van het upgradedomein en het cluster voldoen aan het statusbeleid dat u definieert. Als het upgradedomein of cluster niet voldoet aan het statusbeleid, mislukt de upgrade en wordt de upgrade voor het upgradedomein teruggedraaid of wordt de upgrade teruggezet naar de handmatige modus volgens het opgegeven beleid. Dit is de aanbevolen modus voor toepassingsupgrades in een productieomgeving.
UpgradeMode Visual Studio Toegestane waarden worden bewaakt (standaard), UnmonitoredAuto of UnmonitoredManual. Zie PowerShell-parameters voor elke modus in dit artikel voor meer informatie.
UnmonitoredAuto Powershell Geeft aan dat de upgrademodus automatisch niet wordt bewaakt. Nadat Service Fabric een upgradedomein heeft bijgewerkt, wordt het volgende upgradedomein bijgewerkt, ongeacht de status van de toepassing. Deze modus wordt niet aanbevolen voor productie en is alleen nuttig tijdens het ontwikkelen van een toepassing.
UnmonitoredManual Powershell Geeft aan dat de upgrademodus niet-bewaakt handmatig is. 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 toepassingsstatusbeleid dat is opgegeven in de ApplicationManifest.xml van het toepassingsexemplaren.

Parameter Van toepassing op Beschrijving
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 u de cmdlet uitvoert.
ConsiderWarningAsError PowerShell, Visual Studio Toegestane waarden zijn Waar en Onwaar. De standaardwaarde is Onwaar. Behandel de waarschuwingsstatus gebeurtenissen voor de toepassing als fouten bij het evalueren van de status van de toepassing tijdens de upgrade. Service Fabric evalueert standaard geen waarschuwingsstatus gebeurtenissen die fouten (fouten) zijn, zodat de upgrade kan doorgaan, zelfs als er waarschuwingsevenementen zijn.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Hiermee geeft u het statusbeleid voor het standaardservicetype dat moet worden gebruikt 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 dwingt, 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 die 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 opgestart 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 zelf opnieuw worden opgestart.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio De duur (in seconden) die Service Fabric blijft uitvoeren voordat de upgrade wordt gedeclareert als mislukt. 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 wijze 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 nadat de statuscontrole is uitgevoerd. De standaardwaarde is 120 seconden en moet op de juiste wijze worden aangepast voor uw toepassing.
HealthCheckWaitDurationSec PowerShell, Visual Studio De tijd die moet worden gewacht (in seconden) nadat de upgrade is voltooid op het upgradedomein voordat Service Fabric de status van de toepassing evalueert. Deze duur kan ook worden beschouwd als de tijd waarop een toepassing moet worden uitgevoerd voordat deze als in orde kan worden beschouwd. Als de statuscontrole is geslaagd, gaat het upgradeproces door 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 aanbevolen waarde is 0. Geef het maximum aantal geïmplementeerde toepassingen op (zie de sectie Status) die niet in orde kan zijn voordat de toepassing als niet in orde wordt beschouwd en mislukt de upgrade. 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 kan worden weergegeven, zodat de upgrade kan worden voortgezet. Door een strikte status van MaxPercentUnhealthyDeployedApplications op te geven, kan Service Fabric snel een probleem met het toepassingspakket detecteren en een mislukte snelle upgrade produceren.
MaxPercentUnhealthyServices PowerShell, Visual Studio Een parameter voor DefaultServiceTypeHealthPolicy en ServiceTypeHealthPolicyMap. De standaardwaarde en aanbevolen waarde is 0. Geef het maximum aantal services op in het toepassingsexemplaren dat niet in orde kan zijn voordat de toepassing als beschadigd wordt beschouwd en mislukt de upgrade.
MaxPercentUnhealthyPartitionsPerService PowerShell, Visual Studio Een parameter voor DefaultServiceTypeHealthPolicy en ServiceTypeHealthPolicyMap. De standaardwaarde en aanbevolen waarde is 0. Geef het maximum aantal partities op in een service die niet in orde kan zijn voordat de service als beschadigd wordt beschouwd.
MaxPercentUnhealthyReplicasPerPartition PowerShell, Visual Studio Een parameter voor DefaultServiceTypeHealthPolicy en ServiceTypeHealthPolicyMap. De standaardwaarde en aanbevolen waarde is 0. Geef het maximum aantal replica's in de partitie op dat niet in orde kan zijn voordat de partitie als beschadigd wordt beschouwd.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Vertegenwoordigt het statusbeleid dat wordt gebruikt om de status van services te evalueren die behoren tot een servicetype. Neemt een hash-tabelinvoer in de volgende indeling: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Bijvoorbeeld: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
Time-outSec PowerShell, Visual Studio Hiermee geeft u de time-outperiode in seconden voor de bewerking.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Maximale tijd (in seconden) voor het upgraden van één upgradedomein. Als deze time-out is bereikt, wordt de upgrade gestopt en uitgevoerd op basis van de instelling voor FailureAction. De standaardwaarde is nooit (oneindig) en moet op de juiste wijze 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 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 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 wordt ingesteld als nooit (oneindig) bij het vooruitdraaien en 1200 seconden bij het terugdraaien.
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 wijze 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 servicestypen bevatten met verschillende evaluatiebeleidsregels. Een staatloze gatewayservicetype kan bijvoorbeeld een MaxPercentUnhealthyPartitionsPerService hebben die verschilt van een stateful engine-servicetype voor een bepaald toepassingsexemplaren.

SFCTL-parameters

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

Vereiste parameters

Parameter Description
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 eerdere versies.
toepassingsversie De versie van het toepassingstype waarop de upgrade is gericht.
parameters Een door JSON gecodeerde lijst met toepassingsparameteroverschrijvingen die moeten worden toegepast bij het bijwerken van de toepassing.

Optionele parameters

Parameter Description
default-service-health-policy In JSON gecodeerde specificatie van het statusbeleid dat standaard wordt gebruikt om de status van een servicetype te evalueren. De kaart is standaard leeg.
foutactie Toegestane waarden zijn Terugdraaien, Handmatig en Ongeldig. De compenserende actie die moet worden uitgevoerd wanneer een bewaakte upgrade te maken krijgt met controlebeleid of schendingen van het statusbeleid.
Terugdraaien geeft aan dat de upgrade automatisch wordt teruggedraaid naar de versie vóór de upgrade.
Handmatig geeft aan dat de upgrade overschakelt 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 opgestart 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 zelf opnieuw worden opgestart.
health-check-retry-timeout De hoeveelheid tijd die nodig is om de statusevaluatie opnieuw uit te voeren 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 aangeeft. Standaard: 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 aangeeft. Standaard: PT0H2M0S.
statuscontrole-wachttijd De hoeveelheid tijd die moet worden gewacht na het voltooien van een upgradedomein voordat u statusbeleid toepast. 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 aangeeft. Standaard: 0.
maximaal beschadigde apps De standaardwaarde en aanbevolen waarde is 0. Geef het maximum aantal geïmplementeerde toepassingen op (zie de sectie Status) die niet in orde kan zijn voordat de toepassing als niet in orde wordt beschouwd en mislukt de upgrade. 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 kan worden weergegeven, zodat 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 een mislukte upgrade maken. Vertegenwoordigd als een getal tussen 0 en 100.
modus Toegestane waarden worden bewaakt, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Default is UnmonitoredAuto. Zie de sectie Vereiste parameters voor Visual Studio en PowerShell voor beschrijvingen van deze waarden.
time-out voor 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 meer dan één exemplaar beschikbaar is, tot een maximale time-outwaarde. Deze time-out wordt opgegeven met behulp van de eigenschap replica-set-check-time-out . 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-timeout ). Als de time-out verloopt, gaat Service Fabric verder met de upgrade, ongeacht het quorum. Deze instelling wordt ingesteld als nooit (oneindig) bij het vooruitdraaien en 1200 seconden bij het terugdraaien.
servicestatusbeleid JSON-gecodeerde toewijzing met servicetypestatusbeleid per servicetypenaam. De kaart is leeg. JSON-indeling parameter. De JSON voor het gedeelte 'Waarde' 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 voor de bewerking. Standaard: 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 aangeeft. De standaardwaarde is nooit (oneindig) en moet op de juiste wijze worden aangepast voor uw toepassing. Standaard: P10675199DT02H48M05.4775807S.
time-out voor upgrade 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 aangeeft. De standaardwaarde is nooit (oneindig) en moet op de juiste wijze worden aangepast voor uw toepassing. Standaard: P10675199DT02H48M05.4775807S.
waarschuwings-als-fout Toegestane waarden zijn Waar en Onwaar. De standaardwaarde is Onwaar. Kan worden doorgegeven als vlag. Behandel de waarschuwingsstatus gebeurtenissen voor de toepassing als fouten bij het evalueren van de status van de toepassing tijdens de upgrade. Service Fabric evalueert standaard geen waarschuwingsstatus gebeurtenissen die fouten (fouten) zijn, zodat de upgrade kan doorgaan, zelfs als er waarschuwingsevenementen zijn.

Volgende stappen

Als u uw toepassing bijwerken met Visual Studio , wordt u begeleid bij het uitvoeren van een toepassingsupgrade met behulp van Visual Studio.

Als u uw toepassing bijwerkt met Behulp van PowerShell , wordt u begeleid bij het uitvoeren van een toepassingsupgrade met behulp van PowerShell.

Als u uw toepassing bijwerken met behulp van Service Fabric CLI in Linux , wordt u begeleid bij het upgraden van een toepassing met behulp van Service Fabric CLI.

Uw toepassing upgraden met behulp van de Service Fabric Eclipse-invoegtoepassing

Zorg ervoor dat uw toepassing compatibel is door te leren hoe u gegevensserialisatie gebruikt.

Meer informatie over het gebruik van geavanceerde functionaliteit tijdens het upgraden van uw toepassing door te verwijzen naar Geavanceerde onderwerpen.

Los veelvoorkomende problemen in toepassingsupgrades op door te verwijzen naar de stappen in Het oplossen van problemen met toepassingsupgrades.