Tutorial: Upgraden der Runtime eines Service Fabric-Clusters in Azure

Dieses Tutorial ist der vierte Teil einer Reihe und zeigt, wie Sie die Service Fabric-Runtime in einem Azure Service Fabric-Cluster aktualisieren. Dieser Tutorialteil wurde für unter Azure ausgeführte Service Fabric-Cluster geschrieben und gilt nicht für eigenständige Service Fabric-Cluster.

Warnung

Für diesen Teil des Tutorials ist PowerShell erforderlich. Das Upgrade der Clusterruntime wird von den Azure CLI-Tools noch nicht unterstützt. Alternativ kann ein Cluster auch im Portal aktualisiert werden. Weitere Informationen finden Sie unter Aktualisieren eines Azure Service Fabric-Clusters.

Wenn im Cluster bereits die neueste Service Fabric-Runtime ausgeführt wird, müssen Sie diesen Schritt nicht ausführen. Dieser Artikel kann jedoch zum Installieren aller unterstützten Runtimes in einem Azure Service Fabric-Cluster herangezogen werden.

In diesem Tutorial lernen Sie Folgendes:

  • Lesen der Clusterversion
  • Festlegen der Clusterversion

In dieser Tutorialserie lernen Sie Folgendes:

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen können, müssen Sie Folgendes tun:

Anmelden bei Azure

Melden Sie sich bei Ihrem Azure-Konto an, und wählen Sie Ihr Abonnement aus, bevor Sie Azure-Befehle ausführen.

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

Abrufen der Runtimeversion

Nachdem Sie eine Verbindung mit Azure hergestellt und das Abonnement mit dem Service Fabric-Cluster ausgewählt haben, können Sie die Runtimeversion des Clusters abrufen.

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

Sie können auch einfach mit dem folgenden Beispiel eine Liste aller Cluster in Ihrem Abonnement abrufen:

Get-AzServiceFabricCluster | Select-Object Name, ClusterCodeVersion

Notieren Sie den Wert ClusterCodeVersion. Dieser Wert wird im nächsten Abschnitt verwendet.

Aktualisieren der Runtime

Verwenden Sie den Wert ClusterCodeVersion aus dem vorherigen Abschnitt mit den Cmdlet Get-ServiceFabricRuntimeUpgradeVersion, um zu ermitteln, welche Versionen für ein Upgrade verfügbar sind. Dieses Cmdlet kann nur auf einem Computer ausgeführt werden, der mit dem Internet verbunden ist. Wenn Sie beispielsweise erfahren möchten, auf welche Runtimeversionen Sie von Version 5.7.198.9494 aktualisieren können, verwenden Sie den folgenden Befehl:

Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion "5.7.198.9494"

Mit einer Liste von Versionen können Sie den Azure Service Fabric-Cluster anweisen, ein Upgrade auf eine neuere Runtime durchzuführen. Wenn beispielsweise Version 6.0.219.9494 für ein Upgrade verfügbar ist, verwenden Sie den folgenden Befehl zum Aktualisieren des Clusters.

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

Wichtig

Das Upgrade der Clusterruntime kann eine lange Zeit dauern. PowerShell ist blockiert, während das Upgrade ausgeführt wird. Sie können eine andere PowerShell-Sitzung verwenden, um den Status des Upgrades zu überprüfen.

Der Status des Upgrades kann mit PowerShell oder der Azure Service Fabric-Befehlszeilenschnittstelle (sfctl) überwacht werden.

Stellen Sie zunächst mit dem im ersten Teil des Tutorials erstellten TLS-/SSL-Zertifikat eine Verbindung mit dem Cluster her. Verwenden Sie das Cmdlet Connect-ServiceFabricCluster oder 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

Verwenden Sie als Nächstes Get-ServiceFabricClusterUpgrade oder sfctl cluster upgrade-status, um den Status anzuzeigen. Das Ergebnis ähnelt dem folgenden.

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

Nächste Schritte

In diesem Tutorial haben Sie Folgendes gelernt:

  • Abrufen der Version der Clusterruntime
  • Aktualisieren der Clusterruntime
  • Überwachen des Upgrades

Fahren Sie mit dem nächsten Tutorial fort: