Dela via


Konfigurera uppgraderingen av ett Service Fabric-program i Visual Studio

Visual Studio-verktyg för Azure Service Fabric ger uppgraderingsstöd för publicering till lokala kluster eller fjärrkluster. Det finns tre scenarier där du vill uppgradera programmet till en nyare version i stället för att ersätta programmet under testning och felsökning:

  • Programdata går inte förlorade under uppgraderingen.
  • Tillgängligheten är fortfarande hög, så det blir inget tjänstavbrott under uppgraderingen, om det finns tillräckligt många tjänstinstanser spridda över uppgraderingsdomäner.
  • Tester kan köras mot ett program medan det uppgraderas.

Parametrar som behövs för att uppgradera

Du kan välja mellan två typer av distribution: vanlig eller uppgradering. En vanlig distribution raderar all tidigare distributionsinformation och data i klustret, medan en uppgraderingsdistribution bevarar den. När du uppgraderar ett Service Fabric-program i Visual Studio måste du ange parametrar för programuppgradering och hälsokontrollprinciper. Programuppgraderingsparametrar hjälper till att kontrollera uppgraderingen, medan hälsokontrollprinciper avgör om uppgraderingen lyckades. Mer information finns i Uppgradering av Service Fabric-program: uppgraderingsparametrar .

Det finns tre uppgraderingslägen: Monitored, UnmonitoredAuto och UnmonitoredManual.

  • En övervakad uppgradering automatiserar uppgraderingen och programhälsokontrollen.
  • En unmonitoredAuto-uppgradering automatiserar uppgraderingen, men hoppar över programhälsokontrollen.
  • När du gör en UnmonitoredManual-uppgradering måste du uppgradera varje uppgraderingsdomän manuellt.

Varje uppgraderingsläge kräver olika uppsättningar parametrar. Mer information om tillgängliga uppgraderingsalternativ finns i Programuppgraderingsparametrar .

Uppgradera ett Service Fabric-program i Visual Studio

Om du använder Visual Studio Service Fabric-verktygen för att uppgradera ett Service Fabric-program kan du ange att en publiceringsprocess ska vara en uppgradering i stället för en vanlig distribution genom att markera kryssrutan Uppgradera programmet .

Så här konfigurerar du uppgraderingsparametrarna

  1. Klicka på knappen Inställningar bredvid kryssrutan. Dialogrutan Redigera uppgraderingsparametrar visas. Dialogrutan Redigera uppgraderingsparametrar stöder uppgraderingslägena Monitored, UnmonitoredAuto och UnmonitoredManual.

  2. Välj det uppgraderingsläge som du vill använda och fyll sedan i parameterrutnätet.

    Varje parameter har standardvärden. Den valfria parametern DefaultServiceTypeHealthPolicy tar en hashtabellindata. Här är ett exempel på hashtabellens indataformat för DefaultServiceTypeHealthPolicy:

    @{ ConsiderWarningAsError = "false"; MaxPercentUnhealthyDeployedApplications = 0; MaxPercentUnhealthyServices = 0; MaxPercentUnhealthyPartitionsPerService = 0; MaxPercentUnhealthyReplicasPerPartition = 0 }
    

    ServiceTypeHealthPolicyMap är en annan valfri parameter som tar en hashtabellinmatning i följande format:

    @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"}
    

    Här är ett verkligt exempel:

    @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
    
  3. Om du väljer UnmonitoredManual upgrade mode (OövervakatHanterat uppgraderingsläge) måste du starta en PowerShell-konsol manuellt för att fortsätta och slutföra uppgraderingsprocessen. Mer information om hur manuell uppgradering fungerar finns i Service Fabric-programuppgradering: avancerade ämnen.

Uppgradera ett program med hjälp av PowerShell

Du kan använda PowerShell-cmdletar för att uppgradera ett Service Fabric-program. Mer information finns i självstudien om uppgradering av Service Fabric-program och Start-ServiceFabricApplicationUpgrade .

Ange en hälsokontrollprincip i programmanifestfilen

Varje tjänst i ett Service Fabric-program kan ha egna hälsoprincipparametrar som åsidosätter standardvärdena. Du kan ange dessa parametervärden i programmanifestfilen.

I följande exempel visas hur du tillämpar en unik hälsokontrollprincip för varje tjänst i programmanifestet.

<Policies>
    <HealthPolicy ConsiderWarningAsError="false" MaxPercentUnhealthyDeployedApplications="20">
        <DefaultServiceTypeHealthPolicy MaxPercentUnhealthyServices="20"               
                MaxPercentUnhealthyPartitionsPerService="20"
                MaxPercentUnhealthyReplicasPerPartition="20" />
        <ServiceTypeHealthPolicy ServiceTypeName="ServiceTypeName1"
                MaxPercentUnhealthyServices="20"
                MaxPercentUnhealthyPartitionsPerService="20"
                MaxPercentUnhealthyReplicasPerPartition="20" />      
    </HealthPolicy>
</Policies>

Nästa steg

Mer information om hur du uppgraderar ett program finns i Uppgradera ett program med Visual Studio.