Zelfstudie: De runtime van een Service Fabric-cluster upgraden in Azure

Deze zelfstudie is deel vier uit een reeks. Hierin ziet u hoe u de Service Fabric-runtime in een Azure Service Fabric-cluster kunt upgraden. Dit deel van de zelfstudie is geschreven voor Service Fabric-clusters die worden uitgevoerd in Azure en is niet van toepassing op zelfstandige Service Fabric-clusters.

Waarschuwing

Voor dit deel van de zelfstudie is PowerShell vereist. De Azure CLI-hulpprogramma's bieden nog geen ondersteuning voor het upgraden van de clusterruntime. Een cluster kan ook worden geüpgraded in de portal. Zie Een Azure Service Fabric-cluster upgraden voor meer informatie.

Als in het cluster al de meest recente Service Fabric-runtime wordt uitgevoerd, hoeft u deze stap niet uit te voeren. Dit artikel kan echter worden gebruikt om elke willekeurige ondersteunde runtime te installeren op een Azure Service Fabric-cluster.

In deze zelfstudie leert u het volgende:

  • De clusterversie lezen
  • De clusterversie instellen

In deze zelfstudiereeks leert u het volgende:

Notitie

U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

Voor u met deze zelfstudie begint:

Aanmelden bij Azure

Meld u aan bij uw Azure-account en selecteer uw abonnement voordat u Azure-opdrachten gaat uitvoeren.

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

De runtimeversie ophalen

Nadat u verbinding hebt gemaakt met Azure en het abonnement hebt geselecteerd dat het Service Fabric-cluster bevat, kunt u de runtimeversie van het cluster ophalen.

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

Of haal met het volgende voorbeeld alleen een lijst op met alle clusters in uw abonnement. Doe dit als volgt:

Get-AzServiceFabricCluster | Select-Object Name, ClusterCodeVersion

Noteer de waarde voor ClusterCodeVersion. Deze waarde wordt gebruikt in de volgende sectie.

De runtime upgraden

Gebruik de waarde voor ClusterCodeVersion uit de vorige sectie met de cmdlet Get-ServiceFabricRuntimeUpgradeVersionom te ontdekken naar welke versies u kunt upgraden. Deze cmdlet kan alleen worden uitgevoerd vanaf een computer die is verbonden met internet. Als u bijvoorbeeld wilt zien naar welke runtimeversies u kunt upgraden vanaf versie 5.7.198.9494, gebruikt u de volgende opdracht:

Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion "5.7.198.9494"

Met een lijst met versies kunt u het Azure Service Fabric-cluster de opdracht geven om te upgraden naar een nieuwere runtime. Als bijvoorbeeld versie 6.0.219.9494 beschikbaar is als upgrade, gebruikt u de volgende opdracht om het cluster te upgraden.

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

Belangrijk

Het kan lang duren voordat de upgrade voor de clusterruntime is voltooid. Tijdens het uitvoeren van de upgrade is PowerShell geblokkeerd. U kunt een andere PowerShell-sessie gebruiken om de status van de upgrade te controleren.

De status van de upgrade kan worden gecontroleerd met PowerShell of met de Azure Service Fabric CLI (sfctl).

Maak eerst verbinding met het cluster met het TSL/SSL-certificaat dat is gemaakt in het eerste deel van de zelfstudie. Gebruik de cmdlet Connect-ServiceFabricCluster of 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

Gebruik vervolgens Get-ServiceFabricClusterUpgrade of sfctl cluster upgrade-status om de status weer te geven. Het resultaat zier er ongeveer uit zoals hieronder wordt weergegeven.

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"
}

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • De versie van de clusterruntime ophalen
  • De clusterruntime upgraden
  • De upgrade controleren

Ga door naar de volgende zelfstudie: