Partager via


Tutoriel : Mettre à niveau le runtime d’un cluster Service Fabric dans Azure

Ce didacticiel est la quatrième partie d’une série de didacticiels et vous montre comment mettre à niveau le runtime Service Fabric sur un cluster Azure Service Fabric. Cette partie du didacticiel concerne les clusters Service Fabric s’exécutant sur Azure ; elle ne s’applique pas aux clusters Service Fabric autonomes.

Avertissement

Cette partie du didacticiel nécessite PowerShell. Les outils Azure CLI n’assurent pas la prise en charge de la mise à niveau du runtime d’un cluster. Cependant, vous pouvez mettre à niveau un cluster dans le portail. Pour plus d’informations, consultez Mettre à niveau un cluster Azure Service Fabric.

Si votre cluster exécute déjà le dernier runtime Service Fabric, vous n’avez pas besoin d’effectuer cette étape. Toutefois, vous pouvez utiliser cet article pour installer n’importe quel runtime pris en charge sur un cluster Azure Service Fabric.

Dans ce tutoriel, vous allez apprendre à :

  • Obtenir la version du cluster
  • Définir la version du cluster

Cette série de tutoriels vous montre comment effectuer les opérations suivantes :

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Prérequis

Avant de commencer ce tutoriel :

Connexion à Azure

Connectez-vous à votre compte Azure, sélectionnez votre abonnement avant d’exécuter des commandes Azure.

Connect-AzAccount
Get-AzSubscription
Set-AzContext -SubscriptionId <guid>

Obtenir la version du runtime

Après vous être connecté à Azure et avoir sélectionné l’abonnement contenant le cluster Service Fabric, vous pouvez obtenir la version du runtime du cluster.

Get-AzServiceFabricCluster -ResourceGroupName SFCLUSTERTUTORIALGROUP -Name aztestcluster `
    | Select-Object ClusterCodeVersion

Ou, obtenez simplement la liste de tous les clusters dans votre abonnement en exécutant l’exemple suivant :

Get-AzServiceFabricCluster | Select-Object Name, ClusterCodeVersion

Notez la valeur ClusterCodeVersion. Vous l’utiliserez dans la section suivante.

Mettre à niveau le runtime

Avec l’applet de commande Get-ServiceFabricRuntimeUpgradeVersion, utilisez la valeur ClusterCodeVersion obtenue dans la section précédente pour découvrir les versions vers lesquelles vous pouvez effectuer la mise à niveau. Vous pouvez exécuter cette applet de commande uniquement à partir d’un ordinateur connecté à Internet. Par exemple, pour connaître les versions de runtime vers lesquelles vous pouvez effectuer une mise à niveau depuis la version 5.7.198.9494, utilisez la commande suivante :

Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion "5.7.198.9494"

Une liste de versions vous permet de mettre à niveau le cluster Azure Service Fabric vers un runtime plus récent. Par exemple, si une mise à niveau vers la version 6.0.219.9494 est possible, utilisez la commande suivante pour mettre à niveau votre cluster.

Set-AzServiceFabricUpgradeType -ResourceGroupName SFCLUSTERTUTORIALGROUP `
                                    -Name aztestcluster `
                                    -UpgradeMode Manual `
                                    -Version "6.0.219.9494"

Important

La mise à niveau du runtime du cluster peut prendre beaucoup de temps. PowerShell est bloqué pendant l’exécution de la mise à niveau. Vous pouvez utiliser une autre session PowerShell pour vérifier l’état de la mise à niveau.

Vous pouvez surveiller l’état de la mise à niveau avec PowerShell ou Azure Service Fabric CLI (sfctl).

Tout d’abord, connectez-vous au cluster avec le certificat TLS/SSL créé dans la première partie du tutoriel. Utilisez l’applet de commande Connect-ServiceFabricCluster ou sfctl cluster upgrade-status.

$endpoint = "<mycluster>.southcentralus.cloudapp.azure.com:19000"
$thumbprint = "63EB5BA4BC2A3BADC42CA6F93D6F45E5AD98A1E4"

Connect-ServiceFabricCluster -ConnectionEndpoint $endpoint `
                             -KeepAliveIntervalInSec 10 `
                             -X509Credential -ServerCertThumbprint $thumbprint `
                             -FindType FindByThumbprint -FindValue $thumbprint `
                             -StoreLocation CurrentUser -StoreName My
sfctl cluster select --endpoint https://aztestcluster.southcentralus.cloudapp.azure.com:19080 \
--pem ./aztestcluster201709151446.pem --no-verify

Ensuite, utilisez Get-ServiceFabricClusterUpgrade ou sfctl cluster upgrade-status pour afficher l’état. Le résultat affiché est semblable à ce qui suit.

Get-ServiceFabricClusterUpgrade

TargetCodeVersion                          : 6.0.219.9494
TargetConfigVersion                        : 3
StartTimestampUtc                          : 11/28/2017 3:09:48 AM
UpgradeState                               : RollingForwardPending
UpgradeDuration                            : 00:09:00
CurrentUpgradeDomainDuration               : 00:09:00
NextUpgradeDomain                          : 1
UpgradeDomainsStatus                       : { "0" = "Completed";
                                             "1" = "Pending";
                                             "2" = "Pending";
                                             "3" = "Pending";
                                             "4" = "Pending" }
UpgradeKind                                : Rolling
RollingUpgradeMode                         : Monitored
FailureAction                              : Rollback
ForceRestart                               : False
UpgradeReplicaSetCheckTimeout              : 37201.09:59:01
HealthCheckWaitDuration                    : 00:05:00
HealthCheckStableDuration                  : 00:05:00
HealthCheckRetryTimeout                    : 00:45:00
UpgradeDomainTimeout                       : 02:00:00
UpgradeTimeout                             : 12:00:00
ConsiderWarningAsError                     : False
MaxPercentUnhealthyApplications            : 0
MaxPercentUnhealthyNodes                   : 100
ApplicationTypeHealthPolicyMap             : {}
EnableDeltaHealthEvaluation                : True
MaxPercentDeltaUnhealthyNodes              : 0
MaxPercentUpgradeDomainDeltaUnhealthyNodes : 0
ApplicationHealthPolicyMap                 : {}
sfctl cluster upgrade-status

{
  "codeVersion": "6.0.219.9494",
  "configVersion": "3",

... item cut to save space ...

  },
  "upgradeDomains": [
    {
      "name": "0",
      "state": "Completed"
    },
    {
      "name": "1",
      "state": "Pending"
    },
    {
      "name": "2",
      "state": "Pending"
    },
    {
      "name": "3",
      "state": "Pending"
    },
    {
      "name": "4",
      "state": "Pending"
    }
  ],
  "upgradeDurationInMilliseconds": "PT1H2M4.63889S",
  "upgradeState": "RollingForwardPending"
}

Étapes suivantes

Dans ce didacticiel, vous avez appris à :

  • Obtenir la version du runtime du cluster
  • Mettre à niveau le runtime du cluster
  • Surveiller la mise à niveau

Passez au tutoriel suivant :