Atualize a versão do Service Fabric que corre no seu cluster

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

Nota

Certifique-se de que o seu cluster corre 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 o fim do suporte após um mínimo de 60 dias a contar da data do anúncio. Novos lançamentos são anunciados no blogue da equipa Service Fabric. O novo lançamento está disponível para escolha nesse momento.

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

Dois fluxos de trabalho distintos podem atualizar o seu cluster para a versão mais recente ou para uma versão suportada do Service Fabric. Um dos fluxos de trabalho é para clusters que têm conectividade para descarregar automaticamente a versão mais recente. O outro fluxo de trabalho é para clusters que não têm conectividade para descarregar a versão mais recente do Service Fabric.

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

Para configurar o seu cluster para descarregar atualizações do Service Fabric quando a Microsoft lançar uma nova versão, defina a fabricClusterAutoupgradeEnabled configuração do cluster como true. Para selecionar manualmente uma versão suportada do Service Fabric em que queiras que o teu cluster esteja, define a fabricClusterAutoupgradeEnabled configuração do cluster para falso.

Atualize clusters que tenham conectividade para descarregar o código e a configuração mais recentes

Use estes passos para atualizar o seu cluster para uma versão suportada se os seus nós do cluster tiverem ligação à internet para o Microsoft Download Center.

Para clusters que têm ligação ao Microsoft Download Center, a Microsoft verifica periodicamente a disponibilidade de novas versões do Service Fabric.

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

"O suporte da versão atual do cluster [versão #] termina [data]."

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

Quando vir o aviso de saúde do cluster, atualize o cluster:

  1. Liga-te ao cluster a partir de qualquer máquina que tenha acesso de administrador a todas as máquinas listadas como nós no cluster. A máquina onde este script é executado não tem de fazer parte do cluster.

    ###### connect to the secure cluster using certs
    $ClusterName= "mysecurecluster.something.com:19000"
    $CertThumbprint= "AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00"
    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 fazer um upgrade.

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

    Deverias obter uma saída semelhante a esta:

    Obtenha versões do Service Fabric

  3. Inicie uma atualização de cluster para uma versão disponível utilizando o comando Start-ServiceFabricClusterUpgrade do 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 usar o Service Fabric Explorer ou executar o seguinte comando PowerShell:

    Get-ServiceFabricClusterUpgrade
    

    Se as políticas de saúde do cluster não forem cumpridas, a atualização é revertida. Para especificar políticas de saúde personalizadas para o comando Start-ServiceFabricClusterUpgrade, consulte a documentação do Start-ServiceFabricClusterUpgrade.

    Depois de corrigires os problemas que resultaram no rollback, inicia a atualização novamente seguindo os mesmos passos descritos anteriormente.

Atualize clusters que não têm conectividade para descarregar o código e configuração mais recentes

Use estes passos para atualizar o seu cluster para uma versão suportada caso os nós do cluster não tenham ligação à internet para o Microsoft Download Center.

Nota

Se estiver a gerir um cluster que não está ligado à internet, tem de monitorizar o blogue da equipa Service Fabric para saber sobre as novas novidades. O sistema não mostra um aviso de estado de saúde do cluster para o alertar sobre novos lançamentos.

Aprovisionamento automático vs. aprovisionamento manual

Para permitir o download automático e o registo para a versão mais recente do código, configure o Service Fabric Update Service. Para instruções, consulte Ferramentas\ServiceFabricUpdateService.zip\Readme_InstructionsAndHowTos.txt no pacote independente.

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

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

"fabricClusterAutoupgradeEnabled": false,

Para detalhes de utilização, consulte o comando PowerShell Start-ServiceFabricClusterConfigurationUpgrade . Certifica-te de atualizar 'clusterConfigurationVersion' no teu JSON antes de começares 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 do cluster e note o TargetCodeVersion.

  2. Execute o seguinte a partir de uma máquina ligada à internet para listar todas as versões compatíveis com upgrade com a versão atual e descarregue o pacote correspondente a partir dos links de download associados:

    ###### Get list of all upgrade compatible packages  
    Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion <TargetCodeVersion as noted in Step 1> 
    
  3. Liga-te ao cluster a partir de qualquer máquina que tenha acesso de administrador a todas as máquinas listadas como nós no cluster. A máquina onde 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 descarregado para o repositório 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 pode executar o seguinte comando PowerShell:

    Get-ServiceFabricClusterUpgrade
    

    Se as políticas de saúde do cluster não forem cumpridas, a atualização é revertida. Para especificar políticas de saúde personalizadas para o comando Start-ServiceFabricClusterUpgrade, consulte a documentação do Start-ServiceFabricClusterUpgrade.

    Depois de corrigires os problemas que resultaram no rollback, inicia a atualização novamente seguindo os mesmos passos descritos anteriormente.

Passos seguintes