Compartir a través de


Tutorial: Actualización del runtime de un clúster de Service Fabric en Azure

Este tutorial es la cuarta parte de una serie, y muestra cómo actualizar el runtime de Service Fabric en un clúster de Azure Service Fabric. Esta parte del tutorial se escribe para los clústeres de Service Fabric que se ejecutan en Azure y no se aplica a los clústeres de Service Fabric independientes.

Advertencia

Esta parte del tutorial requiere PowerShell. La actualización del runtime del clúster no se admite todavía con las herramientas de la CLI de Azure. Como alternativa, un clúster se puede actualizar en el portal. Para obtener más información, consulte Actualización de un clúster de Azure Service Fabric.

Si el clúster ya está ejecutando el runtime más reciente de Service Fabric, no es necesario realizar este paso. Sin embargo, este artículo puede usarse para instalar cualquier runtime compatible en un clúster de Azure Service Fabric.

En este tutorial, aprenderá a:

  • Leer la versión del clúster
  • Establecer la versión del clúster

En esta serie de tutoriales, se aprende a:

Nota

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Prerrequisitos

Antes de empezar este tutorial:

Inicio de sesión en Azure

Inicie sesión en su cuenta de Azure y seleccione su suscripción antes de ejecutar comandos de Azure.

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

Obtención de la versión del runtime

Después de haberse conectado a Azure y seleccionado la suscripción que contiene el clúster de Service Fabric, puede obtener la versión del runtime del clúster.

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

O bien, puede obtener simplemente una lista de todos los clústeres de su suscripción con el ejemplo siguiente:

Get-AzServiceFabricCluster | Select-Object Name, ClusterCodeVersion

Anote el valor de ClusterCodeVersion. Este valor se usará en la sección siguiente.

Actualización del runtime

Utilice el valor de ClusterCodeVersion de la sección anterior con el cmdlet Get-ServiceFabricRuntimeUpgradeVersion para conocer a qué versiones es posible actualizar. Solo se puede ejecutar este cmdlet desde un equipo conectado a Internet. Por ejemplo, si deseara ver a qué versiones de runtime puede actualizar desde la versión 5.7.198.9494, usaría el siguiente comando:

Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion "5.7.198.9494"

Con una lista de versiones, puede indicar al clúster de Azure Service Fabric que se actualice a un runtime más reciente. Por ejemplo, si está disponible la versión 6.0.219.9494 como actualización, utilice el siguiente comando para actualizar el clúster.

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

Importante

La actualización del runtime del clúster puede tardar mucho tiempo en completarse. PowerShell se bloquea mientras se ejecuta la actualización. Puede usar otra sesión de PowerShell para comprobar el estado de la actualización.

El estado de la actualización se puede supervisar con PowerShell o la CLI de Azure Service Fabric (sfctl).

En primer lugar, conéctese al clúster con el certificado TLS/SSL que se creó en la primera parte del tutorial. Utilice el cmdlet Connect-ServiceFabricCluster o 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

A continuación, use Get-ServiceFabricClusterUpgrade o sfctl cluster upgrade-status para mostrar el estado. Se mostrará algo similar al resultado siguiente.

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

Pasos siguientes

En este tutorial, ha aprendido a:

  • Obtener la versión del runtime del clúster
  • Actualizar el runtime del clúster
  • Supervisar la actualización

Avance hasta el siguiente tutorial: