Share via


Visual Studio での Service Fabric アプリケーションのアップグレードの構成

Visual Studio Service Fabric ツールは、ローカルまたはリモート クラスターへの発行のアップグレード サポートを提供します。 テストやデバッグ中にアプリケーションを置き換えるのではなく、アプリケーションを新しいバージョンにアップグレードしたくなるシナリオが 3 つあります。

  • 1 つは、アップグレード中にアプリケーション データが失われないことです。
  • もう 1 つは、複数のアップグレード ドメインにわたって十分な数のサービス インスタンスが存在すれば、アップグレード中にサービスの中断が発生しないので、高可用性が実現されることです。
  • アプリケーションのアップグレード中に、アプリケーションに対してテストを実行できます。

アップグレードに必要なパラメーター

標準とアップグレードの 2 種類のデプロイメントから選択できます。 標準デプロイメントではクラスター上の以前のデプロイメント情報とデータが消去され、アップグレード デプロイメントではこれらが保持されます。 Visual Studio で Service Fabric アプリケーションをアップグレードするときには、アプリケーション アップグレード パラメーターと正常性チェック ポリシーを提供する必要があります。 アプリケーション アップグレード パラメーターによってアップグレードが制御され、正常性チェック ポリシーによってアップグレードが成功したかどうかが判断されます。 詳細については、「 アプリケーション アップグレードのパラメーター 」を参照してください。

MonitoredUnmonitoredAutoUnmonitoredManual の 3 種類のアップグレード モードがあります。

  • Monitored アップグレードでは、アップグレードとアプリケーションの正常性チェックが自動化されます。
  • UnmonitoredAuto アップグレードでは、アップグレードは自動化されますが、アプリケーションの正常性チェックは省略されます。
  • UnmonitoredManual アップグレードを実行する場合は、各アップグレード ドメインを手動でアップグレードする必要があります。

各アップグレード モードには、それぞれ異なるパラメーター セットが必要です。 使用できるアップグレード オプションの詳細については、「 アプリケーション アップグレードのパラメーター 」を参照してください。

Visual Studio での Service Fabric アプリケーションのアップグレード

Visual Studio Service Fabric ツールを使用して Service Fabric アプリケーションをアップグレードする場合、 [アプリケーションのアップグレード] チェック ボックスをオンにして、発行プロセスが標準デプロイメントではなくアップグレード デプロイメントであることを指定できます。

アップグレード パラメーターを構成するには

  1. チェック ボックスの横の [設定] ボタンをクリックします。 [アップグレード パラメーターの編集] ダイアログ ボックスが表示されます。 [アップグレード パラメーターの編集] ダイアログ ボックスでは、Monitored、UnmonitoredAuto、UnmonitoredManual の各アップグレード モードをサポートしています。

  2. 使用するアップグレード モードを選択し、パラメーター グリッドに値を入力します。

    各パラメーターには既定値があります。 オプション パラメーターの DefaultServiceTypeHealthPolicy は、ハッシュ テーブルの入力を受け取ります。 DefaultServiceTypeHealthPolicyのハッシュ テーブルの入力形式の例を次に示します。

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

    ServiceTypeHealthPolicyMap は、次の形式のハッシュ テーブルの入力を受け取るもう 1 つのオプション パラメーターです。

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

    実際の例を次に示します。

    @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
    
  3. UnmonitoredManual アップグレード モードを選択した場合は、PowerShell コンソールを手動で起動してアップグレード プロセスを続行し、プロセスを完了する必要があります。 手動アップグレードのしくみについては、「 Service Fabric アプリケーションのアップグレード: 高度なトピック 」を参照してください。

PowerShell を使用したアプリケーションのアップグレード

PowerShell コマンドレットを使用して、Service Fabric アプリケーションをアップグレードできます。 詳細については、「Service Fabric アプリケーションのアップグレード チュートリアル」および「Start-ServiceFabricApplicationUpgrade」を参照してください。

アプリケーション マニフェスト ファイルでの正常性チェック ポリシーの指定

Service Fabric アプリケーションの各サービスでは、既定値をオーバーライドした独自の正常性ポリシー パラメーターを使用できます。 これらのパラメーター値は、アプリケーション マニフェスト ファイルで指定できます。

次の例は、アプリケーション マニフェストで、サービスごとに独自の正常性チェック ポリシーを適用する方法を示しています。

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

次の手順

アプリケーションのアップグレードの詳細については、Visual Studio を使用したアプリケーションのアップグレードに関するページを参照してください。