Programuppgraderingsparametrar
Den här artikeln beskriver de olika parametrar som gäller under uppgraderingen av ett Azure Service Fabric-program. Parametrar för programuppgradering styr tidsgränser och hälsokontroller 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 användarvalbara uppgraderingslägen. Varje läge har en egen uppsättning programparametrar:
- Övervakas
- Oövervakad automatisk
- Ej övervakad 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ärden 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-uppgradering . Ogiltigt 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 bara användbart under utvecklingen av ett program. |
OövervakadManual | 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 villkoret för hälsoutvärdering inte anges när en uppgradering startar använder Service Fabric de programhälsoprinciper 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 hashtable-namn/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 Sant och Falskt. Uppmanar till bekräftelse innan du kör cmdleten. |
ConsiderWarningAsError | PowerShell, Visual Studio | Tillåtna värden är Sant och Falskt. Standardvärdet är Falsk. 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. |
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 Sant och Falskt. 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 endast om egenskapen ForceRestart är inställd på Sant. 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ärdering innan uppgraderingen deklareras som misslyckad. Standardvärdet är 600 sekunder. Den här varaktigheten börjar när HealthCheckWaitDurationSec har nåtts. I den här HealthCheckRetryTimeout kan Service Fabric utföra flera hälsokontroller av programmets hälsotillstånd. 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 kontrollera 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 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 verka felfritt, 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 felfria 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 felaktig 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 hälsoprincipen som används för att utvärdera hälsotillståndet för tjänster som tillhör en tjänsttyp. Tar in en hashtabell 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 den här tidsgränsen nås stoppas och fortsätter uppgraderingen 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 maximalt timeout-värde. Den här tidsgränsen anges med hjälp av 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 maximalt timeout-vä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 rullar tillbaka. |
UpgradeTimeoutSec | PowerShell, Visual Studio | En timeout (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 Sant och Falskt. 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 för programuppgradering i sfctl tillsammans med följande obligatoriska och valfria parametrar.
Obligatoriska parametrar
Parameter | Description |
---|---|
application-id | ID för programmet 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 | Description |
---|---|
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ärden 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-uppgradering . Ogiltigt 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 endast om egenskapen ForceRestart är inställd på Sant. 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. |
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 det går att vänta efter att ha 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ärdet och det rekommenderade värdet ä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 verka felfritt, vilket gör att uppgraderingen kan fortsätta. Genom att ange ett 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. |
läge | 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-timeout ). 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. |
upgrade-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. |
varning som fel | Tillåtna värden är Sant och Falskt. Standardvärdet är Falsk. 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 får du hjälp med 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 Service Fabric Eclipse-plugin-programmet
Gör dina programuppgraderingar kompatibla genom att lära dig hur du använder data serialisering.
Lär dig hur du använder avancerade funktioner när du uppgraderar ditt program genom att referera till Avancerade ämnen.
Åtgärda vanliga problem i programuppgraderingar genom att referera till stegen i Felsöka programuppgraderingar.