Partilhar via


Gerir atualizações do cluster do Service Fabric

Um cluster do Azure Service Fabric é um recurso que você possui, mas é parcialmente gerenciado pela Microsoft. Veja como gerenciar quando e como a Microsoft atualiza seu cluster do Azure Service Fabric.

Para obter mais informações sobre conceitos e processos de atualização de cluster, consulte Atualizando e atualizando clusters do Azure Service Fabric.

Definir modo de atualização

Você pode definir seu cluster para receber atualizações automáticas do Service Fabric à medida que são lançadas pela Microsoft ou pode escolher manualmente em uma lista de versões atualmente suportadas definindo o modo de atualização para o cluster. Isso pode ser feito por meio do controle de modo de atualização de malha no portal do Azure ou da upgradeMode configuração em seu modelo de implantação de cluster.

Portal do Azure

Usando o portal do Azure, você escolherá entre atualizações automáticas ou manuais ao criar um novo cluster do Service Fabric.

Escolha entre atualizações automáticas ou manuais ao criar um novo cluster no portal do Azure a partir das opções 'Avançadas'

Você também pode alternar entre atualizações automáticas ou manuais na seção Atualizações de malha de um recurso de cluster existente.

Selecione Atualizações automáticas ou manuais na seção 'Atualizações de malha' do seu recurso de cluster no portal do Azure

Atualizações manuais com o portal do Azure

Quando você seleciona a opção de atualização manual, tudo o que é necessário para iniciar uma atualização é selecionar na lista suspensa de versões disponíveis e, em seguida , Salvar. A partir daí, a atualização do cluster é iniciada imediatamente.

As diretivas de integridade do cluster (uma combinação da integridade do nó e da integridade de todos os aplicativos em execução no cluster) são respeitadas durante a atualização. Se as políticas de integridade do cluster não forem atendidas, a atualização será revertida.

Depois de corrigir os problemas que resultaram na reversão, você precisará iniciar a atualização novamente, seguindo as mesmas etapas de antes.

Modelo do Resource Manager

Para alterar o modo de atualização de cluster usando um modelo do Gerenciador de Recursos, especifique Automático ou Manual para a upgradeMode propriedade da definição de recurso Microsoft.ServiceFabric/clusters . Se você escolher atualizações manuais, defina também a clusterCodeVersion para uma versão de malha atualmente suportada.

A captura de tela mostra um modelo, que é texto sem formatação recuado para refletir a estrutura. As propriedades 'clusterCodeVersion' e 'upgradeMode' são realçadas.

Após a implantação bem-sucedida do modelo, as alterações no modo de atualização do cluster serão aplicadas. Se o cluster estiver no modo manual, a atualização do cluster será iniciada automaticamente.

As diretivas de integridade do cluster (uma combinação da integridade do nó e da integridade de todos os aplicativos em execução no cluster) são respeitadas durante a atualização. Se as políticas de integridade do cluster não forem atendidas, a atualização será revertida.

Depois de corrigir os problemas que resultaram na reversão, você precisará iniciar a atualização novamente, seguindo as mesmas etapas de antes.

Implantação do Wave para atualizações automáticas

Com o modo de atualização automática, você tem a opção de habilitar seu cluster para implantação de ondas. Com a implantação de onda, você pode criar um pipeline para atualizar seus clusters de teste, estágio e produção em sequência, separados por "tempo de preparação" interno para validar as próximas versões do Service Fabric antes que os clusters de produção sejam atualizados.

Habilitar a implantação de onda

Nota

A implantação do Wave requer a versão da 2020-12-01-preview API (ou posterior) para seu recurso Microsoft.ServiceFabric/clusters .

Para habilitar a implantação de onda para atualização automática, primeiro determine qual onda atribuir ao cluster:

  • Onda 0 (Wave0): Os clusters são atualizados assim que uma nova compilação do Service Fabric é lançada. Destinado a clusters de teste/desenvolvimento.
  • Onda 1 (Wave1): Os clusters são atualizados uma semana (sete dias) após o lançamento de uma nova compilação. Destina-se a clusters de pré-produção/preparação.
  • Onda 2 (Wave2): Os clusters são atualizados duas semanas (14 dias) após o lançamento de uma nova compilação. Destinado a clusters de produção.

Em seguida, basta adicionar uma upgradeWave propriedade ao seu modelo de recurso de cluster com um dos valores de onda listados acima. Verifique se a versão da API do recurso de cluster é 2020-12-01-preview ou posterior.

{
    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "fabricSettings": [...],
        "managementEndpoint": ...,
        "nodeTypes": [...],
        "provisioningState": ...,
        "reliabilityLevel": ...,
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
       ...

Depois de implantar o modelo atualizado, seu cluster será inscrito na onda especificada para o próximo período de atualização e depois disso.

Você pode se registrar para receber notificações por e-mail com links para ajudar ainda mais se uma atualização de cluster falhar.

Registar-se para receber notificações

Você pode se registrar para receber notificações quando uma atualização de cluster falhar. Será enviado um e-mail para o(s) seu(s) endereço(s) de e-mail designado(s) com mais detalhes sobre a falha na atualização e links para mais ajuda.

Nota

O registro na implantação de onda não é necessário para receber notificações de falhas de atualização.

Para se inscrever em notificações, adicione uma notifications seção ao seu modelo de recurso de cluster e designe um ou mais endereços de e-mail (destinatários) para receber notificações:

    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
        "notifications": [
        {
            "isEnabled": true,
            "notificationCategory": "WaveProgress",
            "notificationLevel": "Critical",
            "notificationTargets": [
            {
                "notificationChannel": "EmailUser",
                "receivers": [
                    "devops@contoso.com"
                ]
            }]
        }]

Depois de implantar seu modelo atualizado, você será inscrito para notificações de falha de atualização.

Políticas personalizadas para atualizações manuais

Você pode especificar políticas de integridade personalizadas para atualizações manuais de cluster. Essas políticas são aplicadas sempre que você seleciona uma nova versão de tempo de execução, o que aciona o sistema para iniciar a atualização do cluster. Se você não substituir as políticas, os padrões serão usados.

Você pode especificar as políticas de integridade personalizadas ou revisar as configurações atuais na seção Atualizações de malha do seu recurso de cluster no portal do Azure selecionando Opção personalizada para Política de atualização.

Selecione a opção de política de atualização 'Personalizada' na seção 'Atualizações de malha' do seu recurso de cluster no portal do Azure para definir políticas de integridade personalizadas durante a atualização

Verificar se há versões de cluster suportadas

Você pode consultar versões do Service Fabric para obter mais detalhes sobre versões e sistemas operacionais suportados.

Você também pode usar a API REST do Azure para listar todas as versões de tempo de execução do Service Fabric disponíveis (clusterVersions) disponíveis para o local especificado e sua assinatura.

GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/clusterVersions?api-version=2018-02-01

"value": [
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/5.0.1427.9490",
    "name": "5.0.1427.9490",
    "type": "Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.0.1427.9490",
      "supportExpiryUtc": "2016-11-26T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.0.1427.9490",
    "name": "5.1.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.1.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.4.1427.9490",
    "name": "4.4.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "4.4.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Linux"
    }
  }
]
}

O supportExpiryUtc nos relatórios de saída quando uma determinada versão está expirando ou expirou. As últimas versões não terão uma data válida, mas sim um valor de 9999-12-31T23:59:59.9999999, o que significa apenas que a data de expiração ainda não está definida.

Verifique o caminho de atualização suportado

Você pode consultar a documentação de versões do Service Fabric para obter caminhos de atualização suportados e informações sobre versões relacionadas.

Usando informações de versão de destino com suporte, você pode usar as seguintes etapas do PowerShell para validar o caminho de atualização suportado.

  1. Iniciar sessão no Azure

    Login-AzAccount
    
  2. Selecionar a subscrição

    Set-AzContext -SubscriptionId <your-subscription>
    
  3. Invoque a API

    $params = @{ "TargetVersion" = "<target version>"}
    Invoke-AzResourceAction -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Force
    

    Exemplo:

    $params = @{ "TargetVersion" = "8.1.335.9590"}
    Invoke-AzResourceAction -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster -Parameters $params -Action listUpgradableVersions -Force
    
    Output
    supportedPath
    -------------
    {8.1.329.9590, 8.1.335.9590}
    

Próximos passos