Atualizar a versão do Service Fabric que é executada no cluster

Para qualquer sistema moderno, a capacidade de atualizar é fundamental para o sucesso a longo prazo do seu produto. Um cluster do Azure Service Fabric é um recurso que possui. Este artigo descreve como atualizar a versão do Service Fabric em execução no cluster autónomo.

Nota

Certifique-se de que o cluster executa sempre uma versão suportada do Service Fabric. Quando a Microsoft anuncia o lançamento de uma nova versão do Service Fabric, a versão anterior é marcada para fim do suporte após um mínimo de 60 dias a partir da data do anúncio. As novas versões são anunciadas no blogue da equipa do Service Fabric. A nova versão está disponível para escolher nessa altura.

Só pode atualizar o cluster para a nova versão se estiver a utilizar uma configuração de nó de estilo de produção, onde cada nó do Service Fabric é alocado numa máquina física ou virtual separada. Se tiver um cluster de desenvolvimento, em que mais do que um nó do Service Fabric está numa única máquina física ou virtual, tem de recriar o cluster com a nova versão.

Dois fluxos de trabalho distintos podem atualizar o cluster para a versão mais recente ou para uma versão suportada do Service Fabric. Um fluxo de trabalho destina-se a clusters com conectividade para transferir automaticamente a versão mais recente. O outro fluxo de trabalho destina-se a clusters que não têm conectividade para transferir a versão mais recente do Service Fabric.

Ativar a atualização automática da versão do Service Fabric do cluster

Para definir o cluster para transferir atualizações do Service Fabric quando a Microsoft lançar uma nova versão, defina a configuração do fabricClusterAutoupgradeEnabled cluster como verdadeira. Para selecionar manualmente uma versão suportada do Service Fabric em que pretende que o cluster esteja ativado, defina a configuração do fabricClusterAutoupgradeEnabled cluster como falsa.

Atualizar clusters com conectividade para transferir o código e a configuração mais recentes

Utilize estes passos para atualizar o cluster para uma versão suportada se os nós de cluster tiverem conectividade à Internet com o Centro de Transferências da Microsoft.

Para clusters com conectividade ao Centro de Transferências da Microsoft, a Microsoft verifica periodicamente a disponibilidade de novas versões do Service Fabric.

Quando está disponível uma nova versão do Service Fabric, o pacote é transferido localmente para o cluster e aprovisionado para atualização. Além disso, para informar o cliente desta nova versão, o sistema mostra um aviso de estado de funcionamento do cluster explícito semelhante ao seguinte:

"A versão atual do cluster [versão #] de suporte termina [data]."

Depois de o cluster estar a executar a versão mais recente, o aviso desaparece.

Quando vir o aviso de estado de funcionamento do cluster, atualize o cluster:

  1. Ligue-se ao cluster a partir de qualquer computador que tenha acesso de administrador a todos os computadores listados como nós no cluster. O computador no qual este script é executado não tem de fazer parte do cluster.

    ###### connect to the secure cluster using certs
    $ClusterName= "mysecurecluster.something.com:19000"
    $CertThumbprint= "70EF5E22ADB649799DA3C8B6A6BF7FG2D630F8F3"
    Connect-serviceFabricCluster -ConnectionEndpoint $ClusterName -KeepAliveIntervalInSec 10 `
        -X509Credential `
        -ServerCertThumbprint $CertThumbprint  `
        -FindType FindByThumbprint `
        -FindValue $CertThumbprint `
        -StoreLocation CurrentUser `
        -StoreName My
    
  2. Obtenha a lista de versões do Service Fabric para as quais pode atualizar.

    ###### Get the list of available Service Fabric versions
    Get-ServiceFabricRegisteredClusterCodeVersion
    

    Deverá obter um resultado semelhante ao seguinte:

    Obter versões do Service Fabric

  3. Inicie uma atualização do cluster para uma versão disponível com o comando Start-ServiceFabricClusterUpgrade Windows PowerShell.

    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion <codeversion#> -Monitored -FailureAction Rollback
    
    ###### Here is a filled-out example
    
    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion 5.3.301.9590 -Monitored -FailureAction Rollback
    

    Para monitorizar o progresso da atualização, pode utilizar Service Fabric Explorer ou executar o seguinte comando do PowerShell:

    Get-ServiceFabricClusterUpgrade
    

    Se as políticas de estado de funcionamento do cluster não forem cumpridas, a atualização será revertida. Para especificar políticas de estado de funcionamento personalizadas para o comando Start-ServiceFabricClusterUpgrade, veja a documentação de Start-ServiceFabricClusterUpgrade.

    Depois de corrigir os problemas que resultaram na reversão, inicie novamente a atualização ao seguir os mesmos passos descritos anteriormente.

Atualizar clusters sem conectividade para transferir o código e a configuração mais recentes

Utilize estes passos para atualizar o cluster para uma versão suportada se os nós de cluster não tiverem conectividade à Internet com o Centro de Transferências da Microsoft.

Nota

Se estiver a executar um cluster que não esteja ligado à Internet, tem de monitorizar o blogue da equipa do Service Fabric para saber mais sobre as novas versões. O sistema não mostra um aviso de estado de funcionamento do cluster para alertá-lo sobre novas versões.

Aprovisionamento automático vs. aprovisionamento manual

Para ativar a transferência e o registo automáticos para a versão de código mais recente, configure o Service Fabric Update Service. Para obter instruções, consulte Tools\ServiceFabricUpdateService.zip\Readme_InstructionsAndHowTos.txt no pacote autónomo.

Para o processo manual, siga estas instruções.

Modifique a configuração do cluster para definir a seguinte propriedade como falsa antes de iniciar uma atualização de configuração:

"fabricClusterAutoupgradeEnabled": false,

Para obter detalhes de utilização, veja o comando Start-ServiceFabricClusterConfigurationUpgrade PowerShell. Certifique-se de que atualiza "clusterConfigurationVersion" no JSON antes de iniciar a atualização de configuração.

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>

Fluxo de trabalho de atualização do cluster

  1. Execute Get-ServiceFabricClusterUpgrade a partir de um dos nós no cluster e anote TargetCodeVersion.

  2. Execute o seguinte a partir de um computador ligado à Internet para listar todas as versões compatíveis com a atualização com a versão atual e transferir o pacote correspondente a partir das ligações de transferência associadas:

    ###### Get list of all upgrade compatible packages  
    Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion <TargetCodeVersion as noted in Step 1> 
    
  3. Ligue-se ao cluster a partir de qualquer computador que tenha acesso de administrador a todos os computadores listados como nós no cluster. O computador no qual este script é executado não tem de fazer parte do cluster.

    ###### Get the list of available Service Fabric versions
    Copy-ServiceFabricClusterPackage -Code -CodePackagePath <name of the .cab file including the path to it> -ImageStoreConnectionString "fabric:ImageStore"
    
    ###### Here is a filled-out example
    Copy-ServiceFabricClusterPackage -Code -CodePackagePath .\MicrosoftAzureServiceFabric.5.3.301.9590.cab -ImageStoreConnectionString "fabric:ImageStore"
    
  4. Copie o pacote transferido para o arquivo de imagens do cluster.

  5. Registe o pacote copiado.

    ###### Get the list of available Service Fabric versions
    Register-ServiceFabricClusterPackage -Code -CodePackagePath <name of the .cab file>
    
    ###### Here is a filled-out example
    Register-ServiceFabricClusterPackage -Code -CodePackagePath MicrosoftAzureServiceFabric.5.3.301.9590.cab
    
  6. Inicie uma atualização do cluster para uma versão disponível.

    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion <codeversion#> -Monitored -FailureAction Rollback
    
    ###### Here is a filled-out example
    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion 5.3.301.9590 -Monitored -FailureAction Rollback
    

    Pode monitorizar o progresso da atualização no Service Fabric Explorer ou executar o seguinte comando do PowerShell:

    Get-ServiceFabricClusterUpgrade
    

    Se as políticas de estado de funcionamento do cluster não forem cumpridas, a atualização será revertida. Para especificar políticas de estado de funcionamento personalizadas para o comando Start-ServiceFabricClusterUpgrade, veja a documentação de Start-ServiceFabricClusterUpgrade.

    Depois de corrigir os problemas que resultaram na reversão, inicie novamente a atualização ao seguir os mesmos passos descritos anteriormente.

Passos seguintes