Configurare l'aggiornamento di un'applicazione di Infrastruttura di servizi in Visual StudioConfigure the upgrade of a Service Fabric application in Visual Studio

Gli strumenti di Visual Studio per Service Fabric di Azure forniscono supporto per l'aggiornamento per la pubblicazione nei cluster locali o remoti.Visual Studio tools for Azure Service Fabric provide upgrade support for publishing to local or remote clusters. Esistono tre scenari in cui è consigliabile eseguire l'aggiornamento dell'applicazione a una versione più recente anziché sostituirla durante il test e il debug:There are three scenarios in which you want to upgrade your application to a newer version instead of replacing the application during testing and debugging:

  • I dati dell'applicazione non vengono persi durante l'aggiornamento.Application data won't be lost during the upgrade.
  • Si garantisce una disponibilità elevata continua per evitare ogni tipo di interruzione del servizio durante l'aggiornamento in presenza di sufficienti istanze del servizio distribuite nei domini di aggiornamento.Availability remains high so there won't be any service interruption during the upgrade, if there are enough service instances spread across upgrade domains.
  • Durante l'aggiornamento, possono essere eseguiti test in un'applicazione.Tests can be run against an application while it's being upgraded.

Parametri necessari per l'aggiornamentoParameters needed to upgrade

È possibile scegliere tra due tipi di distribuzione: normale o aggiornata.You can choose from two types of deployment: regular or upgrade. Una distribuzione regolare cancella qualsiasi informazione di distribuzioni precedenti e i dati nel cluster, mentre una distribuzione di un aggiornamento li conserva.A regular deployment erases any previous deployment information and data on the cluster, while an upgrade deployment preserves it. Quando si aggiorna un'applicazione di Infrastruttura di servizi in Visual Studio, è necessario fornire parametri di aggiornamento dell’applicazione e criteri per il controllo dell’integrità.When you upgrade a Service Fabric application in Visual Studio, you need to provide application upgrade parameters and health check policies. I parametri di aggiornamento dell'applicazione consentono di controllare l'aggiornamento, mentre i criteri di controllo dell'integrità determinano se l'aggiornamento è avvenuto correttamente.Application upgrade parameters help control the upgrade, while health check policies determine whether the upgrade was successful. Vedere l'articolo relativo all' aggiornamento di un'applicazione di Service Fabric e i parametri di aggiornamento per ulteriori dettagli.See Service Fabric application upgrade: upgrade parameters for more details.

Sono disponibili tre modalità di aggiornamento: Monitored, UnmonitoredAuto e UnmonitoredManual.There are three upgrade modes: Monitored, UnmonitoredAuto, and UnmonitoredManual.

  • Un aggiornamento Monitored consente di automatizzare l'aggiornamento e il controllo dell'integrità dell'applicazione.A Monitored upgrade automates the upgrade and application health check.
  • Un aggiornamento UnmonitoredAuto consente di automatizzare l'aggiornamento, ma ignorando il controllo dell'integrità dell'applicazione.An UnmonitoredAuto upgrade automates the upgrade, but skips the application health check.
  • Quando si esegue un aggiornamento UnmonitoredManual è necessario aggiornare manualmente ogni dominio di aggiornamento.When you do an UnmonitoredManual upgrade, you need to manually upgrade each upgrade domain.

Ogni modalità di aggiornamento richiede diversi set di parametri.Each upgrade mode requires different sets of parameters. Vedere Parametri di aggiornamento di un'applicazione per conoscere le opzioni di aggiornamento disponibili.See Application upgrade parameters to learn more about the available upgrade options.

Aggiornamento di un'applicazione di Infrastruttura di servizi in Visual StudioUpgrade a Service Fabric application in Visual Studio

Se si utilizzano gli strumenti di Service Fabric di Visual Studio per aggiornare un'applicazione di Service Fabric, è possibile specificare un processo di pubblicazione come aggiornamento anziché distribuzione normale selezionando la casella di controllo Aggiorna applicazione .If you’re using the Visual Studio Service Fabric tools to upgrade a Service Fabric application, you can specify a publish process to be an upgrade rather than a regular deployment by checking the Upgrade the application check box.

Per configurare i parametri di aggiornamentoTo configure the upgrade parameters

  1. Fare clic sul pulsante Impostazioni accanto alla casella di controllo.Click the Settings button next to the check box. La finestra di dialogo Edit Upgrade Parameters verrà visualizzata.The Edit Upgrade Parameters dialog box appears. La finestra di dialogo Edit Upgrade Parameters supporta le modalità di aggiornamento Monitored, UnmonitoredAuto e UnmonitoredManual.The Edit Upgrade Parameters dialog box supports the Monitored, UnmonitoredAuto, and UnmonitoredManual upgrade modes.
  2. Selezionare la modalità di aggiornamento che si desidera usare, quindi compilare la griglia dei parametri.Select the upgrade mode that you want to use and then fill out the parameter grid.

    Ogni parametro ha valori predefiniti.Each parameter has default values. Il parametro facoltativo DefaultServiceTypeHealthPolicy accetta un input di tabella hash.The optional parameter DefaultServiceTypeHealthPolicy takes a hash table input. Di seguito è riportato un esempio del formato di input di tabella hash per DefaultServiceTypeHealthPolicy:Here’s an example of the hash table input format for DefaultServiceTypeHealthPolicy:

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

    ServiceTypeHealthPolicyMap è un altro parametro facoltativo che accetta un input di tabella hash nel formato seguente:ServiceTypeHealthPolicyMap is another optional parameter that takes a hash table input in the following format:

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

    Ecco un esempio reale:Here's a real-life example:

    @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
    
  3. Se si seleziona la modalità di aggiornamento UnmonitoredManual, è necessario avviare manualmente una console di PowerShell per continuare il processo di aggiornamento e completarlo.If you select UnmonitoredManual upgrade mode, you must manually start a PowerShell console to continue and finish the upgrade process. Fare riferimento a Aggiornamento di un'applicazione di infrastruttura di servizi: argomenti avanzati per scoprire come funziona l'aggiornamento manuale.Refer to Service Fabric application upgrade: advanced topics to learn how manual upgrade works.

Aggiornare un'applicazione con PowerShellUpgrade an application by using PowerShell

È possibile utilizzare i cmdlet PowerShell per aggiornare un'applicazione di Infrastruttura di servizi.You can use PowerShell cmdlets to upgrade a Service Fabric application. Per informazioni dettagliate, vedere Esercitazione sull'aggiornamento di un'applicazione di Service Fabric tramite Visual Studio e Start-ServiceFabricApplicationUpgrade.See Service Fabric application upgrade tutorial and Start-ServiceFabricApplicationUpgrade for detailed information.

Specificare un criterio di controllo dell'integrità nel file manifesto dell'applicazioneSpecify a health check policy in the application manifest file

Ogni servizio in un'applicazione di Infrastruttura di servizi può disporre di propri parametri di criteri di integrità che sostituiscono i valori predefiniti.Every service in a Service Fabric application can have its own health policy parameters that override the default values. È possibile fornire questi valori di parametro nel file manifesto dell'applicazione.You can provide these parameter values in the application manifest file.

Nell'esempio seguente viene illustrato come applicare un criterio di controllo di integrità univoco per ogni servizio nel manifesto dell'applicazione.The following example shows how to apply a unique health check policy for each service in the application manifest.

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

Passaggi successiviNext steps

Per ulteriori informazioni sulla distribuzione di un'applicazione, vedere Distribuire un'applicazione esistente in Infrastruttura di servizi di Azure.For more information about deploying an application, see Deploy an existing application in Azure Service Fabric.