Tutorial: Atualizar o runtime de um cluster do Service Fabric no Azure
Este tutorial é a parte quatro de uma série e mostra como fazer upgrade do runtime do Service Fabric ou de um cluster do Azure Service Fabric. Esta parte do tutorial foi escrita para clusters do Service Fabric em execução no Azure e não se aplica a clusters autônomos do Service Fabric.
Aviso
Esta parte do tutorial requer o PowerShell. As ferramentas da CLI do Azure ainda não dão suporte ao upgrade do runtime do cluster. Como alternativa, pode ser feito o upgrade de um cluster no portal. Para saber mais, veja Upgrade de um cluster do Azure Service Fabric.
Se o cluster já estiver executando o runtime mais recente do Service Fabric, você não precisará executar esta etapa. No entanto, este artigo pode ser usado para instalar qualquer runtime com suporte em um cluster do Azure Service Fabric.
Neste tutorial, você aprenderá como:
- Ler a versão do cluster
- Definir a versão de cluster
Nesta série de tutoriais, você aprenderá a:
- Criar um cluster do Windows seguro no Azure usando um modelo
- Monitorar um cluster
- Reduzir ou escalar um cluster horizontalmente
- Atualizar o runtime de um cluster
- Excluir um cluster
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Pré-requisitos
Antes de começar este tutorial:
- Se você não tem uma assinatura do Azure, crie uma conta gratuita
- Instale o Azure PowerShell ou a CLI do Azure.
- Criar um cluster do Windows seguro no Azure
- Configurar um ambiente de desenvolvimento do Windows. Instale o Visual Studio 2019 e as cargas de trabalho Desenvolvimento do Azure, Desenvolvimento para a Web e ASP.NET e Desenvolvimento multiplataforma do .NET Core. Em seguida, configure um ambiente de desenvolvimento .NET.
Entrar no Azure
Entre na sua conta do Azure e selecione sua assinatura antes de executar comandos do Azure.
Connect-AzAccount
Get-AzSubscription
Set-AzContext -SubscriptionId <guid>
Obter a versão de runtime
Depois de se conectar ao Azure e selecionar a assinatura que contém o cluster do Service Fabric, você poderá obter a versão de runtime do cluster.
Get-AzServiceFabricCluster -ResourceGroupName SFCLUSTERTUTORIALGROUP -Name aztestcluster `
| Select-Object ClusterCodeVersion
Ou apenas obtenha uma lista de todos os clusters em sua assinatura com o seguinte exemplo:
Get-AzServiceFabricCluster | Select-Object Name, ClusterCodeVersion
Anote o valor de ClusterCodeVersion. Esse valor será usado na próxima seção.
Fazer upgrade do runtime
Use o valor de ClusterCodeVersion da seção anterior com o cmdlet Get-ServiceFabricRuntimeUpgradeVersion
para descobrir para quais versões há upgrades disponíveis. Esse cmdlet só pode ser executado em um computador conectado à internet. Por exemplo, se quiser ver para quais versões de runtime você pode fazer upgrade da versão 5.7.198.9494
, use o seguinte comando:
Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion "5.7.198.9494"
Com uma lista de versões, você poderá fazer upgrade do cluster do Azure Service Fabric para um runtime mais recente. Por exemplo, se versão 6.0.219.9494
estiver disponível, use o seguinte comando para fazer upgrade do seu cluster.
Set-AzServiceFabricUpgradeType -ResourceGroupName SFCLUSTERTUTORIALGROUP `
-Name aztestcluster `
-UpgradeMode Manual `
-Version "6.0.219.9494"
Importante
O upgrade do runtime do cluster pode demorar muito para ser concluído. O PowerShell fica bloqueado durante a execução do upgrade. Você pode usar outra sessão do PowerShell para verificar o status do upgrade.
O status do upgrade pode ser monitorado com o PowerShell ou a CLI do Azure Service Fabric (sfctl).
Primeiro, conecte-se ao cluster com o certificado TLS/SSL criado na primeira parte do tutorial. Use o cmdlet 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
Em seguida, use Get-ServiceFabricClusterUpgrade
ou sfctl cluster upgrade-status
para exibir o status. Algo semelhante ao resultado a seguir é mostrado.
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"
}
Próximas etapas
Neste tutorial, você aprendeu a:
- Obter a versão do runtime do cluster
- Fazer upgrade do runtime do cluster
- Monitorar o upgrade
Prosseguir para o próximo tutorial: