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.